{"version":3,"sources":["webpack:///./node_modules/quasar/src/components/icon/QIcon.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/quasar/src/components/item/QItemLabel.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/@quasar/extras/material-icons/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/quasar/src/plugins/Platform.js","webpack:///./node_modules/quasar/src/plugins/Screen.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/quasar/src/utils/cache.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinner.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/core-js/modules/es.weak-map.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/direct-vuex/dist/direct-vuex.esm.js","webpack:///./node_modules/core-js/modules/es.string.anchor.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/quasar/src/utils/debounce.js","webpack:///./node_modules/quasar/src/components/item/QList.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/quasar/lang/en-us.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/quasar/src/mixins/ripple.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/es.array.some.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/modules/es.regexp.flags.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/quasar/src/history.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/quasar/src/components/spinner/spinner-mixin.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/quasar/dist/quasar.ie.polyfills.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack:///./node_modules/core-js/internals/is-integer.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/modules/es.set.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/quasar/src/mixins/size.js","webpack:///./node_modules/quasar/src/components/item/QItem.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/quasar/src/directives/Ripple.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/quasar/src/body.js","webpack:///./node_modules/quasar/src/install.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/create-html.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/quasar/src/mixins/router-link.js","webpack:///./node_modules/quasar/src/mixins/listeners.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/core-js/modules/es.number.is-integer.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/quasar/icon-set/material-icons.js","webpack:///./node_modules/quasar/src/icon-set.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/es.string.link.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/quasar/src/mixins/align.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/quasar/src/components/btn/QBtn.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/es.array.every.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/collection-weak.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/string-html-forced.js","webpack:///./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/quasar/src/ssr-update.js","webpack:///./node_modules/quasar/src/vue-plugin.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/quasar/src/mixins/dark.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/quasar/src/utils/colors.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./node_modules/core-js/modules/es.string.fixed.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/quasar/src/mixins/btn.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.array.fill.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.string.bold.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/quasar/src/utils/key-composition.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/quasar/src/utils/event.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es.object.freeze.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/quasar/src/utils/slot.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/quasar/src/mixins/tag.js","webpack:///./node_modules/quasar/src/utils/throttle.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/quasar/src/lang.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/quasar/src/utils/dom.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/quasar/src/utils/format.js","webpack:///./node_modules/quasar/src/mixins/attrs.js","webpack:///./node_modules/quasar/src/components/ajax-bar/QAjaxBar.js","webpack:///./node_modules/quasar/src/components/avatar/QAvatar.js","webpack:///./node_modules/quasar/src/components/badge/QBadge.js","webpack:///./node_modules/quasar/src/components/banner/QBanner.js","webpack:///./node_modules/quasar/src/components/bar/QBar.js","webpack:///./node_modules/quasar/src/components/breadcrumbs/QBreadcrumbs.js","webpack:///./node_modules/quasar/src/components/breadcrumbs/QBreadcrumbsEl.js","webpack:///./node_modules/quasar/src/components/btn-group/QBtnGroup.js","webpack:///./node_modules/quasar/src/utils/selection.js","webpack:///./node_modules/quasar/src/mixins/anchor.js","webpack:///./node_modules/quasar/src/mixins/timeout.js","webpack:///./node_modules/quasar/src/mixins/model-toggle.js","webpack:///./node_modules/quasar/src/utils/focus-manager.js","webpack:///./node_modules/quasar/src/mixins/portal.js","webpack:///./node_modules/quasar/src/components/menu/ClickOutside.js","webpack:///./node_modules/quasar/src/mixins/transition.js","webpack:///./node_modules/quasar/src/utils/vm.js","webpack:///./node_modules/quasar/src/utils/scroll.js","webpack:///./node_modules/quasar/src/utils/position-engine.js","webpack:///./node_modules/quasar/src/utils/escape-key.js","webpack:///./node_modules/quasar/src/components/menu/QMenu.js","webpack:///./node_modules/quasar/src/components/btn-dropdown/QBtnDropdown.js","webpack:///./node_modules/quasar/src/mixins/form.js","webpack:///./node_modules/quasar/src/components/btn-toggle/QBtnToggle.js","webpack:///./node_modules/quasar/src/components/card/QCard.js","webpack:///./node_modules/quasar/src/components/card/QCardSection.js","webpack:///./node_modules/quasar/src/components/card/QCardActions.js","webpack:///./node_modules/quasar/src/utils/touch.js","webpack:///./node_modules/quasar/src/directives/TouchSwipe.js","webpack:///./node_modules/quasar/src/mixins/panel.js","webpack:///./node_modules/quasar/src/mixins/fullscreen.js","webpack:///./node_modules/quasar/src/utils/is.js","webpack:///./node_modules/quasar/src/components/carousel/QCarousel.js","webpack:///./node_modules/quasar/src/components/carousel/QCarouselSlide.js","webpack:///./node_modules/quasar/src/components/carousel/QCarouselControl.js","webpack:///./node_modules/quasar/src/components/chat/QChatMessage.js","webpack:///./node_modules/quasar/src/mixins/option-size.js","webpack:///./node_modules/quasar/src/mixins/refocus-target.js","webpack:///./node_modules/quasar/src/mixins/checkbox.js","webpack:///./node_modules/quasar/src/components/checkbox/QCheckbox.js","webpack:///./node_modules/quasar/src/components/chip/QChip.js","webpack:///./node_modules/quasar/src/components/circular-progress/QCircularProgress.js","webpack:///./node_modules/quasar/src/utils/patterns.js","webpack:///./node_modules/quasar/src/directives/TouchPan.js","webpack:///./node_modules/quasar/src/components/slider/slider-utils.js","webpack:///./node_modules/quasar/src/components/slider/QSlider.js","webpack:///./node_modules/quasar/src/mixins/can-render.js","webpack:///./node_modules/quasar/src/components/resize-observer/QResizeObserver.js","webpack:///./node_modules/quasar/src/components/tabs/QTabs.js","webpack:///./node_modules/quasar/src/components/tabs/QTab.js","webpack:///./node_modules/quasar/src/components/tab-panels/QTabPanels.js","webpack:///./node_modules/quasar/src/components/tab-panels/QTabPanel.js","webpack:///./node_modules/quasar/src/components/color/QColor.js","webpack:///./node_modules/quasar/src/utils/date-persian.js","webpack:///./node_modules/quasar/src/mixins/datetime.js","webpack:///./node_modules/quasar/src/utils/date.js","webpack:///./node_modules/quasar/src/mixins/prevent-scroll.js","webpack:///./node_modules/quasar/src/components/date/QDate.js","webpack:///./node_modules/quasar/src/mixins/history.js","webpack:///./node_modules/quasar/src/components/dialog/QDialog.js","webpack:///./node_modules/quasar/src/components/drawer/QDrawer.js","webpack:///./node_modules/quasar/src/components/tooltip/QTooltip.js","webpack:///./node_modules/quasar/src/components/item/QItemSection.js","webpack:///./node_modules/quasar/src/components/editor/editor-utils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/quasar/src/components/editor/editor-caret.js","webpack:///./node_modules/quasar/src/utils/extend.js","webpack:///./node_modules/quasar/src/utils/uid.js","webpack:///./node_modules/quasar/src/components/editor/QEditor.js","webpack:///./node_modules/quasar/src/components/slide-transition/QSlideTransition.js","webpack:///./node_modules/quasar/src/components/separator/QSeparator.js","webpack:///./node_modules/quasar/src/components/expansion-item/QExpansionItem.js","webpack:///./node_modules/quasar/src/mixins/fab.js","webpack:///./node_modules/quasar/src/components/fab/QFab.js","webpack:///./node_modules/quasar/src/components/fab/QFabAction.js","webpack:///./node_modules/quasar/src/mixins/validate.js","webpack:///./node_modules/quasar/src/components/field/QField.js","webpack:///./node_modules/quasar/src/mixins/file.js","webpack:///./node_modules/quasar/src/components/file/QFile.js","webpack:///./node_modules/quasar/src/components/footer/QFooter.js","webpack:///./node_modules/quasar/src/components/form/QForm.js","webpack:///./node_modules/quasar/src/components/header/QHeader.js","webpack:///./node_modules/quasar/src/mixins/ratio.js","webpack:///./node_modules/quasar/src/components/img/QImg.js","webpack:///./node_modules/quasar/src/components/infinite-scroll/QInfiniteScroll.js","webpack:///./node_modules/quasar/src/components/inner-loading/QInnerLoading.js","webpack:///./node_modules/quasar/src/mixins/mask.js","webpack:///./node_modules/quasar/src/mixins/composition.js","webpack:///./node_modules/quasar/src/components/input/QInput.js","webpack:///./node_modules/quasar/src/directives/Intersection.js","webpack:///./node_modules/quasar/src/components/intersection/QIntersection.js","webpack:///./node_modules/quasar/src/components/knob/QKnob.js","webpack:///./node_modules/quasar/src/components/scroll-observer/QScrollObserver.js","webpack:///./node_modules/quasar/src/components/layout/QLayout.js","webpack:///./node_modules/quasar/src/components/markup-table/QMarkupTable.js","webpack:///./node_modules/quasar/src/components/no-ssr/QNoSsr.js","webpack:///./node_modules/quasar/src/components/radio/QRadio.js","webpack:///./node_modules/quasar/src/components/toggle/QToggle.js","webpack:///./node_modules/quasar/src/components/option-group/QOptionGroup.js","webpack:///./node_modules/quasar/src/components/page/QPage.js","webpack:///./node_modules/quasar/src/components/page/QPageContainer.js","webpack:///./node_modules/quasar/src/components/page-sticky/QPageSticky.js","webpack:///./node_modules/quasar/src/components/page-scroller/QPageScroller.js","webpack:///./node_modules/quasar/src/components/pagination/QPagination.js","webpack:///./node_modules/quasar/src/utils/frame-debounce.js","webpack:///./node_modules/quasar/src/components/parallax/QParallax.js","webpack:///./node_modules/quasar/src/utils/clone.js","webpack:///./node_modules/quasar/src/components/popup-edit/QPopupEdit.js","webpack:///./node_modules/quasar/src/components/popup-proxy/QPopupProxy.js","webpack:///./node_modules/quasar/src/components/linear-progress/QLinearProgress.js","webpack:///./node_modules/quasar/src/components/pull-to-refresh/QPullToRefresh.js","webpack:///./node_modules/quasar/src/components/range/QRange.js","webpack:///./node_modules/quasar/src/components/rating/QRating.js","webpack:///./node_modules/quasar/src/components/responsive/QResponsive.js","webpack:///./node_modules/quasar/src/components/scroll-area/QScrollArea.js","webpack:///./node_modules/quasar/src/mixins/virtual-scroll.js","webpack:///./node_modules/quasar/src/components/select/QSelect.js","webpack:///./node_modules/quasar/src/components/skeleton/QSkeleton.js","webpack:///./node_modules/quasar/src/components/slide-item/QSlideItem.js","webpack:///./node_modules/quasar/src/components/space/QSpace.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerAudio.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerBall.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerBars.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerBox.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerClock.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerComment.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerCube.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerDots.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerFacebook.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerGears.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerGrid.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerHearts.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerHourglass.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerInfinity.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerIos.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerOrbit.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerOval.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerPie.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerPuff.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerRadio.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerRings.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerTail.js","webpack:///./node_modules/quasar/src/components/splitter/QSplitter.js","webpack:///./node_modules/quasar/src/components/stepper/StepHeader.js","webpack:///./node_modules/quasar/src/components/stepper/QStep.js","webpack:///./node_modules/quasar/src/components/stepper/QStepper.js","webpack:///./node_modules/quasar/src/components/stepper/QStepperNavigation.js","webpack:///./node_modules/quasar/src/components/table/table-top.js","webpack:///./node_modules/quasar/src/components/table/QTh.js","webpack:///./node_modules/quasar/src/components/table/table-header.js","webpack:///./node_modules/quasar/src/components/table/table-body.js","webpack:///./node_modules/quasar/src/components/table/table-bottom.js","webpack:///./node_modules/quasar/src/components/table/table-grid.js","webpack:///./node_modules/quasar/src/components/table/get-table-middle.js","webpack:///./node_modules/quasar/src/components/virtual-scroll/QVirtualScroll.js","webpack:///./node_modules/quasar/src/utils/sort.js","webpack:///./node_modules/quasar/src/components/table/table-sort.js","webpack:///./node_modules/quasar/src/components/table/table-filter.js","webpack:///./node_modules/quasar/src/components/table/table-pagination.js","webpack:///./node_modules/quasar/src/components/table/table-row-selection.js","webpack:///./node_modules/quasar/src/components/table/table-row-expand.js","webpack:///./node_modules/quasar/src/components/table/table-column-selection.js","webpack:///./node_modules/quasar/src/components/table/QTable.js","webpack:///./node_modules/quasar/src/components/table/QTr.js","webpack:///./node_modules/quasar/src/components/table/QTd.js","webpack:///./node_modules/quasar/src/utils/router.js","webpack:///./node_modules/quasar/src/components/tabs/QRouteTab.js","webpack:///./node_modules/quasar/src/components/time/QTime.js","webpack:///./node_modules/quasar/src/components/timeline/QTimeline.js","webpack:///./node_modules/quasar/src/components/timeline/QTimelineEntry.js","webpack:///./node_modules/quasar/src/components/toolbar/QToolbar.js","webpack:///./node_modules/quasar/src/components/toolbar/QToolbarTitle.js","webpack:///./node_modules/quasar/src/components/tree/QTree.js","webpack:///./node_modules/quasar/src/components/uploader/QUploaderBase.js","webpack:///./node_modules/quasar/src/components/uploader/uploader-xhr-mixin.js","webpack:///./node_modules/quasar/src/components/uploader/QUploader.js","webpack:///./node_modules/quasar/src/components/uploader/QUploaderAddTrigger.js","webpack:///./node_modules/quasar/src/components/video/QVideo.js","webpack:///./node_modules/quasar/src/directives/ClosePopup.js","webpack:///./node_modules/quasar/src/directives/GoBack.js","webpack:///./node_modules/quasar/src/utils/morph.js","webpack:///./node_modules/quasar/src/directives/Morph.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/quasar/src/directives/Mutation.js","webpack:///./node_modules/quasar/src/directives/ScrollFire.js","webpack:///./node_modules/quasar/src/directives/Scroll.js","webpack:///./node_modules/quasar/src/directives/TouchHold.js","webpack:///./node_modules/quasar/src/directives/TouchRepeat.js","webpack:///./node_modules/quasar/src/plugins/AddressbarColor.js","webpack:///./node_modules/quasar/src/plugins/AppFullscreen.js","webpack:///./node_modules/quasar/src/utils/global-dialog.js","webpack:///./node_modules/quasar/src/plugins/AppVisibility.js","webpack:///./node_modules/quasar/src/components/dialog-bottom-sheet/BottomSheet.js","webpack:///./node_modules/quasar/src/plugins/BottomSheet.js","webpack:///./node_modules/quasar/src/plugins/Cookies.js","webpack:///./node_modules/quasar/src/plugins/Loading.js","webpack:///./node_modules/quasar/src/components/dialog-plugin/DialogPlugin.js","webpack:///./node_modules/quasar/src/plugins/Dialog.js","webpack:///./node_modules/quasar/src/plugins/LoadingBar.js","webpack:///./node_modules/quasar/src/plugins/Meta.js","webpack:///./node_modules/quasar/src/plugins/Notify.js","webpack:///./node_modules/quasar/src/utils/web-storage.js","webpack:///./node_modules/quasar/src/plugins/LocalStorage.js","webpack:///./node_modules/quasar/src/plugins/SessionStorage.js","webpack:///./node_modules/quasar/src/index.esm.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/quasar/src/plugins/Dark.js"],"names":["defaultViewBox","sameFn","i","ionFn","libMap","matMap","o_","r_","s_","libRE","RegExp","Object","keys","join","matRE","mRE","imgRE","svgUseRE","ionRE","faLaRE","Vue","extend","name","mixins","ListenersMixin","SizeMixin","TagMixin","props","tag","type","String","default","color","left","Boolean","right","computed","classes","this","cls","icon","none","$q","iconMapFn","res","content","test","split","def","viewBox","svg","nodes","map","path","d","style","transform","$createElement","attrs","img","src","substring","svguse","matches","match","platform","is","ios","substr","render","h","data","class","sizeStyle","on","qListeners","role","slot","mergeSlot","focusable","wellKnownSymbol","TO_STRING_TAG","module","exports","overline","caption","header","lines","Number","parseInt","overflow","display","staticClass","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","$","flattenIntoArray","toObject","toLength","toInteger","arraySpeciesCreate","target","proto","flat","depthArg","O","sourceLen","A","toIndexedObject","nativeGetOwnPropertyNames","f","toString","windowNames","window","getOwnPropertyNames","getWindowNames","it","error","slice","matArrowDownward","matArrowDropDown","matArrowForward","matCancel","matChevronLeft","matChevronRight","matDone","matGetApp","matPrint","matRefresh","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","prototype","constructor","Array","from","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","iosCorrection","isSSR","fromSSR","onSSR","getMatch","userAgent","platformMatch","exec","indexOf","browser","version","versionNumber","getPlatformMatch","hasTouch","navigator","maxTouchPoints","applyIosCorrection","mac","desktop","Math","min","innerHeight","innerWidth","assign","mobile","getPlatform","UA","toLowerCase","matched","knownMobiles","android","bb","blackberry","ipad","iphone","ipod","kindle","playbook","silk","edga","edgios","edge","crios","chrome","fxios","firefox","winphone","opr","safari","vivaldi","webkit","rv","iemobile","ie","opera","electron","document","location","href","bex","Capacitor","capacitor","nativeMobile","nativeMobileWrapper","_cordovaNative","cordova","querySelector","vendor","ssrClient","touch","webStorage","within","iframe","client","localStorage","e","self","top","Platform","install","queues","server","push","q","ctx","parseSSR","ssr","takeover","util","defineReactive","req","headers","SIZE_LIST","passive","listenOpts","width","height","sizes","sm","md","lg","xl","lt","gt","xs","setSizes","noop","setDebounce","cfg","updateEvt","visualViewport","scrollingElement","documentElement","getSize","max","clientWidth","clientHeight","scale","screen","bodyClasses","update","force","w","s","body","classList","remove","add","updateSizes","updateDebounce","forEach","deb","start","getComputedStyle","getPropertyValue","delay","removeEventListener","debounce","addEventListener","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","defaults","interceptors","request","response","config","url","method","chain","promise","Promise","resolve","interceptor","unshift","fulfilled","rejected","then","shift","getUri","params","paramsSerializer","replace","merge","number","RangeError","cache","vm","key","obj","k","cacheWithFn","getPropCacheMixin","propName","proxyPropName","source","prop","watch","newObj","oldObj","$delete","$set","fails","createElement","defineProperty","get","IS_PURE","ITERATOR","URL","searchParams","result","pathname","value","toJSON","sort","URLSearchParams","username","host","hash","mixin","thickness","cSize","callback","arr","InternalWeakMap","global","redefineAll","InternalMetadataModule","collection","collectionWeak","isObject","enforceIternalState","enforce","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","isExtensible","wrapper","init","$WeakMap","getConstructor","REQUIRED","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","set","state","frozen","requireObjectCoercible","repeat","count","str","Infinity","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","callRegExpExec","regexpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","index","splitter","regexp","done","rx","S","C","unicodeMatching","p","z","$reduce","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","1","forced","reduce","callbackfn","toAbsoluteIndex","copyWithin","len","to","end","inc","classof","R","TypeError","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","begin","beginIndex","buffer","byteOffset","BYTES_PER_ELEMENT","$forEach","toPositiveInteger","BYTES","offset","createDirectStore","options","original","Store","store","getters","toDirectGetters","commit","toDirectCommit","dispatch","toDirectDispatch","direct","rootGetterContext","getModuleGetterContext","moduleGetterContext","args","moduleOptions","rootActionContext","originalContext","getModuleActionContext","moduleActionContext","defineModule","defineModules","modules","defineGetters","defineMutations","mutations","defineActions","actions","obsolete","oldName","newName","console","warn","gettersCache","WeakMap","originalGetters","gettersFromOptions","hierarchy","createDirectGetters","moduleName","namespaced","gettersImpl","prefix","defineProperties","commitCache","originalCommit","commitFromOptions","rootCommitCache","toDirectRootCommit","rootOptions","origCall","mutation","payload","root","originalCommitCall","createDirectMutations","mutationsImpl","dispatchCache","originalDispatch","dispatchFromOptions","rootDispatchCache","toDirectRootDispatch","originalDispatchCall","createDirectActions","actionsImpl","getterContextCache","rootState","rootGetters","context","actionContextCache","createHTML","forcedStringHTMLMethod","anchor","Constructor","getBuiltIn","timeout","wait","immediate","debounced","later","clearTimeout","setTimeout","cancel","DarkMixin","bordered","dense","padding","isDark","SAFE_CLOSING","called","iteratorWithReturn","next","SKIP_CLOSING","ITERATION_SUPPORT","object","thisArg","V8_VERSION","SPECIES","METHOD_NAME","array","foo","isoName","nativeName","label","clear","ok","close","select","reset","create","search","filter","refresh","date","days","daysShort","months","monthsShort","firstDayOfWeek","format24h","pluralDay","table","noData","noResults","loading","selectedRecords","rows","recordsPerPage","allRows","pagination","total","columns","editor","bold","italic","strikethrough","underline","unorderedList","orderedList","subscript","superscript","hyperlink","toggleFullscreen","quote","center","justify","print","outdent","indent","removeFormat","formatting","fontSize","align","hr","undo","redo","heading1","heading2","heading3","heading4","heading5","heading6","paragraph","code","size1","size2","size3","size4","size5","size6","size7","defaultFont","viewSource","tree","noNodes","$sort","comparefn","isArrayIteratorMethod","bind","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","iterate","iterable","AS_ENTRIES","IS_ITERATOR","iterator","iterFn","step","boundFunction","stop","integer","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","internalObjectKeys","enumBugKeys","hiddenKeys","concat","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","JSON","stringify","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","sourceRoot","sourceMap","base64","unescape","encodeURIComponent","list","mediaQuery","dedupe","alreadyImportedModules","id","_i","notARegExp","correctIsRegExpLogic","includes","searchString","$reduceRight","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","unsafe","definePropertyModule","CONSTRUCTOR_NAME","configurable","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","_arrayWithoutHoles","isArray","_iterableToArray","iter","Symbol","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","aTypedArrayConstructor","$slice","Int8Array","emptyObject","freeze","isUndef","v","isDef","isTrue","isFalse","isPrimitive","_toString","isPlainObject","isValidArrayIndex","val","parseFloat","floor","isFinite","isPromise","catch","toNumber","isNaN","makeMap","expectsLowerCase","isReservedAttribute","splice","hasOwnProperty","hasOwn","cached","hit","camelizeRE","camelize","_","toUpperCase","capitalize","charAt","hyphenateRE","hyphenate","polyfillBind","boundFn","l","_length","nativeBind","Function","toArray","ret","_from","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","Date","getTime","keysA","keysB","looseIndexOf","once","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","charCodeAt","enumerable","writable","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","supportsPassive","opts","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","uid","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","pop","VNode","children","text","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","__proto__","observe","asRootData","_isVue","defineReactive$$1","customSetter","shallow","property","getter","setter","childOb","dependArray","newVal","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","methods","inject","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","getType","isSameType","expectedTypes","handleError","err","info","cur","$parent","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","counter","observer","textNode","createTextNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","event","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","altKey","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","last","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","scopedSlotFn","$scopedSlots","$slots","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","_c","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","$nextTick","_render","ref","ensureCtor","comp","base","__esModule","toStringTag","factory","errorComp","resolved","owner","owners","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","reject","reason","component","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","$emit","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","el","updateComponent","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","handlers","j","queue","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","expOrFn","isRenderWatcher","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","uid$3","initMixin","_init","_uid","initInternalComponent","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","delete","observable","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","innerHTML","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","nodeType","hasAttribute","removeAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","trim","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","mode","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","pos","getBoundingClientRect","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","offsetHeight","moved","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","dy","platformComponents","EOF","USE_NATIVE_URL","anInstance","arrayFrom","codeAt","toASCII","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","getInternalURLState","getterFor","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","second","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","defer","channel","html","IS_IOS","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","runner","listener","post","postMessage","port2","port1","onmessage","importScripts","versions","v8","enhanceError","message","Error","__CANCEL__","applyMixin","vuexInit","$store","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","prepend","subscribeAction","action","find","deepCopy","copy","forEachValue","partial","Module","rawModule","runtime","_children","_rawModule","rawState","addChild","getChild","hasChild","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","targetModule","newModule","getNamespace","rawChildModule","unregister","isRegistered","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","_vm","wrappedGetters","$$state","enableStrictMode","_withCommit","parentState","getNestedState","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rawGetter","_Vue","all","after","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","isValidMap","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","log","endMessage","formattedAction","groupCollapsed","group","groupEnd","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","times","num","encode","serializedParams","isDate","toISOString","hashmarkIndex","$lastIndexOf","searchElement","Iterators","objectKeys","Properties","_arrayWithHoles","_iterableToArrayLimit","_arr","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","isAxiosError","description","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","requestURL","parsed","isString","$findIndex","findIndex","predicate","toOffset","arrayLike","defineIterator","STRING_ITERATOR","getInternalState","iterated","point","Ripple","ripple","$map","mapfn","addToUnscopables","arch","execPath","title","pid","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","propertyIsEnumerable","UNSCOPABLES","ArrayPrototype","MATCH","$some","regExpExec","nativeMatch","matcher","fullUnicode","matchStr","createError","defaultConstructor","getOwnPropertySymbols","$trim","forcedStringTrimMethod","listToStyles","parentId","newStyles","media","hasDocument","DEBUG","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","ssrIdKey","isOldIE","addStylesClient","_isProduction","addStylesToDom","newList","mayRemove","domStyle","addStyle","createStyleElement","styleElement","styleIndex","applyToSingletonTag","applyToTag","replaceText","textStore","replacement","styleSheet","cssNode","ssrId","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","deepMerge","axiosKeys","otherKeys","inheritIfRequired","getFlags","stickyHelpers","setSpecies","NativeRegExp","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","createMethod","IS_INCLUDES","$this","fromIndex","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","createProperty","argumentsLength","mapping","iteratorMethod","collectionStrong","argument","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","nativeReplace","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","position","captures","namedCaptures","groups","replacerArgs","getSubstitution","tailPos","m","symbols","objectDefinePropertyModule","regExpFlags","_typeof","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getTrue","filterInvalidPath","normalizeExitPath","endsWith","getShouldExitFn","backButtonExit","exitPaths","__history","qConf","backButton","Plugins","App","condition","shouldExit","backHandler","app","exitApp","history","back","addListener","whitespaces","whitespace","ltrim","rtrim","TYPE","size","bitmap","objectOrFunction","t","isFunction","Element","CharacterData","DocumentType","MouseEvent","r","bubbles","cancelable","initMouseEvent","screenX","screenY","clientX","clientY","ctrlKey","shiftKey","metaKey","button","relatedTarget","Event","isInteger","msMatchesSelector","webkitMatchesSelector","closest","parentElement","SVGElement","contains","className","baseVal","toggle","vertxNext","customSchedulerFn","asap","flush","scheduleFlush","setScheduler","setAsap","browserWindow","browserGlobal","BrowserMutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","useNextTick","useVertxTimer","useSetTimeout","useMutationObserver","useMessageChannel","attemptVertx","require","runOnLoop","runOnContext","PROMISE_ID","makePromise","_state","invokeCallback","_result","resolve$1","random","PENDING","FULFILLED","REJECTED","TRY_CATCH_ERROR","selfFulfillment","cannotReturnOwn","getThen","tryThen","handleForeignThenable","fulfill","_label","handleOwnThenable","handleMaybeThenable","publishRejection","_onerror","publish","tryCatch","u","initializePromise","nextId","validationError","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","_settledAt","Promise$2","_willSettleAt","race","reject$1","needsResolver","needsNew","finally","polyfill","cast","_setScheduler","_setAsap","_asap","createTypedArrayConstructor","$join","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","labels","_defineProperty","arr2","reflectionIsSupported","defineMetadata","getOwnMetadataKeys","copyReflectionMetadata","forwardMetadata","propertyKey","metaKeys","metadata","getOwnMetadata","fakeArray","createDecorator","__decorators__","collectDataFromConstructor","Component","originalInit","_this","plainData","$internalHooks","componentFactory","decorators","superProto","getPrototypeOf","Extended","forwardStaticMembers","shouldIgnore","callee","caller","Original","extendedDescriptor","superDescriptor","registerHooks","reflectMetadataIsSupported","getMetadata","applyMetadata","Prop","Watch","_a","ArrayIterators","Uint8Array","arrayValues","arrayEntries","entries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","IndexedObject","nativeAssign","B","alphabet","chr","T","NATIVE_ARRAY_BUFFER","toIndex","IEEE754","setPrototypeOf","arrayFill","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","ObjectPrototype","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","view","isLittleEndian","intIndex","byteLength","bytes","reverse","conversion","NaN","ArrayBufferPrototype","testView","nativeSetInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","ArrayBuffer","DataView","CONVERT_TO_STRING","first","fastKey","internalStateGetterFor","IS_MAP","ADDER","define","previous","getEntry","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","kind","originalArray","getSizeMixin","RouterLinkMixin","clickable","insetLevel","tabindex","focused","manualFocus","isActionable","hasLink","isClickable","disable","hasRouterLink","lang","rtl","onEvents","click","__onClick","keyup","__onKeyup","__getContent","uniqueSlot","blurTarget","qKeyEvent","focus","isKeyCode","stopAndPrevent","evt","linkProps","linkTag","objectHas","sharedKey","wmget","wmhas","wmset","STATE","_arrayLikeToArray","checkCorrectnessOfIteration","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","inspectSource","enforceInternalState","TEMPLATE","simple","showRipple","forceCenter","diameter","sqrt","radius","centerX","x","centerY","y","opacity","abort","timer","updateModifiers","early","__qripple","cleanEvt","_qripple","__qripple_destroyed","enabled","qSkipRipple","keystart","throttle","addEvt","Wrapper","NewTarget","NewTargetPrototype","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","$fill","wrappedWellKnownSymbolModule","NAME","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferModule","typedArrayFrom","getOwnPropertyDescriptorModule","nativeDefineProperty","round","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","TypedArray","TypedArrayPrototype","isTypedArray","fromList","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$length","$len","abs","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","sign","nBits","Cancel","write","expires","domain","secure","cookie","isNumber","toGMTString","read","decodeURIComponent","activeXDocument","documentCreateElement","GT","LT","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","JS","contentWindow","open","F","NullProtoObject","$find","FIND","SKIPS_HOLES","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","endPos","getMobilePlatform","getBodyClasses","iosStatusBarPadding","clientUpdate","newCls","setColors","brand","setBrand","onKeyDownComposition","setBodyClasses","bodyClass","Q_BODY_CLASSES","autoInstalled","Screen","Dark","__qInstalled","Body","History","Lang","IconSet","iconSet","param","$includes","isAbsoluteURL","combineURLs","baseURL","requestedURL","quot","attribute","p1","routerLinkProps","exact","append","exactActiveClass","hasHrefLink","hasRouterLinkProps","$router","linkRoute","$route","fallbackTag","functionToString","nativeEndsWith","endPosition","CancelToken","executor","resolvePromise","token","positive","negative","warning","arrow","up","down","dropdown","chevron","colorPicker","spectrum","tune","palette","pullToRefresh","carousel","navigationIcon","chip","datetime","arrowLeft","arrowRight","today","heading","font","expansionItem","denseIcon","fab","activeIcon","field","rating","stepper","tabs","arrowUp","firstPage","prevPage","nextPage","lastPage","uploader","upload","removeQueue","removeUploaded","initialSet","materialIcons","setObject","postfix","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","re","charsAdded","strCopy","feature","detection","POLYFILL","NATIVE","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","serialize","parseSearchParams","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","getAll","found","entriesIndex","sliceIndex","fetch","link","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","alignMap","between","around","evenly","stretch","alignValues","validator","alignClass","vertical","$copyWithin","extendStatics","__extends","__","__assign","__decorate","desc","decorate","__awaiter","_arguments","generator","adopt","__generator","g","sent","trys","ops","verb","op","__spreadArrays","il","jl","returnMethod","Attributes","passiveCapture","touchTarget","keyboardTarget","mouseTarget","iconAttrs","BtnMixin","percentage","darkPercentage","hasLabel","computedRipple","percentageStyle","mousedown","__onLoadingEvt","touchstart","keydown","__onKeydown","__onMousedown","__onTouchstart","defaultPrevented","onClickCleanup","go","route","navigate","__cleanup","__onPressEnd","touchTargetEl","avoidMouseRipple","mouseTimer","prevent","cancelBubble","destroying","beforeDestroy","inner","QIcon","iconRight","wrapperStyle","innerClasses","QSpinner","RE","nativeJoin","ES3_STRINGS","depth","mapper","element","targetIndex","sourceIndex","mapFn","ACCESSORS","0","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","shared","defineWellKnownSymbol","HIDDEN","SYMBOL","TO_PRIMITIVE","$Symbol","$stringify","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","wrap","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","V","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","FORCED_JSON_STRINGIFY","space","$replacer","valueOf","$every","INCORRECT_ITERATION","ceil","NativePromise","promiseResolve","NON_GENERIC","real","onFinally","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","digits","NumberWrapper","getWeakData","ArrayIterationModule","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","dotAll","thrower","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","TO_STRING_TAG_SUPPORT","Q_HEAD_TAGS","Q_BODY_ATTRS","Q_BODY_TAGS","ssrUpdate","FunctionPrototype","FunctionPrototypeToString","nameRE","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","settle","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","Authorization","fullPath","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","send","macrotask","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","task","createWellKnownSymbol","withoutSetter","nativeKeys","FAILS_ON_PRIMITIVES","thisNumberValue","nativeToFixed","toFixed","acc","x2","fractionDigits","fractDigits","multiply","c2","divide","dataToString","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","dark","isActive","preventExtensions","reRGBA","rgbToHex","alpha","rgbToString","hexToRgb","hex","hsvToRgb","rgbToHsv","textToRgb","rgb","luminosity","G","getBrand","PREFERRED_STRING","arrayBufferModule","ignoreDuplicateOf","line","FormData","isView","pipe","product","assignValue","SHARED","FIND_INDEX","fixed","formTypes","mediaTypeRe","RippleMixin","AlignMixin","outline","unelevated","rounded","glossy","fabMini","textColor","noCaps","noWrap","isRounded","computedTabIndex","design","disabled","colors","minWidth","minHeight","non","$indexOf","nativeIndexOf","NEGATIVE_ZERO","fill","EXISTS","middle","newPromiseCapability","promiseCapability","createInstance","defaultConfig","axios","promises","spread","variable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","TAG","IS_RIGHT","memo","lastKeyCompositionStatus","isComposing","shouldIgnoreKey","keyCode","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","arg2","forceStringMethod","stringMethod","regexMethod","hasPassive","notPassiveCapture","notPassive","leftClick","touches","changedTouches","targetTouches","getEventPath","composedPath","stopPropagation","preventDefault","stopAndPreventClick","preventDraggable","__dragPrevented","querySelectorAll","CustomEvent","targetName","check","globalThis","FREEZING","onFreeze","nativeFreeze","ArrayIteratorMethods","ArrayValues","slotName","otherwise","mergeSlotSafely","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","relative","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","CORRECT_PROTOTYPE_GETTER","ARRAY_ITERATOR","Arguments","nativeLastIndexOf","lastIndexOf","relativeURL","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","microtask","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","isReject","notified","reactions","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","Int8ArrayPrototype","Uint8ClampedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","ARRAY","exportTypedArrayStaticMethod","getLocale","language","languages","browserLanguage","userLanguage","systemLanguage","Plugin","initialLang","defaultLang","langObject","Q_HTML_ATTRS","Q_PREV_LANG","PromiseCapability","$$resolve","$$reject","METADATA","setMetadata","objectID","weakData","meta","getElement","childHasFocus","focusedEl","nextElementSibling","getBodyFullscreenElement","activeEl","classofRaw","CORRECT_ARGUMENTS","tryGet","eject","nativeSlice","fin","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","units","humanStorageSize","normalizeToInterval","ariaHidden","iconAsButton","xhr","positionValues","highjackCount","translate","horiz","amount","highjackAjax","stackEntry","stopStack","loadStart","hijackFilter","getHijackFilter","loadEnd","restoreAjax","skipHijack","calls","progress","onScreen","animate","horizontal","sizeProp","speed","oldSpeed","newSpeed","__work","increment","hijacked","square","contentStyle","floating","transparent","multiLine","verticalAlign","inlineActions","disabledValues","separatorColor","activeColor","gutter","sepClass","els","iconClass","renderData","clearSelection","getSelection","selection","empty","removeAllRanges","addRange","createRange","noParentEvent","contextMenu","anchorEl","__unconfigureAnchorEl","__configureAnchorEl","__pickAnchorEl","__showCondition","__contextClick","hide","__toggleKey","__mobileCleanup","touchTimer","showing","__mobilePrevent","__mobileTouch","evts","__setAnchorEl","parentEl","__changeScrollEvent","scrollTarget","fnProp","fnHandler","__scrollFn","__configureScrollTarget","__unconfigureScrollTarget","noParentEventWatcher","__scrollTarget","__anchorCleanup","__nextTick","__tickFn","__prepareTick","__clearTick","__setTimeout","__timer","__clearTimeout","TimeoutMixin","__processModelChange","hideOnRouteChange","__processShow","__preparePortal","__show","__processHide","__hide","waitFlags","clearFlag","flag","addFocusWaitFlag","removeFocusWaitFlag","addFocusFn","removeFocusFn","closePortalMenus","separateClosePopup","__renderPortal","closePortals","isOnGlobalDialog","Portal","contentClass","__showPortal","isReady","__portalIsActive","focusObj","fullscreen","isCapable","__portal","newParent","__onGlobalDialog","unwatchFullscreen","__hidePortal","transitionShow","transitionHide","transitionState","getVmOfNode","isVmChildOf","childVm","parentVm","hasModalsAbove","execHandlers","globalHandler","rtlHasScrollBugStatus","vmEl","toggleEl","qClickOutside","__qclickoutside","__qclickoutside_old","timerFocusin","indexClick","indexFocus","scrollTargets","rtlHasScrollBug","scroller","spacer","direction","scrollLeft","getScrollTarget","targetEl","getScrollHeight","scrollHeight","getVerticalScrollPosition","pageYOffset","scrollY","scrollTop","getScrollPosition","getHorizontalScrollPosition","pageXOffset","scrollX","animVerticalScrollTo","prevTime","setScroll","nowTime","frameTime","animHorizontalScrollTo","setHorizontalScroll","scrollTo","setVerticalScrollPosition","setScrollPosition","setHorizontalScrollPosition","getScrollbarWidth","outer","visibility","w1","offsetWidth","w2","hasScrollbar","onY","Node","ELEMENT_NODE","scrollWidth","vpLeft","vpTop","escDown","__install","__installed","validatePosition","validateOffset","horizontalPos","parsePosition","getAnchorProps","bottom","getTargetProps","setPosition","offsetLeft","offsetTop","anchorProps","absoluteOffset","cover","anchorTop","anchorLeft","elStyle","maxHeight","maxWidth","fit","targetProps","anchorOrigin","selfOrigin","applyBoundaries","currentHeight","currentWidth","margin","anchorY","anchorX","AttrsMixin","AnchorMixin","ModelToggleMixin","PortalMixin","TransitionMixin","ClickOutside","persistent","autoClose","noRouteDismiss","noRefocus","noFocus","touchPosition","menuClass","__onAutoClose","qAttrs","preventScroll","__refocusTarget","EscapeKey","unwatch","updatePosition","blur","__avoidAutoClose","hiding","__onClickOutside","targetClassList","dropdownIcon","menuAnchor","menuSelf","menuOffset","disableMainBtn","disableDropdown","noIconAnimation","menu","Arrow","QMenu","QBtn","$props","Btn","QBtnGroup","formAttrs","__injectFormInput","formDomProps","FormFieldMixin","nameProp","for","FormMixin","opt","toggleColor","toggleTextColor","readonly","clearable","hasActiveValue","btnOptions","mergeOption","__set","directions","modifiersAll","getModifierDirections","mod","shouldStart","draggable","nodeName","qClonedBy","parseArg","__qtouchswipe","styleCleanup","__qtouchswipe_destroyed","mouse","mouseCapture","sensitivity","mouseStart","touchStart","mouseEvent","move","distX","absX","distY","absY","velX","velY","withDelay","distance","getPanelWrapper","PanelWrapper","PanelParentMixin","TouchSwipe","animated","infinite","swipeable","transitionPrev","transitionNext","keepAliveInclude","keepAliveExclude","keepAliveMax","panelIndex","panelTransition","panelDirectives","__swipe","contentKey","transitionPrevComputed","transitionNextComputed","keepAliveProps","needsUniqueWrapper","oldVal","__isValidPanelName","__getPanelIndex","__forcedPanelTransition","__updatePanelTransition","__go","goTo","panels","panel","__getEnabledPanels","startIndex","__updatePanelIndex","__getPanelContent","__renderPanels","PanelChildMixin","fullscreenCounter","noRouteFullscreenExit","inFullscreen","exitFullscreen","setFullscreen","container","replaceChild","fullscreenFillerNode","__historyFullscreen","scrollIntoView","hasMap","Map","hasSet","hasArrayBuffer","isDeepEqual","isRegexp","FullscreenMixin","controlType","controlColor","controlTextColor","autoplay","arrows","prevIcon","nextIcon","navigation","navigationPosition","navigationActiveIcon","thumbnails","navigationPositionComputed","arrowIcons","ico","navIcon","navActiveIcon","controlProps","clearInterval","__startTimer","__getNavigationContainer","btnProps","onClick","slide","imgSrc","backgroundImage","bgColor","avatar","stamp","labelSanitize","nameSanitize","textSanitize","stampSanitize","textClass","messageClass","containerClass","sizeClass","__wrapStamp","domPropStamp","__getText","contentList","withSlots","domPropText","msg","__refocusTargetEl","refocusTarget","OptionSizeMixin","RefocusTargetMixin","trueValue","falseValue","indeterminateValue","checkedIcon","uncheckedIcon","indeterminateIcon","toggleOrder","toggleIndeterminate","leftLabel","keepColor","modelIsArray","isIndeterminate","computedTabindex","innerClass","checked","__getNextValue","__getInner","CheckboxMixin","computedIcon","iconRemove","iconSelected","removable","hasLeftIcon","leftIcon","removeIcon","__onRemove","circumference","PI","strokeDashArray","centerColor","trackColor","angle","indeterminate","showValue","instantFeedback","normalizedValue","svgStyle","circleStyle","viewBoxAttr","strokeDashOffset","strokeWidth","__getCircle","stroke","cx","cy","svgChild","hexa","hexOrHexa","rgba","testPattern","fulltime","timeOrFulltime","hexColor","hexaColor","hexOrHexaColor","rgbColor","rgbaColor","rgbOrRgbaColor","hexOrRgbColor","hexaOrRgbaColor","anyColor","getChanges","isFinal","synthetic","isFirst","lastDir","lastX","lastY","__qtouchpan","__qtouchpan_destroyed","lastEvt","mouseAllDir","TouchEvent","initialEvent","detected","isMouseEvt","handleEvent","preserveCursor","cursor","withDelayedFn","markerPrefixClass","defaultMarkerConvertFn","SliderMixin","TouchPan","innerMin","innerMax","snap","hideSelection","markerLabelsClass","labelColor","labelTextColor","labelAlways","switchLabelSide","markers","markerLabels","switchMarkerLabelsSide","trackImg","innerTrackImg","innerTrackColor","selectionColor","selectionImg","thumbSize","trackSize","thumbColor","thumbPath","preventFocus","dragging","axis","labelSide","isReversed","computedInnerMin","__getInnerMin","computedInnerMax","__getInnerMax","editable","computedDecimals","computedStep","trackLen","innerBarLen","innerMinRatio","__convertModelToRatio","innerMaxRatio","positionProp","thicknessProp","orientation","selectionBarClass","markerClass","__getAxisClass","trackContainerClass","pinClass","__getPositionClass","labelClass","textContainerClass","markerLabelsContainerClass","trackClass","trackStyle","innerBarClass","innerBarStyle","markerStep","markerTicks","markerLabelClass","markerLabelsList","__getMarkerList","__getMarkerLabelStyle","markerScope","markerList","markerMap","markerLabelsMap","markerStyle","backgroundSize","panDirectives","__onPan","__convertRatioToModel","ratio","modulo","__getDraggingRatio","filterFn","__getMarkerLabelsContent","marker","__updatePosition","__updateValue","__getDragging","__onBlur","__onActivate","__onDeactivate","__onMobileClick","__getTextContainerStyle","__getThumb","thumb","thumbContent","pinColor","textContainerStyle","nodeData","injectThumb","trackContent","selectionBarStyle","trackContainerAttrs","trackContainerEvents","labelValue","curRatio","modelRatio","thumbLabel","thumbClasses","thumbStyle","thumbPinColor","thumbTextContainerStyle","thumbTextClass","__onFocus","modelUpdate","canRender","CanRenderMixin","hasObserver","immediately","__emit","curDocView","__onObjLoad","contentDocument","defaultView","load","ResizeObserver","unobserve","getIndicatorClass","bufferPrioritySort","t1","t2","priorityMatched","priorityHref","bufferCleanSelected","bufferFilters","redirected","bufferFiltersLen","__recalculateScroll","__activateTab","__activateRoute","__onKbdNavigate","breakpoint","shrink","activeBgColor","indicatorColor","rightIcon","outsideArrows","mobileArrows","switchIndicator","narrowIndicator","inlineLabel","hasFocus","indicatorClass","scrollable","startArrow","endArrow","arrowsEnabled","__updateArrows","__updateArrowsFn","isRTL","sides","scroll","__getScrollPosition","__setScrollPosition","__getScrollOffset","offsetParent","focusin","__onFocusin","focusout","__onFocusout","setCurrent","skipEmit","__animate","bufferRoute","bufferTimer","__updateContainer","domSize","scrollSize","oldTab","tab","newTab","oldEl","getElementsByClassName","newEl","animateTimer","__scrollToTab","rect","__animScrollTo","__stopAnimScroll","__onAnimScrollEnd","__scrollTowards","scrollTimer","setInterval","__scrollToStart","__scrollToEnd","alignEnd","skipFocus","startContent","sizeContent","sizeScroll","startTab","endTab","startsBefore","endsAfter","fromEl","matchTab","tabsLength","dirPrev","dirNext","rtlDir","activated","shouldActivate","deactivated","QResizeObserver","resize","mouseup","mouseleave","touchend","alert","alertIcon","__activate","keyboard","narrow","indicator","__renderTab","routerTabLinkProps","isExactActive","alphaTrackImg","defaultValue","formatModel","noHeader","noHeaderTabs","noFooter","topView","__parseModel","forceHex","forceAlpha","isHex","isOutputHex","hasAlpha","currentBgColor","backgroundColor","headerClass","light","spectrumStyle","background","spectrumPointerStyle","computedPalette","__spectrumChange","__getHeader","__getFooter","QTabs","QTab","__updateErrorIcon","__onEditorChange","QTabPanels","QTabPanel","__getSpectrumTab","__getTuneTab","__getPaletteTab","__spectrumClick","__spectrumPan","paddingBottom","QSlider","__onHueChange","__onNumericChange","inputmode","maxlength","__onPalettePick","__onSpectrumChange","__update","hsv","selectionEnd","setSelectionRange","inp","errorIcon","pageX","pageY","breaks","toJalaali","gy","gm","gd","getDate","getMonth","getFullYear","d2j","g2d","toGregorian","jy","jm","jd","d2g","j2d","isLeapJalaaliYear","jalCalLeap","jalaaliMonthLength","jump","leap","bl","jp","div","jalCal","withoutLeap","leapJ","leapG","march","jdn","jdn1f","calendars","mask","locale","calendar","landscape","computedMask","__getMask","computedLocale","__getLocale","computedColor","computedTextColor","__getCurrentDate","dateOnly","timeFill","jDate","year","month","day","hour","minute","millisecond","__getCurrentTime","__getDayHash","MILLISECONDS_IN_DAY","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE","defaultMask","reverseToken","regexStore","getRegexData","dateLocale","regexText","YY","YYYY","M","MMM","MMMM","D","H","aa","Z","ZZ","X","regex","getDateLocale","paramDateLocale","langProps","formatTimezone","delimeter","absOffset","hours","minutes","__splitDate","defaultModel","timezoneOffset","dateHash","timeHash","langOpts","tzString","maxDay","getWeekOfYear","thursday","setDate","getDay","firstThursday","ds","getTimezoneOffset","setHours","weekDiff","startOfDate","unit","utc","getDiff","interval","getDateDiff","subtract","getDayOfYear","getOrdinal","formatter","forcedYear","MM","Q","Qo","Do","DD","DDD","DDDD","dd","dddd","ddd","ww","HH","hh","mm","ss","SS","SSS","forcedTimezoneOffset","tzOffset","formatDate","__forcedYear","__forcedTimezoneOffset","scrollPositionX","scrollPositionY","maxScrollTop","bodyLeft","bodyTop","closeTimer","yearsInterval","views","viewIsValid","yearMonthValidator","lineStr","DateTimeMixin","range","subtitle","defaultYearMonth","yearsInMonthView","eventColor","emitImmediately","navigationMinYearMonth","navigationMaxYearMonth","noUnset","todayBtn","minimal","innerMask","innerLocale","viewModel","__getViewModel","monthDirection","yearDirection","startYear","editRange","lastEmitValue","__updateViewModel","isImmediate","normalizedModel","daysModel","__decodeString","rangeModel","getNativeDateFn","gDate","encodeObjectFn","daysInModel","headerTitle","headerSubtitle","minSelectedModel","maxSelectedModel","dateArrow","computedFirstDayOfWeek","daysOfWeek","daysInMonth","evtColor","minNav","maxNav","navBoundaries","daysMap","__getMonthHash","rangeMap","hashFrom","hashTo","rangeView","initHash","final","finalHash","fromHash","toHash","viewMonthHash","includeFrom","includeTo","selectionDaysMap","dayHash","eventDaysMap","viewDays","endDay","prevJM","prevJY","in","rangeFrom","rangeTo","editRangeFrom","editRangeTo","afterDays","setToday","__addToModel","setCalendarTo","setView","offsetCalendar","descending","setEditingRange","__getDefaultViewModel","decoded","__getNavigation","boundaries","__getCalendarView","__goToMonth","__goToYear","__onDayClick","mouseover","__onDayMouseover","__getMonthsView","currentYear","isDisabled","__setMonth","__getYearsView","years","__setYear","__emitImmediately","__toggleDate","monthHash","__removeFromModel","__getShortDate","dayIndex","dayProps","newHash","__emitValue","__getEmitParams","details","__encodeEntry","changed","ranges","__addHistory","__historyEntry","__removeHistory","registered","vpPendingUpdate","onWheel","shouldPreventScroll","deltaX","deltaY","onAppleScroll","onAppleResize","hasViewport","overflowY","qScrollPrevented","__preventScroll","preventedScroll","maximizedModals","positionClass","standard","transitions","HistoryMixin","PreventScrollMixin","noEscDismiss","noBackdropDismiss","noShake","seamless","maximized","fullWidth","fullHeight","animating","transitionShowComputed","transitionHideComputed","__updateMaximized","useBackdrop","__preventFocusout","__getInnerNode","shake","shakeTimeout","isMaximized","__onFocusChange","__onBackdropClick","mouseEvents","layout","side","mini","miniToOverlay","miniWidth","showIfAbove","behavior","elevated","overlay","noSwipeOpen","noSwipeClose","noSwipeBackdrop","belowBreakpoint","totalWidth","lastDesktopState","__applyPosition","__applyBackdrop","__updateBelowBreakpoint","newSide","oldSide","instances","onLayout","rightSide","__updateSizeOnLayout","__animateMini","isMini","otherSide","onScreenOverlay","backdropClass","headerSlot","footerSlot","aboveStyle","footer","stateDirection","onNativeEvents","openDirective","__openByTouch","contentCloseDirective","__closeByTouch","backdropCloseDirective","scrollbarWidth","__lastPosition","retry","backdrop","lastBackdropBg","__setBackdropVisible","__setScrollable","timerMini","opened","noEvent","__updateLocal","hideDelay","childList","subtree","disconnect","__delayShow","__delayHide","thumbnail","btn","caret","runCmd","cmd","__getGroup","getBtn","clickHandler","toggled","tip","Key","QTooltip","buttonProps","toolbarToggleColor","toolbarColor","toolbarPush","toolbarTextColor","getDropdown","Items","onlyIcons","closeDropdown","Dropdown","toolbarBackgroundClass","inactiveClass","noIcons","htmlTip","QItem","restore","QItemSection","QList","highlight","QBtnDropdown","fixedLabel","fixedIcon","getToolbar","buttons","isViewingSource","fb","getFonts","defaultFontLabel","defaultFontIcon","fonts","aliases","default_font","alias","getLinkEditor","ie11","editLinkUrl","updateLink","execCommand","__onInput","_classCallCheck","_defineProperties","_createClass","protoProps","staticProps","getBlockElement","currentStyle","isChildOf","orSame","chars","selectNode","setStart","setEnd","TEXT_NODE","lp","urlRegex","Caret","_range","sel","startContainer","startOffset","endContainer","endOffset","selectAllChildren","collapseToEnd","charCount","focusNode","focusOffset","previousSibling","savedPos","collapse","spanLevel","blockParent","recursive","hasParents","hasParent","queryCommandValue","queryCommandState","attrib","win","getParentAttribute","selectWord","cloneContents","save","getRangeAt","selectNodeContents","__setContent","isCollapsed","modify","anchorNode","anchorOffset","detach","endNode","rangeCount","copyIsArray","buf","definitions","toolbar","toolbarBg","toolbarOutline","toolbarRounded","paragraphTag","hasToolbar","buttonDef","strike","unordered","ordered","can","viewsource","h1","h2","h3","h4","h5","h6","innerStyle","col","onEditor","lastEmit","innerText","refreshToolbar","__offsetBottom","restorePosition","savePosition","__onMouseup","__onTouchend","getContentEl","fontFamily","toolbars","bars","contenteditable","__begin","__end","lastEvent","timerFallback","animListener","insetMap","true","margins","spaced","inset","classPrefix","insetClass","eventName","labelLines","captionLines","expandIcon","expandedIcon","expandIconClass","headerInsetLevel","contentInsetLevel","expandSeparator","defaultOpened","expandIconToggle","switchToggleSide","denseToggle","popup","headerStyle","__eventHandler","expansionIcon","activeToggleIcon","__onHeaderClick","__toggleIconKeyboard","__toggleIcon","__getToggleIcon","QItemLabel","QSlideTransition","QSeparator","labelPositions","labelPosition","externalLabel","hideLabel","labelStyle","formClass","stacked","labelProps","FabMixin","__qFab","hideIcon","verticalActionsAlign","actionsClasses","iconHolderClasses","slotScope","__onChildClick","__getIcon","kebab","camel","slotFn","anchorMap","anchorValues","lazyRulesValues","errorMessage","noErrorIcon","rules","reactiveRules","lazyRules","isDirty","innerError","innerErrorMessage","__validateIfNeeded","__resetValidation","unwatchRules","hasActiveRules","innerLoading","debouncedValidate","hasError","invalid","getElementById","targetUid","hasRules","computedErrorMessage","validate","validateIndex","resetValidation","rule","changedRules","bufIdx","hexBytes","randomBytes","lib","crypto","msCrypto","getRandomValues","BUFFER_SIZE","getTargetUid","ValidateMixin","stackLabel","hint","hideHint","suffix","filled","outlined","borderless","standout","labelSlot","bottomSlots","hideBottomSpace","itemAligned","clearIcon","autofocus","maxValues","hasValue","__getControl","innerValue","computedCounter","floatingLabel","inputValue","hideSelected","displayValue","shouldRenderBottom","fieldClass","styleType","controlSlotScope","emitValue","bottomSlotScope","__focus","slotsEvents","__getControlContainer","__getInnerAppendNode","clearableEvents","__getInnerAppend","__getControlChild","hasShadow","__getShadowControl","rawControl","control","__getDefaultSlot","__getBottom","hasCounter","main","__onControlPopupShow","hasPopupOpen","__onControlFocusin","__onControlPopupHide","__onControlFocusout","focusoutTimer","__clearValue","__onPreRender","__onPostRender","controlEvents","__getControlEvents","filterFiles","files","rejectedFiles","failedPropValidation","acceptedFiles","stopAndPreventDrag","dataTransfer","dropEffect","accept","maxFileSize","maxTotalSize","maxFiles","extensions","maxFilesNumber","maxTotalSizeNumber","pickFiles","ev","__getFileInput","addFiles","__addFiles","__processFiles","filesToProcess","currentFileList","__key","webkitRelativePath","lastModified","filenameMap","filteredFiles","filesNumber","__onDragOver","dnd","__onDragLeave","__onDrop","__getDnd","dragenter","dragover","dragleave","drop","FileValueMixin","dt","DataTransfer","ClipboardEvent","clipboardData","QField","FileMixin","File","useChips","counterLabel","inputClass","inputStyle","selectedString","totalSize","counterProps","inputAttrs","isAppending","removeAtIndex","removeFile","fileList","__getInput","__getSelection","__getFiller","QChip","reveal","heightHint","revealed","windowHeight","__updateRevealed","containerHeight","hidden","revealOnFocus","__onResize","inflexionPosition","noErrorFocus","noResetFocus","greedy","submit","shouldFocus","getValidationComponents","valid","errors","tabIndex","revealOffset","ratioStyle","naturalRatio","RatioMixin","srcset","alt","placeholderSrc","basic","contain","imgClass","imgStyle","nativeContextMenu","noDefaultSpinner","spinnerColor","spinnerSize","currentSrc","image","isLoading","__load","__updateWatcher","att","imgContainerStyle","backgroundPosition","__onLoad","__computeRatio","__updateSrc","__onError","ratioTimer","Image","onload","decode","naturalHeight","naturalWidth","__getImage","nativeImg","slotVm","initialIndex","isFetching","isWorking","resume","immediatePoll","updateScrollTarget","__setDebounce","poll","scrollPosition","heightBefore","heightAfter","heightDifference","setIndex","oldPoll","__scrollPosition","labelClasses","NAMED_MASKS","phone","card","TOKENS","negate","N","toLocaleUpperCase","toLocaleLowerCase","tokenRegexMask","escRegex","MARKER","reverseFillMask","fillMask","unmaskedValue","__updateMaskInternals","autogrow","__updateMaskValue","__unmask","hasMask","__getInitialMaskedValue","masked","__mask","__fillWithMask","__getPaddedMaskMarked","maskMarked","padPos","computedUnmask","maskReplaced","fillChar","fillCharEscaped","unmask","extract","firstMatch","unmaskChar","negateChar","char1","esc","char2","unmaskMatcher","extractLast","extractMatcher","unmaskMatch","extractMatch","extractMatcherLength","rawVal","updateMaskInternals","inputType","endReverse","unmasked","preMasked","__moveCursorRightReverse","__moveCursorRight","__moveCursorForPaste","__moveCursorLeft","noMarkBefore","__moveCursorLeftReverse","__onMaskedKeydown","selectionStart","__maskReverse","valIndex","maskIndex","valChar","maskDef","firstTokenIndex","isJapanese","isChinese","isKorean","__onComposition","MaskMixin","CompositionMixin","shadowText","stopValueWatcher","typedNumber","tempValue","__adjustHeight","isTextarea","isTypeText","paste","__onPaste","__onChange","__onFinishEditing","compositionstart","compositionupdate","compositionend","animationend","getNativeElement","stopWatcher","emitValueFn","emitCachedValue","emitTimer","parentStyle","marginBottom","__getCurValue","defaultCfg","threshold","rootMargin","IntersectionObserver","rootBounds","isIntersecting","__qvisible","__qvisible_destroyed","Intersection","ssrPrerender","__trigger","QCircularProgress","decimals","computedInstantFeedback","__click","__keydown","__keyup","__updateCenterPosition","centerPosition","__pan","asin","__getNameInput","internal","dirChanged","dirChangePos","getPosition","directionChanged","clearTimer","cancelAnimationFrame","targetStyle","targetChildStyle","scrollbarEvtAction","__updateScrollEvent","QScrollObserver","__onPageScroll","__onPageResize","__onContainerResize","resized","__updateScrollbarWidth","timerScrollbar","__restoreScrollbar","__hideScrollbar","wrapCells","iconColor","computedIconColor","radio","QRadio","checkbox","QCheckbox","QToggle","typeValues","inline","pageContainer","styleFn","paddingTop","expand","attach","posX","posY","QPageSticky","scrollOffset","__isVisible","__updateVisibility","heightWatcher","activeTextColor","iconPrev","iconNext","iconFirst","iconLast","toFn","boundaryLinks","boundaryNumbers","directionLinks","ellipses","maxPages","newPage","inputPlaceholder","__boundaryLinks","__getBool","__boundaryNumbers","__directionLinks","__ellipses","icons","activeBtnProps","setByOffset","__getBtn","page","contentStart","contentEnd","contentMiddle","QInput","pgFrom","pgTo","ellipsesStart","ellipsesEnd","boundaryStart","boundaryEnd","frame","callArgs","scrolling","percentScrolled","working","__updatePos","__stop","__start","containerTop","containerBottom","percent","__setPos","mediaHeight","videoHeight","__resizeHandler","frameDebounce","mediaParent","onloadstart","loadedmetadata","cloneDeep","labelSet","labelCancel","autoSave","modelChanged","modelValue","initialValue","defaultSlotScope","__reposition","__changeModel","menuProps","__hasChanged","__close","validated","parsedBreakpoint","__onHide","__updateType","QDialog","stripe","motion","widthReverse","modelStyle","modelClasses","stripeStyle","stripeClass","PULLER_HEIGHT","OFFSET_TOP","noMouse","pullRatio","pulling","pullPosition","positionCSS","mightPrevent","__pull","__animateTo","dragType","MIN","RANGE","MAX","dragRange","dragOnlyRange","leftLabelColor","leftLabelTextColor","rightLabelColor","rightLabelTextColor","leftLabelValue","rightLabelValue","leftThumbColor","rightThumbColor","curMinRatio","curMaxRatio","modelMinRatio","modelMaxRatio","ratioMin","ratioMax","thumbAttrs","thumbMinEvents","__getEvents","thumbMaxEvents","thumbMinLabel","thumbMaxLabel","thumbMinClasses","thumbMaxClasses","thumbMinStyle","thumbMaxStyle","thumbMinPinColor","thumbMaxPinColor","thumbMinTextContainerStyle","thumbMaxTextContainerStyle","thumbMinTextClass","thumbMaxTextClass","minThumb","valueMin","valueMax","offsetRatio","offsetModel","rangeValue","rangeRatio","localModel","minR","maxR","ratioDelta","modelDelta","stepVal","which","iconHalf","colorHalf","colorSelected","noReset","noDimming","mouseModel","iconData","iconLen","selIconLen","halfIconLen","colorLen","selColorLen","halfColorLen","selIcon","halfIcon","selColor","halfColor","stars","halfIndex","half","exSelected","__setHoverValue","mouseout","axisList","dirProps","dist","verticalThumbStyle","horizontalThumbStyle","barStyle","verticalBarStyle","horizontalBarStyle","contentActiveStyle","visible","tempShowing","panning","hover","verticalScrollPercentage","diff","horizontalScrollPercentage","verticalThumbHidden","horizontalThumbHidden","verticalThumbStart","verticalThumbSize","horizontalThumbStart","horizontalThumbSize","verticalStyle","horizontalStyle","verticalThumbClass","horizontalThumbClass","verticalBarClass","horizontalBarClass","scrollComputed","thumbHidden","thumbStart","thumbClass","barClass","mainStyle","verticalThumbDirectives","__panThumb","horizontalThumbDirectives","scrollAttrs","getScroll","getScrollPercentage","setScrollPercentage","__updateVerticalScroll","__updateHorizontalScroll","__updateScrollSize","refPos","dProp","containerSize","multiplier","__setScroll","__mouseDown","verticalThumb","horizontalThumb","__verticalMouseDown","__horizontalMouseDown","__emitScroll","__mouseEnter","__mouseLeave","mouseenter","aggBucketSize","scrollToEdges","filterProto","sumFn","getScrollDetails","beforeRef","afterRef","stickyStart","stickyEnd","parentCalc","propElSize","scrollStart","scrollViewSize","scrollMaxSize","offsetStart","offsetEnd","previousElementSibling","parentRect","childRect","sumSize","sizeAgg","lastTo","fromAgg","toAgg","commonVirtScrollProps","virtualScrollSliceSize","virtualScrollSliceRatioBefore","virtualScrollSliceRatioAfter","virtualScrollItemSize","virtualScrollStickySizeStart","virtualScrollStickySizeEnd","tableColspan","setOverflowAnchor","isSupported","overflowAnchor","ssId","qChildIndex","commonVirtPropsList","virtualScrollHorizontal","virtualScrollSliceRange","needsSliceRecalc","__setVirtualScrollSize","needsReset","colspanAttr","colspan","virtualScrollItemSizeComputed","__resetVirtualScroll","prevToIndex","scrollEl","__getVirtualScrollTarget","scrollDetails","__getVirtualScrollEl","__scrollViewSize","__setVirtualScrollSliceRange","virtualScrollLength","__onVirtualScrollEvt","listLastIndex","listEndOffset","virtualScrollPaddingAfter","prevScrollStart","__updateVirtualScrollSizes","scrollMaxStart","virtualScrollSizes","virtualScrollSizesAgg","listOffset","virtualScrollPaddingBefore","alignForce","alignRange","virtualScrollSliceSizeComputed","rangeChanged","contentEl","__onBlurRefocusFn","sizeBefore","tempTo","sizeAfter","posStart","posEnd","sizeDiff","childrenLength","sizeFn","fullReset","defaultSize","oldVirtualScrollSizesLength","jMax","iMax","baseSize","__padVirtualScroll","paddingSize","validateNewValueMode","reEscapeList","VirtualScroll","displayValueSanitize","optionValue","optionLabel","optionDisable","hideDropdownIcon","fillInput","optionsDense","optionsDark","optionsSelectedClass","optionsSanitize","optionsCover","menuShrink","popupContentClass","popupContentStyle","useInput","newValueMode","mapOptions","inputDebounce","autocomplete","dialog","optionIndex","dialogFieldFocused","innerValueCache","userInputValue","__resetInputValue","__updateMenu","isOptionsDark","computedInputClass","menuContentClass","mapNull","__getOption","noOptions","getOptionLabel","sanitizeFn","sanitize","displayAsText","selectedScope","__removeAtIndexAndFocus","toggleOption","optionScope","__optionScopeCache","optionEls","isOptionDisabled","itemProps","computedOptionsSelectedClass","itemAttrs","isOptionSelected","itemEvents","mousemove","setOptionIndex","dropdownArrowIcon","squaredMenu","innerOptionsValue","getOptionValue","__getPropValueFn","inputControlEvents","__onTargetKeydown","__onTargetAutocomplete","keypress","__onTargetKeypress","__selectInputText","hasDialog","comboboxAttrs","listboxAttrs","getEmittingOptionValue","unique","updateInputValue","keepOpen","optValue","hidePopup","moveOptionSelection","skipInputValue","__setInputValue","defaultInputValue","defaultVal","__onTargetKeyup","inputTimer","needle","findFn","extractFn","fillFn","afterFilter","newValueModeValid","tabShouldSelect","showPopup","optionsLength","searchBuffer","searchBufferExp","keyRepeat","searchRe","__closeMenu","menuContent","scope","fromDialog","isTarget","__getOptions","optionSlot","innerLoadingIndicator","noFiltering","keepClosed","afterUpdateFn","filterId","afterFn","__getMenu","__onMenuShow","__onDialogFieldFocus","__onDialogFieldBlur","__getDialog","__onDialogBeforeHide","__onDialogHide","__onDialogShow","updateMenuPosition","skeletonTypes","skeletonAnimations","animation","slotsDef","leftColor","rightColor","topColor","bottomColor","langDir","__emitSlide","__showing","isReset","__dir","__size","__scale","__axis","limits","beforeClass","afterClass","separatorClass","separatorStyle","__normalize","computedLimits","__getCSSValue","separatorDirectives","__maxValue","__value","__multiplier","__normalized","isDisable","isError","isDone","headerNav","nav","hasPrefix","doneIcon","defaultIcon","inactiveIcon","errorColor","doneColor","inactiveColor","StepWrapper","__keepScroll","StepHeader","alternativeLabels","contracted","headerClasses","marginalsScope","computedPagination","pagesNumber","isFirstPage","isLastPage","__getTopDiv","topLeft","topRight","topSelection","hasSelection","hasSelectionMode","rowsSelectedNumber","titleClass","autoWidth","colsMap","sortable","__iconClass","__thClass","headerSelectedValue","someRowsSelected","allRowsSelected","__getTHead","__getTHeadTR","computedColspan","__getProgress","headerCell","__getHeaderScope","computedCols","headerCellCol","QTh","singleSelection","grid","multipleSelection","__onMultipleSelectionSet","tableHeaderStyle","tableHeaderClass","cols","computedColsMap","partialSelected","multipleSelect","__updateSelection","computedRows","getRowKey","__getTBodyTR","row","bodySlot","pageIndex","isRowSelected","__getBodyScope","__trClass","bodyCell","bodyCellCol","__getBodyCellScope","__tdClass","__tdStyle","getCellValue","__getBodySelectionScope","adding","dblclick","contextmenu","__getTBody","topRow","bottomRow","__getVirtualTBodyTR","__injectBodyCommonScope","rowIndex","firstRowIndex","isRowExpanded","__updateExpanded","format","hideBottom","hideSelectedBanner","hideNoData","hidePagination","iconFirstPage","iconPrevPage","iconNextPage","iconLastPage","__getBottomDiv","nothingToDisplay","loadingLabel","noResultsLabel","noDataLabel","selectedRowsLabel","__getPaginationDiv","rowsPerPage","paginationLabel","paginationSlot","hasOpts","rowsPerPageOptions","rowsPerPageLabel","QSelect","computedRowsPerPageOptions","pag","setPagination","lastRowIndex","computedRowsNumber","filteredSortedRowsNumber","__getGridHeader","gridHeader","__getGridBody","cardDefaultClass","cardClass","cardStyle","cardContainerClass","cardContainerStyle","conf","comps","QMarkupTable","itemsFn","itemsSize","virtualScrollScope","getTableMiddle","sortDate","sortMethod","sortBy","colList","columnSortOrder","columnToSort","sortOrder","binaryStateSort","filterMethod","terms","cellValue","lowerTerms","haystack","samePagination","oldPag","newPag","fixPagination","innerPagination","oldLastPage","currentPage","__sendServerRequest","requestServerInteraction","forceServerRequest","newPagination","isServerSide","selectedKeys","added","getVal","expanded","innerExpanded","setExpanded","visibleColumns","commonVirtPropsObj","Top","TableHeader","TableBody","Bottom","TableGrid","Sort","Filter","Pagination","RowSelection","RowExpand","ColumnSelection","rowKey","hideHeader","virtualScroll","tableStyle","tableClass","hasVirtScroll","virtScroll","filteredSortedRows","rowsNumber","__containerClass","virtProps","__getBody","resetVirtualScroll","virtSlots","topContent","QVirtualScroll","__onVScroll","rowEl","QLinearProgress","noHover","trailingSlashRE","equals","isSameRoute","isIncludedRoute","__checkActivation","custom","checkFn","redirectedFrom","isSameRouteCheck","checkFunction","defaultDate","hourOptions","minuteOptions","secondOptions","withSeconds","nowBtn","__getDefaultDateModel","isAM","innerModel","defaultDateModel","stringModel","computedFormat24h","pointerStyle","forHour","divider","degrees","minLink","secLink","hourInSelection","minuteInSelection","secondInSelection","validHours","am","__getValidValues","pm","validMinutes","validSeconds","viewValidOptions","positions","actualVal","setNow","testFn","__getWheelDist","__getNormalizedClockValue","__shouldAbortInteraction","__updateClock","__getClockRect","__goToNextView","clock","__drag","draggingClockRect","dragCache","clockRect","cacheVal","__onKeyupHour","__setHour","__onKeyupMinute","__setMinute","__onKeyupSecond","seconds","__setSecond","__setAm","__setPm","__getClock","__verifyAndUpdate","__timeline","colorClass","dot","tickStrategyOptions","nodeKey","labelKey","childrenKey","selectedColor","tickStrategy","ticked","noSelectionUnset","defaultExpandAll","accordion","filt","noConnectors","noNodesLabel","computedControlColor","textColorClass","selectedColorClass","travel","isParent","isLeaf","selectable","expandable","hasTicking","strictTicking","leafFilteredTicking","leafTicking","tickable","matchesFilter","noTick","innerTicked","indeterminateNextState","getNodeByKey","getTickedNodes","getExpandedNodes","isExpanded","collapseAll","expandAll","__setExpanded","isTicked","setTicked","__getSlotScope","__getChildren","__getNode","__getNodeMedia","__onExpandClick","__onTickedClick","__blur","noThumbnails","autoUpload","hideUploadBtn","__qUploaderGetInput","__getInputControl","queuedFiles","uploadedFiles","uploadSize","uploadedSize","isUploading","canUpload","isBusy","canAddFiles","uploadProgress","uploadProgressLabel","__getProgressLabel","uploadedSizeLabel","uploadSizeLabel","__revokeImgURLs","removeUploadedFiles","__removeFiles","removeQueuedFiles","statusList","__status","__img","__abort","__updateFile","__uploaded","__progress","__sizeLabel","__progressLabel","localFiles","fileInput","__getList","getFn","fieldName","formFields","sendRaw","batch","xhrs","workingThreads","xhrProps","abortPromises","__runFactory","failed","__uploadFiles","form","getProp","fields","aborted","uploadIndex","uploadIndexSize","maxUploadSize","loaded","uploaded","Blob","QUploaderBase","UploaderXHRMixin","iframeData","frameborder","allowfullscreen","getDepth","__qclosepopup","handlerKey","__qclosepopup_destroyed","__qgoback","goBack","goBackKey","__qgoback_destroyed","single","router","offsetBase","getAbsolutePosition","boundingRect","baseRect","marginLeft","marginRight","marginTop","marginH","marginV","widthM","heightM","getAbsoluteSize","styleEdges","styleBorderRadiuses","reStyleSkipKey","reStyleSkipRule","styleLen","subProp","val1","val2","zIndexPositions","getMaxZIndex","elStart","zIndex","zIndexNum","normalizeElements","normalizeOptions","waitFor","easing","useCSS","hideFromClone","keepToClone","tween","tweenFromOpacity","tweenToOpacity","isValidElement","morph","cancelStatus","endElementTo","elements","elFrom","qMorphCancel","animationFromClone","animationFromTween","animationToClone","animationTo","elFromParent","elFromNext","elFromPosition","elFromParentWidthBefore","elFromParentHeightBefore","elFromBorderWidth","borderWidth","elFromBorderStyle","borderStyle","elFromBorderColor","borderColor","elFromBorderRadius","borderRadius","elFromBackground","elFromTransform","elFromPositioningType","elFromCssText","elFromClassSaved","elFromStyleSaved","elFromClone","elFromTween","pointerEvents","calculateFinalState","elTo","elFromParentWidthAfter","elFromParentHeightAfter","elToParentWidthBefore","elToParentHeightBefore","elToParent","elToParentWidthAfter","elToParentHeightAfter","elToClone","elToNext","elToBorderWidth","elToBorderStyle","elToBorderColor","elToBorderRadius","elToBackground","elToTransform","elToPositioningType","elToCssText","elToClassSaved","elToStyleSaved","elToPosition","scaleX","scaleY","elFromParentWidthDiff","elFromParentHeightDiff","elToParentWidthDiff","elToParentHeightDiff","elFromCloneWidth","elFromCloneHeight","elToCloneWidth","elToCloneHeight","elSharedSize","elToNeedsFixedPosition","flex","elFromZIndex","elToZIndex","documentScroll","overflowX","commonCleanup","resizeFrom","resizeTo","resizeFromTween","resizeToTween","tweenFrom","tweenTo","transformOrigin","cleanup","qAnimId","keyframesFromTween","keyframesFrom","keyframeToStart","keyframesTo","animationDirection","animationName","delayPromise","endFn","onToggle","morphGroups","mods","changeClass","clsAction","cancelFn","insertArgs","updateArgs","updateModel","updateValue","__qmorph","__qmorph_destroyed","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","attributeOldValue","characterDataOldValue","__qmutation","__qmutation_destroyed","__qscrollfire","__qscrollfire_destroyed","elBottom","__qscroll","__qscroll_destroyed","__qtouchhold","__qtouchhold_destroyed","startTime","triggered","mouseSensitivity","touchSensitivity","keyRegex","shouldEnd","__qtouchrepeat","metaValue","__qtouchrepeat_destroyed","durationsLast","keyboardStart","keyboardEvent","repeatCount","keyCapture","getMetaTag","setColor","metaTag","newTag","StatusBar","backgroundColorByHexString","addressbarColor","prefixes","promisify","checkActive","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","appRoot","__getErr","appVisible","msHidden","webkitHidden","dialogProps","onOk","__getGrid","QCardSection","QCard","ssrAPI","okCancel","getDialogParent","elRoot","DefaultComponent","DialogComponent","isCustom","okFns","cancelFns","API","onCancel","onDismiss","emittedOK","bottomSheet","globalDialog","BottomSheet","stringifyCookieValue","getString","msOffset","setMilliseconds","toUTCString","parseExpireString","timestamp","expire","expireValue","keyValue","sameSite","httpOnly","other","qCookies","setHeader","cookieSource","getObject","prompt","stackButtons","spinner","vmColor","hasForm","okLabel","cancelLabel","okDisabled","isValid","okProps","cancelProps","getPrompt","getOptions","QOptionGroup","getButtons","QCardActions","getSection","DialogPlugin","setDefaults","loadingBar","bar","_routerRoot","QAjaxBar","sessions","originalDefaults","messageColor","customClass","Loading","ignoreDefaults","updateId","ssrTakeover","titleTemplate","metaType","metaProp","metaLink","template","bodyFilter","htmlFilter","htmlAttr","bodyAttr","parseMeta","hasMeta","__qMeta","updateClient","__currentMeta","__Q_META__","script","getAttr","seed","getHead","getServerMeta","noscript","nonce","tokens","triggerMeta","__qMetaUpdate","$getMetaHTML","__qMetaUnwatch","notificationsList","emptyRE","positionList","badgePositions","notifTypes","ongoing","addNotification","originalApi","Api","notif","hasMedia","hasText","hasContent","progressClass","progressStyle","animationDuration","closeBtn","noDismiss","dismiss","wrapperClass","leftClass","actionsClass","badge","badgePosition","badgeClass","badgeColor","badgeTextColor","removeNotification","newNotif","Notifications","mainChild","iconSize","QAvatar","msgChild","msgData","msgNode","badgeStyle","registerType","typeName","typeOpts","vert","getEmptyStorage","getLength","getItem","getIndex","getKey","getAllKeys","isEmpty","getStorage","setItem","removeItem","storage","sessionStorage","VuePlugin","initialVal","ssrSet","__fromSSR","originalSet","__media","matchMedia","__updateMedia","removeListener"],"mappings":"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","file":"chunk-vendors.js","sourcesContent":["import Vue from 'vue'\n\nimport SizeMixin from '../../mixins/size.js'\nimport TagMixin from '../../mixins/tag.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot, mergeSlot } from '../../utils/slot.js'\n\nconst defaultViewBox = '0 0 24 24'\n\nconst sameFn = i => i\nconst ionFn = i => `ionicons ${i}`\n\nconst libMap = {\n 'icon-': sameFn, // fontawesome equiv\n 'bt-': i => `bt ${i}`,\n 'eva-': i => `eva ${i}`,\n 'ion-md': ionFn,\n 'ion-ios': ionFn,\n 'ion-logo': ionFn,\n 'mdi-': i => `mdi ${i}`,\n 'iconfont ': sameFn,\n 'ti-': i => `themify-icon ${i}`,\n 'bi-': i => `bootstrap-icons ${i}`\n}\n\nconst matMap = {\n o_: '-outlined',\n r_: '-round',\n s_: '-sharp'\n}\n\nconst libRE = new RegExp('^(' + Object.keys(libMap).join('|') + ')')\nconst matRE = new RegExp('^(' + Object.keys(matMap).join('|') + ')')\nconst mRE = /^[Mm]\\s?[-+]?\\.?\\d/\nconst imgRE = /^img:/\nconst svgUseRE = /^svguse:/\nconst ionRE = /^ion-/\nconst faLaRE = /^[lf]a[srlbdk]? /\n\nexport default Vue.extend({\n name: 'QIcon',\n\n mixins: [ ListenersMixin, SizeMixin, TagMixin ],\n\n props: {\n tag: {\n type: String,\n default: 'i'\n },\n\n name: String,\n color: String,\n left: Boolean,\n right: Boolean\n },\n\n computed: {\n classes () {\n return 'q-icon' +\n (this.left === true ? ' on-left' : '') +\n (this.right === true ? ' on-right' : '') +\n (this.color !== void 0 ? ` text-${this.color}` : '')\n },\n\n type () {\n let cls\n let icon = this.name\n\n if (icon === 'none' || !icon) {\n return { none: true }\n }\n\n if (this.$q.iconMapFn !== void 0) {\n const res = this.$q.iconMapFn(icon)\n if (res !== void 0) {\n if (res.icon !== void 0) {\n icon = res.icon\n if (icon === 'none' || !icon) {\n return { none: true }\n }\n }\n else {\n return {\n cls: res.cls,\n content: res.content !== void 0\n ? res.content\n : ' '\n }\n }\n }\n }\n\n if (mRE.test(icon) === true) {\n const [ def, viewBox = defaultViewBox ] = icon.split('|')\n\n return {\n svg: true,\n viewBox,\n nodes: def.split('&&').map(path => {\n const [ d, style, transform ] = path.split('@@')\n return this.$createElement('path', {\n attrs: { d, transform },\n style\n })\n })\n }\n }\n\n if (imgRE.test(icon) === true) {\n return {\n img: true,\n src: icon.substring(4)\n }\n }\n\n if (svgUseRE.test(icon) === true) {\n const [ def, viewBox = defaultViewBox ] = icon.split('|')\n\n return {\n svguse: true,\n src: def.substring(7),\n viewBox\n }\n }\n\n let content = ' '\n const matches = icon.match(libRE)\n\n if (matches !== null) {\n cls = libMap[ matches[ 1 ] ](icon)\n }\n else if (faLaRE.test(icon) === true) {\n cls = icon\n }\n else if (ionRE.test(icon) === true) {\n cls = `ionicons ion-${this.$q.platform.is.ios === true ? 'ios' : 'md'}${icon.substr(3)}`\n }\n else {\n // \"notranslate\" class is for Google Translate\n // to avoid tampering with Material Icons ligature font\n //\n // Caution: To be able to add suffix to the class name,\n // keep the 'material-icons' at the end of the string.\n cls = 'notranslate material-icons'\n\n const matches = icon.match(matRE)\n if (matches !== null) {\n icon = icon.substring(2)\n cls += matMap[ matches[ 1 ] ]\n }\n\n content = icon\n }\n\n return {\n cls,\n content\n }\n }\n },\n\n render (h) {\n const data = {\n class: this.classes,\n style: this.sizeStyle,\n on: { ...this.qListeners },\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n }\n }\n\n if (this.type.none === true) {\n return h(this.tag, data, slot(this, 'default'))\n }\n\n if (this.type.img === true) {\n return h('span', data, mergeSlot([\n h('img', {\n attrs: { src: this.type.src }\n })\n ], this, 'default'))\n }\n\n if (this.type.svg === true) {\n return h('span', data, mergeSlot([\n h('svg', {\n attrs: {\n viewBox: this.type.viewBox,\n focusable: 'false' /* needed for IE11 */\n }\n }, this.type.nodes)\n ], this, 'default'))\n }\n\n if (this.type.svguse === true) {\n return h('span', data, mergeSlot([\n h('svg', {\n attrs: {\n viewBox: this.type.viewBox,\n focusable: 'false' /* needed for IE11 */\n }\n }, [\n h('use', { attrs: { 'xlink:href': this.type.src } })\n ])\n ], this, 'default'))\n }\n\n if (this.type.cls !== void 0) {\n data.class += ' ' + this.type.cls\n }\n\n return h(this.tag, data, mergeSlot([\n this.type.content\n ], this, 'default'))\n }\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","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QItemLabel',\n\n mixins: [ ListenersMixin ],\n\n props: {\n overline: Boolean,\n caption: Boolean,\n header: Boolean,\n lines: [ Number, String ]\n },\n\n computed: {\n classes () {\n return {\n 'q-item__label--overline text-overline': this.overline,\n 'q-item__label--caption text-caption': this.caption,\n 'q-item__label--header': this.header,\n 'ellipsis': parseInt(this.lines, 10) === 1\n }\n },\n\n style () {\n if (this.lines !== void 0 && parseInt(this.lines, 10) > 1) {\n return {\n overflow: 'hidden',\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': this.lines\n }\n }\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-item__label',\n style: this.style,\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\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","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","/* Google Material Design Icons */\n\nexport const mat360 = 'M0 0h24v24H0z@@fill:none;&&M12 7C6.48 7 2 9.24 2 12c0 2.24 2.94 4.13 7 4.77V20l4-4-4-4v2.73c-3.15-.56-5-1.9-5-2.73 0-1.06 3.04-3 8-3s8 1.94 8 3c0 .73-1.46 1.89-4 2.53v2.05c3.53-.77 6-2.53 6-4.58 0-2.76-4.48-5-10-5z'\nexport const mat3dRotation = 'M0 0h24v24H0z@@fill:none;&&M7.52 21.48C4.25 19.94 1.91 16.76 1.55 13H.05C.56 19.16 5.71 24 12 24l.66-.03-3.81-3.81-1.33 1.32zm.89-6.52c-.19 0-.37-.03-.52-.08-.16-.06-.29-.13-.4-.24-.11-.1-.2-.22-.26-.37-.06-.14-.09-.3-.09-.47h-1.3c0 .36.07.68.21.95.14.27.33.5.56.69.24.18.51.32.82.41.3.1.62.15.96.15.37 0 .72-.05 1.03-.15.32-.1.6-.25.83-.44s.42-.43.55-.72c.13-.29.2-.61.2-.97 0-.19-.02-.38-.07-.56-.05-.18-.12-.35-.23-.51-.1-.16-.24-.3-.4-.43-.17-.13-.37-.23-.61-.31.2-.09.37-.2.52-.33.15-.13.27-.27.37-.42.1-.15.17-.3.22-.46.05-.16.07-.32.07-.48 0-.36-.06-.68-.18-.96-.12-.28-.29-.51-.51-.69-.2-.19-.47-.33-.77-.43C9.1 8.05 8.76 8 8.39 8c-.36 0-.69.05-1 .16-.3.11-.57.26-.79.45-.21.19-.38.41-.51.67-.12.26-.18.54-.18.85h1.3c0-.17.03-.32.09-.45s.14-.25.25-.34c.11-.09.23-.17.38-.22.15-.05.3-.08.48-.08.4 0 .7.1.89.31.19.2.29.49.29.86 0 .18-.03.34-.08.49-.05.15-.14.27-.25.37-.11.1-.25.18-.41.24-.16.06-.36.09-.58.09H7.5v1.03h.77c.22 0 .42.02.6.07s.33.13.45.23c.12.11.22.24.29.4.07.16.1.35.1.57 0 .41-.12.72-.35.93-.23.23-.55.33-.95.33zm8.55-5.92c-.32-.33-.7-.59-1.14-.77-.43-.18-.92-.27-1.46-.27H12v8h2.3c.55 0 1.06-.09 1.51-.27.45-.18.84-.43 1.16-.76.32-.33.57-.73.74-1.19.17-.47.26-.99.26-1.57v-.4c0-.58-.09-1.1-.26-1.57-.18-.47-.43-.87-.75-1.2zm-.39 3.16c0 .42-.05.79-.14 1.13-.1.33-.24.62-.43.85-.19.23-.43.41-.71.53-.29.12-.62.18-.99.18h-.91V9.12h.97c.72 0 1.27.23 1.64.69.38.46.57 1.12.57 1.99v.4zM12 0l-.66.03 3.81 3.81 1.33-1.33c3.27 1.55 5.61 4.72 5.96 8.48h1.5C23.44 4.84 18.29 0 12 0z'\nexport const mat4k = 'M0 0h24v24H0V0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 10.5h-1V15H9.5v-1.5h-3V9H8v3h1.5V9H11v3h1v1.5zm6 1.5h-1.75l-1.75-2.25V15H13V9h1.5v2.25L16.25 9H18l-2.25 3L18 15z'\nexport const mat5g = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,13h2v2h-5V9h7c0-1.1-0.9-2-2-2h-5c-1.1,0-2,0.9-2,2v6c0,1.1,0.9,2,2,2h5c1.1,0,2-0.9,2-2v-4h-4V13z&&M3,13h5v2H3v2h5c1.1,0,2-0.9,2-2v-2c0-1.1-0.9-2-2-2H5V9h5V7H3V13z'\nexport const mat6FtApart = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6,6c1.1,0,2-0.9,2-2S7.1,2,6,2S4,2.9,4,4S4.9,6,6,6z M10,9.43c0-0.81-0.48-1.53-1.22-1.85C7.93,7.21,6.99,7,6,7 C5.01,7,4.07,7.21,3.22,7.58C2.48,7.9,2,8.62,2,9.43V10h8V9.43z M18,6c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S16.9,6,18,6z M22,9.43 c0-0.81-0.48-1.53-1.22-1.85C19.93,7.21,18.99,7,18,7c-0.99,0-1.93,0.21-2.78,0.58C14.48,7.9,14,8.62,14,9.43V10h8V9.43z M19,17 v-2.01L5,15v2l-3-3l3-3v2.01L19,13v-2l3,3L19,17z M10,19v-1H7.5C7.22,18,7,18.22,7,18.5v3C7,21.78,7.22,22,7.5,22h2 c0.28,0,0.5-0.22,0.5-0.5V20c0-0.28-0.22-0.5-0.5-0.5H8V19H10z M9,20.5V21H8v-0.5H9z M17.5,19h-1v3h-1v-3h-1v-1h3V19z M12.5,19v0.5 h1v1h-1V22h-1v-4H14v1H12.5z'\nexport const matAccessAlarm = 'M0 0h24v24H0z@@fill:none;&&M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matAccessAlarms = 'M-618-568H782v3600H-618zM0 0h24v24H0z@@fill:none;&&M22 5.7l-4.6-3.9-1.3 1.5 4.6 3.9L22 5.7zM7.9 3.4L6.6 1.9 2 5.7l1.3 1.5 4.6-3.8zM12.5 8H11v6l4.7 2.9.8-1.2-4-2.4V8zM12 4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z'\nexport const matAccessibility = 'M0 0h24v24H0z@@fill:none;&&M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm9 7h-6v13h-2v-6h-2v6H9V9H3V7h18v2z'\nexport const matAccessibilityNew = 'M0 0h24v24H0z@@fill:none;&&M20.5 6c-2.61.7-5.67 1-8.5 1s-5.89-.3-8.5-1L3 8c1.86.5 4 .83 6 1v13h2v-6h2v6h2V9c2-.17 4.14-.5 6-1l-.5-2zM12 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z'\nexport const matAccessible = 'M0 0h24v24H0z@@fill:none;&&M12 4 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M19 13v-2c-1.54.02-3.09-.75-4.07-1.83l-1.29-1.43c-.17-.19-.38-.34-.61-.45-.01 0-.01-.01-.02-.01H13c-.35-.2-.75-.3-1.19-.26C10.76 7.11 10 8.04 10 9.09V15c0 1.1.9 2 2 2h5v5h2v-5.5c0-1.1-.9-2-2-2h-3v-3.45c1.29 1.07 3.25 1.94 5 1.95zm-6.17 5c-.41 1.16-1.52 2-2.83 2-1.66 0-3-1.34-3-3 0-1.31.84-2.41 2-2.83V12.1c-2.28.46-4 2.48-4 4.9 0 2.76 2.24 5 5 5 2.42 0 4.44-1.72 4.9-4h-2.07z'\nexport const matAccessibleForward = 'M0 0h24v24H0z@@fill:none;&&M17 4.54 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M14 17h-2c0 1.65-1.35 3-3 3s-3-1.35-3-3 1.35-3 3-3v-2c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5zm3-3.5h-1.86l1.67-3.67C17.42 8.5 16.44 7 14.96 7h-5.2c-.81 0-1.54.47-1.87 1.2L7.22 10l1.92.53L9.79 9H12l-1.83 4.1c-.6 1.33.39 2.9 1.85 2.9H17v5h2v-5.5c0-1.1-.9-2-2-2z'\nexport const matAccessTime = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z&&M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z'\nexport const matAccountBalance = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M4 10 H7 V17 H4 V10 z&&M10.5 10 H13.5 V17 H10.5 V10 z&&M2 19 H22 V22 H2 V19 z&&M17 10 H20 V17 H17 V10 z&&M12 1 L2 6 L2 8 L22 8 L22 6z'\nexport const matAccountBalanceWallet = 'M0 0h24v24H0z@@fill:none;&&M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matAccountBox = 'M0 0h24v24H0z@@fill:none;&&M3 5v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.11 0-2 .9-2 2zm12 4c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zm-9 8c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1H6v-1z'\nexport const matAccountCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z'\nexport const matAccountTree = 'M0 0h24v24H0z@@fill:none;&&M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z'\nexport const matAcUnit = 'M0 0h24v24H0z@@fill:none;&&M22 11h-4.17l3.24-3.24-1.41-1.42L15 11h-2V9l4.66-4.66-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93 6.34 4.34 11 9v2H9L4.34 6.34 2.93 7.76 6.17 11H2v2h4.17l-3.24 3.24 1.41 1.42L9 13h2v2l-4.66 4.66 1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24 1.42-1.41L13 15v-2h2l4.66 4.66 1.41-1.42L17.83 13H22z'\nexport const matAdb = 'M0 0h24v24H0z@@fill:none;&&M5 16c0 3.87 3.13 7 7 7s7-3.13 7-7v-4H5v4zM16.12 4.37l2.1-2.1-.82-.83-2.3 2.31C14.16 3.28 13.12 3 12 3s-2.16.28-3.09.75L6.6 1.44l-.82.83 2.1 2.1C6.14 5.64 5 7.68 5 10v1h14v-1c0-2.32-1.14-4.36-2.88-5.63zM9 9c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm6 0c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'\nexport const matAdd = 'M0 0h24v24H0z@@fill:none;&&M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'\nexport const matAddAlarm = 'M0 0h24v24H0z@@fill:none;&&M7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm1-11h-2v3H8v2h3v3h2v-3h3v-2h-3V9z'\nexport const matAddAlert = 'M0 0h24v24H0V0z@@fill:none;&&M10.01 21.01c0 1.1.89 1.99 1.99 1.99s1.99-.89 1.99-1.99h-3.98zm8.87-4.19V11c0-3.25-2.25-5.97-5.29-6.69v-.72C13.59 2.71 12.88 2 12 2s-1.59.71-1.59 1.59v.72C7.37 5.03 5.12 7.75 5.12 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z'\nexport const matAddAPhoto = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,4V1h2v3h3v2H5v3H3V6H0V4H3z M6,10V7h3V4h7l1.83,2H21c1.1,0,2,0.9,2,2v12c0,1.1-0.9,2-2,2H5c-1.1,0-2-0.9-2-2V10H6z M13,19c2.76,0,5-2.24,5-5s-2.24-5-5-5s-5,2.24-5,5S10.24,19,13,19z M9.8,14c0,1.77,1.43,3.2,3.2,3.2s3.2-1.43,3.2-3.2 s-1.43-3.2-3.2-3.2S9.8,12.23,9.8,14z'\nexport const matAddBox = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z'\nexport const matAddBusiness = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15,17h2v-3h1v-2l-1-5H2l-1,5v2h1v6h9v-6h4V17z M9,18H4v-4h5V18z&&M2 4 H17 V6 H2 V4 z&&M20 18 L20 15 L18 15 L18 18 L15 18 L15 20 L18 20 L18 23 L20 23 L20 20 L23 20 L23 18z'\nexport const matAddchart = 'M0 0h24v24H0z@@fill:none;&&M22 5v2h-3v3h-2V7h-3V5h3V2h2v3h3zm-3 14H5V5h6V3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6h-2v6zm-4-6v4h2v-4h-2zm-4 4h2V9h-2v8zm-2 0v-6H7v6h2z'\nexport const matAddCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z'\nexport const matAddCircleOutline = 'M0 0h24v24H0z@@fill:none;&&M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matAddComment = 'M0 0h24v24H0V0z@@fill:none;&&M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM17 11h-4v4h-2v-4H7V9h4V5h2v4h4v2z'\nexport const matAddIcCall = 'M0 0h24v24H0z@@fill:none;&&M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM21 6h-3V3h-2v3h-3v2h3v3h2V8h3z'\nexport const matAddLocation = 'M0 0h24v24H0V0z@@fill:none;&&M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm4 8h-3v3h-2v-3H8V8h3V5h2v3h3v2z'\nexport const matAddLocationAlt = 'M0 0h24v24H0z@@fill:none;&&M20 1v3h3v2h-3v3h-2V6h-3V4h3V1h2zm-8 12c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm2-9.75V7h3v3h2.92c.05.39.08.79.08 1.2 0 3.32-2.67 7.25-8 11.8-5.33-4.55-8-8.48-8-11.8C4 6.22 7.8 3 12 3c.68 0 1.35.08 2 .25z'\nexport const matAddPhotoAlternate = 'M0 0h24v24H0z@@fill:none;&&M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2h-3zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8h-3zM5 19l3-4 2 3 3-4 4 5H5z'\nexport const matAddRoad = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20 18 L20 15 L18 15 L18 18 L15 18 L15 20 L18 20 L18 23 L20 23 L20 20 L23 20 L23 18z&&M18 4 H20 V13 H18 V4 z&&M4 4 H6 V20 H4 V4 z&&M11 4 H13 V8 H11 V4 z&&M11 10 H13 V14 H11 V10 z&&M11 16 H13 V20 H11 V16 z'\nexport const matAddShoppingCart = 'M0 0h24v24H0zm18.31 6l-2.76 5z@@fill:none;&&M11 9h2V6h3V4h-3V1h-2v3H8v2h3v3zm-4 9c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2zm-9.83-3.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.86-7.01L19.42 4h-.01l-1.1 2-2.76 5H8.53l-.13-.27L6.16 6l-.95-2-.94-2H1v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.13 0-.25-.11-.25-.25z'\nexport const matAddTask = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,5.18L10.59,16.6l-4.24-4.24l1.41-1.41l2.83,2.83l10-10L22,5.18z M12,20c-4.41,0-8-3.59-8-8s3.59-8,8-8 c1.57,0,3.04,0.46,4.28,1.25l1.45-1.45C16.1,2.67,14.13,2,12,2C6.48,2,2,6.48,2,12s4.48,10,10,10c1.73,0,3.36-0.44,4.78-1.22 l-1.5-1.5C14.28,19.74,13.17,20,12,20z M19,15h-3v2h3v3h2v-3h3v-2h-3v-3h-2V15z'\nexport const matAddToHomeScreen = 'M0 0h24v24H0V0z@@fill:none;&&M0 0h24v24H0V0z@@fill:none;&&M18 1.01L8 1c-1.1 0-2 .9-2 2v3h2V5h10v14H8v-1H6v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM10 15h2V8H5v2h3.59L3 15.59 4.41 17 10 11.41z'\nexport const matAddToPhotos = 'M0 0h24v24H0z@@fill:none;&&M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9h-4v4h-2v-4H9V9h4V5h2v4h4v2z'\nexport const matAddToQueue = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.11 0-2 .89-2 2v12c0 1.1.89 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.11-.9-2-2-2zm0 14H3V5h18v12zm-5-7v2h-3v3h-2v-3H8v-2h3V7h2v3h3z'\nexport const matAdjust = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z'\nexport const matAdminPanelSettings = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,11c0.34,0,0.67,0.04,1,0.09V6.27L10.5,3L3,6.27v4.91c0,4.54,3.2,8.79,7.5,9.82c0.55-0.13,1.08-0.32,1.6-0.55 C11.41,19.47,11,18.28,11,17C11,13.69,13.69,11,17,11z&&M17,13c-2.21,0-4,1.79-4,4c0,2.21,1.79,4,4,4s4-1.79,4-4C21,14.79,19.21,13,17,13z M17,14.38c0.62,0,1.12,0.51,1.12,1.12 s-0.51,1.12-1.12,1.12s-1.12-0.51-1.12-1.12S16.38,14.38,17,14.38z M17,19.75c-0.93,0-1.74-0.46-2.24-1.17 c0.05-0.72,1.51-1.08,2.24-1.08s2.19,0.36,2.24,1.08C18.74,19.29,17.93,19.75,17,19.75z'\nexport const matAdUnits = 'M0 0h24v24H0z@@fill:none;&&M17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 18H7V5h10v14zM8 6h8v2H8z'\nexport const matAgriculture = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.5,12c0.93,0,1.78,0.28,2.5,0.76V8c0-1.1-0.9-2-2-2h-6.29l-1.06-1.06l1.41-1.41l-0.71-0.71L9.82,6.35l0.71,0.71 l1.41-1.41L13,6.71V9c0,1.1-0.9,2-2,2h-0.54c0.95,1.06,1.54,2.46,1.54,4c0,0.34-0.04,0.67-0.09,1h3.14 C15.3,13.75,17.19,12,19.5,12z&&M19.5,13c-1.93,0-3.5,1.57-3.5,3.5s1.57,3.5,3.5,3.5s3.5-1.57,3.5-3.5S21.43,13,19.5,13z M19.5,18 c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S20.33,18,19.5,18z&&M4,9h5c0-1.1-0.9-2-2-2H4C3.45,7,3,7.45,3,8C3,8.55,3.45,9,4,9z&&M9.83,13.82l-0.18-0.47L10.58,13c-0.46-1.06-1.28-1.91-2.31-2.43l-0.4,0.89l-0.46-0.21l0.4-0.9C7.26,10.13,6.64,10,6,10 c-0.53,0-1.04,0.11-1.52,0.26l0.34,0.91l-0.47,0.18L4,10.42c-1.06,0.46-1.91,1.28-2.43,2.31l0.89,0.4l-0.21,0.46l-0.9-0.4 C1.13,13.74,1,14.36,1,15c0,0.53,0.11,1.04,0.26,1.52l0.91-0.34l0.18,0.47L1.42,17c0.46,1.06,1.28,1.91,2.31,2.43l0.4-0.89 l0.46,0.21l-0.4,0.9C4.74,19.87,5.36,20,6,20c0.53,0,1.04-0.11,1.52-0.26l-0.34-0.91l0.47-0.18L8,19.58 c1.06-0.46,1.91-1.28,2.43-2.31l-0.89-0.4l0.21-0.46l0.9,0.4C10.87,16.26,11,15.64,11,15c0-0.53-0.11-1.04-0.26-1.52L9.83,13.82z M7.15,17.77c-1.53,0.63-3.29-0.09-3.92-1.62c-0.63-1.53,0.09-3.29,1.62-3.92c1.53-0.63,3.29,0.09,3.92,1.62 C9.41,15.38,8.68,17.14,7.15,17.77z'\nexport const matAirlineSeatFlat = 'M0 0h24v24H0z@@fill:none;&&M22 11v2H9V7h9c2.21 0 4 1.79 4 4zM2 14v2h6v2h8v-2h6v-2H2zm5.14-1.9c1.16-1.19 1.14-3.08-.04-4.24-1.19-1.16-3.08-1.14-4.24.04-1.16 1.19-1.14 3.08.04 4.24 1.19 1.16 3.08 1.14 4.24-.04z'\nexport const matAirlineSeatFlatAngled = 'M0 0h24v24H0z@@fill:none;&&M22.25 14.29l-.69 1.89L9.2 11.71l2.08-5.66 8.56 3.09c2.1.76 3.18 3.06 2.41 5.15zM1.5 12.14L8 14.48V19h8v-1.63L20.52 19l.69-1.89-19.02-6.86-.69 1.89zm5.8-1.94c1.49-.72 2.12-2.51 1.41-4C7.99 4.71 6.2 4.08 4.7 4.8c-1.49.71-2.12 2.5-1.4 4 .71 1.49 2.5 2.12 4 1.4z'\nexport const matAirlineSeatIndividualSuite = 'M0 0h24v24H0V0z@@fill:none;&&M7 13c1.65 0 3-1.35 3-3S8.65 7 7 7s-3 1.35-3 3 1.35 3 3 3zm12-6h-8v7H3V7H1v10h22v-6c0-2.21-1.79-4-4-4z'\nexport const matAirlineSeatLegroomExtra = 'M0 0h24v24H0z@@fill:none;&&M4 12V3H2v9c0 2.76 2.24 5 5 5h6v-2H7c-1.66 0-3-1.34-3-3zm18.83 5.24c-.38-.72-1.29-.97-2.03-.63l-1.09.5-3.41-6.98c-.34-.68-1.03-1.12-1.79-1.12L11 9V3H5v8c0 1.66 1.34 3 3 3h7l3.41 7 3.72-1.7c.77-.36 1.1-1.3.7-2.06z'\nexport const matAirlineSeatLegroomNormal = 'M0 0h24v24H0z@@fill:none;&&M5 12V3H3v9c0 2.76 2.24 5 5 5h6v-2H8c-1.66 0-3-1.34-3-3zm15.5 6H19v-7c0-1.1-.9-2-2-2h-5V3H6v8c0 1.65 1.35 3 3 3h7v7h4.5c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5z'\nexport const matAirlineSeatLegroomReduced = 'M0 0h24v24H0z@@fill:none;&&M19.97 19.2c.18.96-.55 1.8-1.47 1.8H14v-3l1-4H9c-1.65 0-3-1.35-3-3V3h6v6h5c1.1 0 2 .9 2 2l-2 7h1.44c.73 0 1.39.49 1.53 1.2zM5 12V3H3v9c0 2.76 2.24 5 5 5h4v-2H8c-1.66 0-3-1.34-3-3z'\nexport const matAirlineSeatReclineExtra = 'M0 0h24v24H0z@@fill:none;&&M5.35 5.64c-.9-.64-1.12-1.88-.49-2.79.63-.9 1.88-1.12 2.79-.49.9.64 1.12 1.88.49 2.79-.64.9-1.88 1.12-2.79.49zM16 19H8.93c-1.48 0-2.74-1.08-2.96-2.54L4 7H2l1.99 9.76C4.37 19.2 6.47 21 8.94 21H16v-2zm.23-4h-4.88l-1.03-4.1c1.58.89 3.28 1.54 5.15 1.22V9.99c-1.63.31-3.44-.27-4.69-1.25L9.14 7.47c-.23-.18-.49-.3-.76-.38-.32-.09-.66-.12-.99-.06h-.02c-1.23.22-2.05 1.39-1.84 2.61l1.35 5.92C7.16 16.98 8.39 18 9.83 18h6.85l3.82 3 1.5-1.5-5.77-4.5z'\nexport const matAirlineSeatReclineNormal = 'M0 0h24v24H0z@@fill:none;&&M7.59 5.41c-.78-.78-.78-2.05 0-2.83.78-.78 2.05-.78 2.83 0 .78.78.78 2.05 0 2.83-.79.79-2.05.79-2.83 0zM6 16V7H4v9c0 2.76 2.24 5 5 5h6v-2H9c-1.66 0-3-1.34-3-3zm14 4.07L14.93 15H11.5v-3.68c1.4 1.15 3.6 2.16 5.5 2.16v-2.16c-1.66.02-3.61-.87-4.67-2.04l-1.4-1.55c-.19-.21-.43-.38-.69-.5-.29-.14-.62-.23-.96-.23h-.03C8.01 7 7 8.01 7 9.25V15c0 1.66 1.34 3 3 3h5.07l3.5 3.5L20 20.07z'\nexport const matAirplanemodeActive = 'M22,16v-2l-8.5-5V3.5C13.5,2.67,12.83,2,12,2s-1.5,0.67-1.5,1.5V9L2,14v2l8.5-2.5V19L8,20.5L8,22l4-1l4,1l0-1.5L13.5,19 v-5.5L22,16z&&M0,0h24v24H0V0z@@fill:none;'\nexport const matAirplanemodeInactive = 'M10.5,7.67V3.5C10.5,2.67,11.17,2,12,2c0.83,0,1.5,0.67,1.5,1.5V9l8.5,5v2l-4.49-1.32L10.5,7.67z M19.78,22.61l1.41-1.41 L13.5,13.5L9.56,9.56L2.81,2.81L1.39,4.22l6.38,6.38L2,14v2l8.5-2.5V19L8,20.5L8,22l4-1l4,1l0-1.5L13.5,19v-2.67L19.78,22.61z&&M0,0h24v24H0V0z@@fill:none;'\nexport const matAirplay = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6 22 L18 22 L12 16z&&M21,3H3C1.9,3,1,3.9,1,5v12c0,1.1,0.9,2,2,2h4v-2H3V5h18v12h-4v2h4c1.1,0,2-0.9,2-2V5C23,3.9,22.1,3,21,3z'\nexport const matAirportShuttle = 'M0 0h24v24H0z@@fill:none;&&M17 5H3c-1.1 0-2 .89-2 2v9h2c0 1.65 1.34 3 3 3s3-1.35 3-3h5.5c0 1.65 1.34 3 3 3s3-1.35 3-3H23v-5l-6-6zM3 11V7h4v4H3zm3 6.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm7-6.5H9V7h4v4zm4.5 6.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM15 11V7h1l4 4h-5z'\nexport const matAlarm = 'M0 0h24v24H0z@@fill:none;&&M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matAlarmAdd = 'M0 0h24v24H0z@@fill:none;&&M7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm1-11h-2v3H8v2h3v3h2v-3h3v-2h-3V9z'\nexport const matAlarmOff = 'M0 0h24v24H0z@@fill:none;&&M12 6c3.87 0 7 3.13 7 7 0 .84-.16 1.65-.43 2.4l1.52 1.52c.58-1.19.91-2.51.91-3.92 0-4.97-4.03-9-9-9-1.41 0-2.73.33-3.92.91L9.6 6.43C10.35 6.16 11.16 6 12 6zm10-.28l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM2.92 2.29L1.65 3.57 2.98 4.9l-1.11.93 1.42 1.42 1.11-.94.8.8C3.83 8.69 3 10.75 3 13c0 4.97 4.02 9 9 9 2.25 0 4.31-.83 5.89-2.2l2.2 2.2 1.27-1.27L3.89 3.27l-.97-.98zm13.55 16.1C15.26 19.39 13.7 20 12 20c-3.87 0-7-3.13-7-7 0-1.7.61-3.26 1.61-4.47l9.86 9.86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z'\nexport const matAlarmOn = 'M0 0h24v24H0z@@fill:none;&&M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-1.46-5.47L8.41 12.4l-1.06 1.06 3.18 3.18 6-6-1.06-1.06-4.93 4.95z'\nexport const matAlbum = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 14.5c-2.49 0-4.5-2.01-4.5-4.5S9.51 7.5 12 7.5s4.5 2.01 4.5 4.5-2.01 4.5-4.5 4.5zm0-5.5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1z'\nexport const matAllInbox = 'M0 0h24v24H0V0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 6h-4c0 1.62-1.38 3-3 3s-3-1.38-3-3H5V5h14v4zm-4 7h6v3c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2v-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3z'\nexport const matAllInclusive = 'M0 0h24v24H0V0z@@fill:none;&&M18.6 6.62c-1.44 0-2.8.56-3.77 1.53L12 10.66 10.48 12h.01L7.8 14.39c-.64.64-1.49.99-2.4.99-1.87 0-3.39-1.51-3.39-3.38S3.53 8.62 5.4 8.62c.91 0 1.76.35 2.44 1.03l1.13 1 1.51-1.34L9.22 8.2C8.2 7.18 6.84 6.62 5.4 6.62 2.42 6.62 0 9.04 0 12s2.42 5.38 5.4 5.38c1.44 0 2.8-.56 3.77-1.53l2.83-2.5.01.01L13.52 12h-.01l2.69-2.39c.64-.64 1.49-.99 2.4-.99 1.87 0 3.39 1.51 3.39 3.38s-1.52 3.38-3.39 3.38c-.9 0-1.76-.35-2.44-1.03l-1.14-1.01-1.51 1.34 1.27 1.12c1.02 1.01 2.37 1.57 3.82 1.57 2.98 0 5.4-2.41 5.4-5.38s-2.42-5.37-5.4-5.37z'\nexport const matAllOut = 'M16.21 4.16l4 4v-4zm4 12l-4 4h4zm-12 4l-4-4v4zm-4-12l4-4h-4zm12.95-.95c-2.73-2.73-7.17-2.73-9.9 0s-2.73 7.17 0 9.9 7.17 2.73 9.9 0 2.73-7.16 0-9.9zm-1.1 8.8c-2.13 2.13-5.57 2.13-7.7 0s-2.13-5.57 0-7.7 5.57-2.13 7.7 0 2.13 5.57 0 7.7z&&M.21.16h24v24h-24z@@fill:none;'\nexport const matAlternateEmail = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10h5v-2h-5c-4.34 0-8-3.66-8-8s3.66-8 8-8 8 3.66 8 8v1.43c0 .79-.71 1.57-1.5 1.57s-1.5-.78-1.5-1.57V12c0-2.76-2.24-5-5-5s-5 2.24-5 5 2.24 5 5 5c1.38 0 2.64-.56 3.54-1.47.65.89 1.77 1.47 2.96 1.47 1.97 0 3.5-1.6 3.5-3.57V12c0-5.52-4.48-10-10-10zm0 13c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z'\nexport const matAltRoute = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9.78,11.16l-1.42,1.42c-0.68-0.69-1.34-1.58-1.79-2.94l1.94-0.49C8.83,10.04,9.28,10.65,9.78,11.16z M11,6L7,2L3,6h3.02 C6.04,6.81,6.1,7.54,6.21,8.17l1.94-0.49C8.08,7.2,8.03,6.63,8.02,6H11z M21,6l-4-4l-4,4h2.99c-0.1,3.68-1.28,4.75-2.54,5.88 c-0.5,0.44-1.01,0.92-1.45,1.55c-0.34-0.49-0.73-0.88-1.13-1.24L9.46,13.6C10.39,14.45,11,15.14,11,17c0,0,0,0,0,0h0v5h2v-5 c0,0,0,0,0,0c0-2.02,0.71-2.66,1.79-3.63c1.38-1.24,3.08-2.78,3.2-7.37H21z'\nexport const matAmpStories = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7 4 H17 V19 H7 V4 z&&M3 6 H5 V17 H3 V6 z&&M19 6 H21 V17 H19 V6 z'\nexport const matAnalytics = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-5h2v5zm4 0h-2v-3h2v3zm0-5h-2v-2h2v2zm4 5h-2V7h2v10z'\nexport const matAnchor = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,15l1.55,1.55c-0.96,1.69-3.33,3.04-5.55,3.37V11h3V9h-3V7.82C14.16,7.4,15,6.3,15,5c0-1.65-1.35-3-3-3S9,3.35,9,5 c0,1.3,0.84,2.4,2,2.82V9H8v2h3v8.92c-2.22-0.33-4.59-1.68-5.55-3.37L7,15l-4-3v3c0,3.88,4.92,7,9,7s9-3.12,9-7v-3L17,15z M12,4 c0.55,0,1,0.45,1,1s-0.45,1-1,1s-1-0.45-1-1S11.45,4,12,4z'\nexport const matAndroid = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.6,9.48l1.84-3.18c0.16-0.31,0.04-0.69-0.26-0.85c-0.29-0.15-0.65-0.06-0.83,0.22l-1.88,3.24 c-2.86-1.21-6.08-1.21-8.94,0L5.65,5.67c-0.19-0.29-0.58-0.38-0.87-0.2C4.5,5.65,4.41,6.01,4.56,6.3L6.4,9.48 C3.3,11.25,1.28,14.44,1,18h22C22.72,14.44,20.7,11.25,17.6,9.48z M7,15.25c-0.69,0-1.25-0.56-1.25-1.25 c0-0.69,0.56-1.25,1.25-1.25S8.25,13.31,8.25,14C8.25,14.69,7.69,15.25,7,15.25z M17,15.25c-0.69,0-1.25-0.56-1.25-1.25 c0-0.69,0.56-1.25,1.25-1.25s1.25,0.56,1.25,1.25C18.25,14.69,17.69,15.25,17,15.25z'\nexport const matAnnouncement = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 9h-2V5h2v6zm0 4h-2v-2h2v2z'\nexport const matApartment = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,11V3H7v4H3v14h8v-4h2v4h8V11H17z M7,19H5v-2h2V19z M7,15H5v-2h2V15z M7,11H5V9h2V11z M11,15H9v-2h2V15z M11,11H9V9h2 V11z M11,7H9V5h2V7z M15,15h-2v-2h2V15z M15,11h-2V9h2V11z M15,7h-2V5h2V7z M19,19h-2v-2h2V19z M19,15h-2v-2h2V15z'\nexport const matApi = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,12l-2,2l-2-2l2-2L14,12z M12,6l2.12,2.12l2.5-2.5L12,1L7.38,5.62l2.5,2.5L12,6z M6,12l2.12-2.12l-2.5-2.5L1,12 l4.62,4.62l2.5-2.5L6,12z M18,12l-2.12,2.12l2.5,2.5L23,12l-4.62-4.62l-2.5,2.5L18,12z M12,18l-2.12-2.12l-2.5,2.5L12,23l4.62-4.62 l-2.5-2.5L12,18z'\nexport const matAppBlocking = 'M0 0h24v24H0z@@fill:none;&&M18 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm-2.5 4c0-1.38 1.12-2.5 2.5-2.5.42 0 .8.11 1.15.29l-3.36 3.36c-.18-.35-.29-.73-.29-1.15zm2.5 2.5c-.42 0-.8-.11-1.15-.29l3.36-3.36c.18.35.29.73.29 1.15 0 1.38-1.12 2.5-2.5 2.5zM17 18H7V6h10v1h2V3c0-1.1-.9-2-2-2H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v1z'\nexport const matApps = 'M0 0h24v24H0z@@fill:none;&&M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z'\nexport const matAppSettingsAlt = 'M0 0h24v24H0z@@fill:none;&&M21.81 12.74l-.82-.63v-.22l.8-.63c.16-.12.2-.34.1-.51l-.85-1.48c-.07-.13-.21-.2-.35-.2-.05 0-.1.01-.15.03l-.95.38c-.08-.05-.11-.07-.19-.11l-.15-1.01c-.03-.21-.2-.36-.4-.36h-1.71c-.2 0-.37.15-.4.34l-.14 1.01c-.03.02-.07.03-.1.05l-.09.06-.95-.38c-.05-.02-.1-.03-.15-.03-.14 0-.27.07-.35.2l-.85 1.48c-.1.17-.06.39.1.51l.8.63v.23l-.8.63c-.16.12-.2.34-.1.51l.85 1.48c.07.13.21.2.35.2.05 0 .1-.01.15-.03l.95-.37c.08.05.12.07.2.11l.15 1.01c.03.2.2.34.4.34h1.71c.2 0 .37-.15.4-.34l.15-1.01c.03-.02.07-.03.1-.05l.09-.06.95.38c.05.02.1.03.15.03.14 0 .27-.07.35-.2l.85-1.48c.1-.17.06-.39-.1-.51zM18 13.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM17 17h2v4c0 1.1-.9 2-2 2H7c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v4h-2V6H7v12h10v-1z'\nexport const matArchitecture = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.36,18.78L6.61,21l1.62-1.54l2.77-7.6c-0.68-0.17-1.28-0.51-1.77-0.98L6.36,18.78z&&M14.77,10.88c-0.49,0.47-1.1,0.81-1.77,0.98l2.77,7.6L17.39,21l0.26-2.22L14.77,10.88z&&M15,8c0-1.3-0.84-2.4-2-2.82V3h-2v2.18C9.84,5.6,9,6.7,9,8c0,1.66,1.34,3,3,3S15,9.66,15,8z M12,9c-0.55,0-1-0.45-1-1 c0-0.55,0.45-1,1-1s1,0.45,1,1C13,8.55,12.55,9,12,9z'\nexport const matArchive = 'M0 0h24v24H0z@@fill:none;&&M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z'\nexport const matArrowBack = 'M0 0h24v24H0z@@fill:none;&&M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z'\nexport const matArrowBackIos = 'M0 0h24v24H0z@@fill:none;&&M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z'\nexport const matArrowCircleDown = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,4c4.41,0,8,3.59,8,8s-3.59,8-8,8s-8-3.59-8-8S7.59,4,12,4 M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10 c5.52,0,10-4.48,10-10C22,6.48,17.52,2,12,2L12,2z M13,12l0-4h-2l0,4H8l4,4l4-4H13z'\nexport const matArrowCircleUp = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,20c-4.41,0-8-3.59-8-8s3.59-8,8-8s8,3.59,8,8S16.41,20,12,20 M12,22c5.52,0,10-4.48,10-10c0-5.52-4.48-10-10-10 C6.48,2,2,6.48,2,12C2,17.52,6.48,22,12,22L12,22z M11,12l0,4h2l0-4h3l-4-4l-4,4H11z'\nexport const matArrowDownward = 'M0 0h24v24H0V0z@@fill:none;&&M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z'\nexport const matArrowDropDown = 'M0 0h24v24H0z@@fill:none;&&M7 10l5 5 5-5z'\nexport const matArrowDropDownCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 12l-4-4h8l-4 4z'\nexport const matArrowDropUp = 'M0 0h24v24H0z@@fill:none;&&M7 14l5-5 5 5z'\nexport const matArrowForward = 'M0 0h24v24H0z@@fill:none;&&M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'\nexport const matArrowForwardIos = 'M0 0h24v24H0z@@fill:none;&&M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z'\nexport const matArrowLeft = 'M14 7l-5 5 5 5V7z&&M24 0v24H0V0h24z@@fill:none;'\nexport const matArrowRight = 'M10 17l5-5-5-5v10z&&M0 24V0h24v24H0z@@fill:none;'\nexport const matArrowRightAlt = 'M0 0h24v24H0z@@fill:none;&&M16.01 11H4v2h12.01v3L20 12l-3.99-4z'\nexport const matArrowUpward = 'M0 0h24v24H0V0z@@fill:none;&&M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z'\nexport const matArticle = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'\nexport const matArtTrack = 'M0 0h24v24H0z@@fill:none;&&M22 13h-8v-2h8v2zm0-6h-8v2h8V7zm-8 10h8v-2h-8v2zm-2-8v6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2zm-1.5 6l-2.25-3-1.75 2.26-1.25-1.51L3.5 15h7z'\nexport const matAspectRatio = 'M0 0h24v24H0z@@fill:none;&&M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z'\nexport const matAssessment = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z'\nexport const matAssignment = 'M0 0h24v24H0z@@fill:none;&&M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'\nexport const matAssignmentInd = 'M0 0h24v24H0z@@fill:none;&&M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z'\nexport const matAssignmentLate = 'M0 0h24v24H0z@@fill:none;&&M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-6 15h-2v-2h2v2zm0-4h-2V8h2v6zm-1-9c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'\nexport const matAssignmentReturn = 'M0 0h24v24H0z@@fill:none;&&M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm4 12h-4v3l-5-5 5-5v3h4v4z'\nexport const matAssignmentReturned = 'M0 0h24v24H0z@@fill:none;&&M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 15l-5-5h3V9h4v4h3l-5 5z'\nexport const matAssignmentTurnedIn = 'M0 0h24v24H0z@@fill:none;&&M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-2 14l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'\nexport const matAssistant = 'M0 0h24v24H0z@@fill:none;&&M19 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-5.12 10.88L12 17l-1.88-4.12L6 11l4.12-1.88L12 5l1.88 4.12L18 11l-4.12 1.88z'\nexport const matAssistantPhoto = 'M0 0h24v24H0z@@fill:none;&&M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z'\nexport const matAtm = 'M0 0h24v24H0z@@fill:none;&&M8 9v1.5h2.25V15h1.5v-4.5H14V9zM6 9H3c-.55 0-1 .45-1 1v5h1.5v-1.5h2V15H7v-5c0-.55-.45-1-1-1zm-.5 3h-2v-1.5h2V12zM21 9h-4.5c-.55 0-1 .45-1 1v5H17v-4.5h1V14h1.5v-3.51h1V15H22v-5c0-.55-.45-1-1-1z'\nexport const matAttachEmail = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,10V4c0-1.1-0.9-2-2-2H3C1.9,2,1.01,2.9,1.01,4L1,16c0,1.1,0.9,2,2,2h11v-5c0-1.66,1.34-3,3-3H21z M11,11L3,6V4l8,5 l8-5v2L11,11z&&M21,14v4c0,1.1-0.9,2-2,2s-2-0.9-2-2v-4.5c0-0.28,0.22-0.5,0.5-0.5s0.5,0.22,0.5,0.5V18h2v-4.5c0-1.38-1.12-2.5-2.5-2.5 S15,12.12,15,13.5V18c0,2.21,1.79,4,4,4s4-1.79,4-4v-4H21z'\nexport const matAttachFile = 'M0 0h24v24H0z@@fill:none;&&M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z'\nexport const matAttachment = 'M0 0h24v24H0V0z@@fill:none;&&M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z'\nexport const matAttachMoney = 'M0 0h24v24H0z@@fill:none;&&M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z'\nexport const matAudiotrack = 'M0 0h24v24H0z@@fill:none;&&M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7z'\nexport const matAutoDelete = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15 2 L11.5 2 L10.5 1 L5.5 1 L4.5 2 L1 2 L1 4 L15 4z&&M16,9c-0.7,0-1.37,0.1-2,0.29V5H2v12c0,1.1,0.9,2,2,2h5.68c1.12,2.36,3.53,4,6.32,4c3.87,0,7-3.13,7-7 C23,12.13,19.87,9,16,9z M16,21c-2.76,0-5-2.24-5-5s2.24-5,5-5s5,2.24,5,5S18.76,21,16,21z&&M16.5 12 L15 12 L15 17 L18.6 19.1 L19.4 17.9 L16.5 16.2z'\nexport const matAutorenew = 'M0 0h24v24H0z@@fill:none;&&M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z'\nexport const matAvTimer = 'M0 0h24v24H0z@@fill:none;&&M11 17c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1zm0-14v4h2V5.08c3.39.49 6 3.39 6 6.92 0 3.87-3.13 7-7 7s-7-3.13-7-7c0-1.68.59-3.22 1.58-4.42L12 13l1.41-1.41-6.8-6.8v.02C4.42 6.45 3 9.05 3 12c0 4.97 4.02 9 9 9 4.97 0 9-4.03 9-9s-4.03-9-9-9h-1zm7 9c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zM6 12c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z'\nexport const matBabyChangingStation = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,8v2h-3L8.31,8.82L7,12.75V22H3V12l1.58-4.63C4.96,6.25,6.22,5.69,7.3,6.18l4.15,1.83L14,8z M8,1C6.9,1,6,1.9,6,3 s0.9,2,2,2s2-0.9,2-2S9.1,1,8,1z M9,19h12v-2H9V19z M19.5,16c0.83,0,1.5-0.67,1.5-1.5c0-0.83-0.67-1.5-1.5-1.5S18,13.67,18,14.5 C18,15.33,18.67,16,19.5,16z M13,12c0-0.55-0.45-1-1-1H9v2h2v1c0,1.1,0.9,2,2,2h2c1.1,0,2-0.9,2-2v-3h-2v2h-2V12z'\nexport const matBackpack = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,8v12c0,1.1-0.9,2-2,2H6c-1.1,0-2-0.9-2-2V8c0-1.86,1.28-3.41,3-3.86V2h3v2h4V2h3v2.14C18.72,4.59,20,6.14,20,8z M6,12v2h10v2h2v-4H6z'\nexport const matBackspace = 'M0 0h24v24H0z@@fill:none;&&M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'\nexport const matBackup = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'\nexport const matBackupTable = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,6v14H6v2h14c1.1,0,2-0.9,2-2V6H20z&&M16,2H4C2.9,2,2,2.9,2,4v12c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C18,2.9,17.1,2,16,2z M9,16H4v-5h5V16z M16,16h-5v-5h5 V16z M16,9H4V4h12V9z'\nexport const matBallot = 'M0 0 H24 V24 H0 V0 z@@fill:none;fill-rule:evenodd;&&M13,9.5h5v-2h-5V9.5z M13,16.5h5v-2h-5V16.5z M19,21H5c-1.1,0-2-0.9-2-2V5 c0-1.1,0.9-2,2-2h14c1.1,0,2,0.9,2,2v14C21,20.1,20.1,21,19,21z M6,11h5V6H6V11z M7,7h3v3H7V7z M6,18h5v-5H6V18z M7,14h3v3H7V14z@@fill-rule:evenodd;'\nexport const matBarChart = 'M0 0h24v24H0z@@fill:none;&&M5 9.2h3V19H5zM10.6 5h2.8v14h-2.8zm5.6 8H19v6h-2.8z'\nexport const matBatchPrediction = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,8H7c-1.1,0-2,0.9-2,2v10c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V10C19,8.9,18.1,8,17,8z M13,20.5h-2V19h2V20.5z M13,18h-2 c0-1.5-2.5-3-2.5-5c0-1.93,1.57-3.5,3.5-3.5c1.93,0,3.5,1.57,3.5,3.5C15.5,15,13,16.5,13,18z M18,6.5H6v0C6,5.67,6.67,5,7.5,5h9 C17.33,5,18,5.67,18,6.5L18,6.5z M17,3.5H7v0C7,2.67,7.67,2,8.5,2h7C16.33,2,17,2.67,17,3.5L17,3.5z'\nexport const matBathtub = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7 7 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M20,13V4.83C20,3.27,18.73,2,17.17,2c-0.75,0-1.47,0.3-2,0.83l-1.25,1.25C13.76,4.03,13.59,4,13.41,4 c-0.4,0-0.77,0.12-1.08,0.32l2.76,2.76c0.2-0.31,0.32-0.68,0.32-1.08c0-0.18-0.03-0.34-0.07-0.51l1.25-1.25 C16.74,4.09,16.95,4,17.17,4C17.63,4,18,4.37,18,4.83V13h-6.85c-0.3-0.21-0.57-0.45-0.82-0.72l-1.4-1.55 c-0.19-0.21-0.43-0.38-0.69-0.5C7.93,10.08,7.59,10,7.24,10C6,10.01,5,11.01,5,12.25V13H2v6c0,1.1,0.9,2,2,2c0,0.55,0.45,1,1,1 h14c0.55,0,1-0.45,1-1c1.1,0,2-0.9,2-2v-6H20z'\nexport const matBatteryAlert = 'M0 0h24v24H0z@@fill:none;&&M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z'\nexport const matBatteryChargingFull = 'M0 0h24v24H0z@@fill:none;&&M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM11 20v-5.5H9L13 7v5.5h2L11 20z'\nexport const matBatteryFull = 'M0 0h24v24H0z@@fill:none;&&M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4z'\nexport const matBatteryStd = 'M0 0h24v24H0z@@fill:none;&&M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4z'\nexport const matBatteryUnknown = 'M0 0h24v24H0z@@fill:none;&&M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zm-2.72 13.95h-1.9v-1.9h1.9v1.9zm1.35-5.26s-.38.42-.67.71c-.48.48-.83 1.15-.83 1.6h-1.6c0-.83.46-1.52.93-2l.93-.94c.27-.27.44-.65.44-1.06 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5H9c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .66-.27 1.26-.7 1.69z'\nexport const matBeachAccess = 'M0 0h24v24H0z@@fill:none;&&M13.127 14.56l1.43-1.43 6.44 6.443L19.57 21zm4.293-5.73l2.86-2.86c-3.95-3.95-10.35-3.96-14.3-.02 3.93-1.3 8.31-.25 11.44 2.88zM5.95 5.98c-3.94 3.95-3.93 10.35.02 14.3l2.86-2.86C5.7 14.29 4.65 9.91 5.95 5.98zm.02-.02l-.01.01c-.38 3.01 1.17 6.88 4.3 10.02l5.73-5.73c-3.13-3.13-7.01-4.68-10.02-4.3z'\nexport const matBedtime = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12.34,2.02C6.59,1.82,2,6.42,2,12c0,5.52,4.48,10,10,10c3.71,0,6.93-2.02,8.66-5.02C13.15,16.73,8.57,8.55,12.34,2.02z'\nexport const matBeenhere = 'M0 0h24v24H0z@@fill:none;&&M19 1H5c-1.1 0-1.99.9-1.99 2L3 15.93c0 .69.35 1.3.88 1.66L12 23l8.11-5.41c.53-.36.88-.97.88-1.66L21 3c0-1.1-.9-2-2-2zm-9 15l-5-5 1.41-1.41L10 13.17l7.59-7.59L19 7l-9 9z'\nexport const matBento = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,11V5h4c1.1,0,2,0.9,2,2v4H16z M20,19c1.1,0,2-0.9,2-2v-4h-6v6H20z M14,5v14H4c-1.1,0-2-0.9-2-2V7c0-1.1,0.9-2,2-2H14z M9.5,12c0-0.83-0.67-1.5-1.5-1.5S6.5,11.17,6.5,12s0.67,1.5,1.5,1.5S9.5,12.83,9.5,12z'\nexport const matBikeScooter = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M10,14h0.74L8.82,5.56C8.61,4.65,7.8,4,6.87,4H3v2h3.87l1.42,6.25c0,0-0.01,0-0.01,0C6.12,12.9,4.47,14.73,4.09,17H0v2h6 v-1C6,15.79,7.79,14,10,14z&&M19,8h-0.82l-1.35-3.69C16.55,3.52,15.8,3,14.96,3H11v2h3.96l1.1,3H10.4l0.46,2H15c-0.43,0.58-0.75,1.25-0.9,2h-2.79 l0.46,2h2.33c0.44,2.23,2.31,3.88,4.65,3.99c2.8,0.13,5.25-2.19,5.25-5C24,10.2,21.8,8,19,8z M19,16c-1.68,0-3-1.32-3-3 c0-0.93,0.41-1.73,1.05-2.28l0.96,2.64l1.88-0.68l-0.97-2.67c0.03,0,0.06-0.01,0.09-0.01c1.68,0,3,1.32,3,3S20.68,16,19,16z&&M10,15c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S11.66,15,10,15z M10,19c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1 S10.55,19,10,19z'\nexport const matBiotech = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7,19c-1.1,0-2,0.9-2,2h14c0-1.1-0.9-2-2-2h-4v-2h3c1.1,0,2-0.9,2-2h-8c-1.66,0-3-1.34-3-3c0-1.09,0.59-2.04,1.46-2.56 C8.17,9.03,8,8.54,8,8c0-0.21,0.04-0.42,0.09-0.62C6.28,8.13,5,9.92,5,12c0,2.76,2.24,5,5,5v2H7z&&M10.56,5.51C11.91,5.54,13,6.64,13,8c0,0.75-0.33,1.41-0.85,1.87l0.59,1.62l0.94-0.34l0.34,0.94l1.88-0.68l-0.34-0.94 l0.94-0.34L13.76,2.6l-0.94,0.34L12.48,2L10.6,2.68l0.34,0.94L10,3.97L10.56,5.51z&&M10.5 8 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0'\nexport const matBlock = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z'\nexport const matBluetooth = 'M0 0h24v24H0z@@fill:none;&&M17.71 7.71L12 2h-1v7.59L6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 11 14.41V22h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 5.83l1.88 1.88L13 9.59V5.83zm1.88 10.46L13 18.17v-3.76l1.88 1.88z'\nexport const matBluetoothAudio = 'M0 0h24v24H0z@@fill:none;&&M14.24 12.01l2.32 2.32c.28-.72.44-1.51.44-2.33 0-.82-.16-1.59-.43-2.31l-2.33 2.32zm5.29-5.3l-1.26 1.26c.63 1.21.98 2.57.98 4.02s-.36 2.82-.98 4.02l1.2 1.2c.97-1.54 1.54-3.36 1.54-5.31-.01-1.89-.55-3.67-1.48-5.19zm-3.82 1L10 2H9v7.59L4.41 5 3 6.41 8.59 12 3 17.59 4.41 19 9 14.41V22h1l5.71-5.71-4.3-4.29 4.3-4.29zM11 5.83l1.88 1.88L11 9.59V5.83zm1.88 10.46L11 18.17v-3.76l1.88 1.88z'\nexport const matBluetoothConnected = 'M0 0h24v24H0z@@fill:none;&&M7 12l-2-2-2 2 2 2 2-2zm10.71-4.29L12 2h-1v7.59L6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 11 14.41V22h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 5.83l1.88 1.88L13 9.59V5.83zm1.88 10.46L13 18.17v-3.76l1.88 1.88zM19 10l-2 2 2 2 2-2-2-2z'\nexport const matBluetoothDisabled = 'M0 0h24v24H0z@@fill:none;&&M13 5.83l1.88 1.88-1.6 1.6 1.41 1.41 3.02-3.02L12 2h-1v5.03l2 2v-3.2zM5.41 4L4 5.41 10.59 12 5 17.59 6.41 19 11 14.41V22h1l4.29-4.29 2.3 2.29L20 18.59 5.41 4zM13 18.17v-3.76l1.88 1.88L13 18.17z'\nexport const matBluetoothSearching = 'M0 0h24v24H0z@@fill:none;&&M14.24 12.01l2.32 2.32c.28-.72.44-1.51.44-2.33 0-.82-.16-1.59-.43-2.31l-2.33 2.32zm5.29-5.3l-1.26 1.26c.63 1.21.98 2.57.98 4.02s-.36 2.82-.98 4.02l1.2 1.2c.97-1.54 1.54-3.36 1.54-5.31-.01-1.89-.55-3.67-1.48-5.19zm-3.82 1L10 2H9v7.59L4.41 5 3 6.41 8.59 12 3 17.59 4.41 19 9 14.41V22h1l5.71-5.71-4.3-4.29 4.3-4.29zM11 5.83l1.88 1.88L11 9.59V5.83zm1.88 10.46L11 18.17v-3.76l1.88 1.88z'\nexport const matBlurCircular = 'M0 0h24v24H0z@@fill:none;&&M10 9c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0 4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zM7 9.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm3 7c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm-3-3c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm3-6c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zM14 9c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0-1.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zm3 6c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm0-4c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm2-3.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm0-3.5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1z'\nexport const matBlurLinear = 'M0 0h24v24H0z@@fill:none;&&M5 17.5c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5-1.5.67-1.5 1.5.67 1.5 1.5 1.5zM9 13c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0-4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zM3 21h18v-2H3v2zM5 9.5c.83 0 1.5-.67 1.5-1.5S5.83 6.5 5 6.5 3.5 7.17 3.5 8 4.17 9.5 5 9.5zm0 4c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5-1.5.67-1.5 1.5.67 1.5 1.5 1.5zM9 17c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8-.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zM3 3v2h18V3H3zm14 5.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zm0 4c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zM13 9c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0 4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0 4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z'\nexport const matBlurOff = 'M0 0h24v24H0z@@fill:none;&&M14 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm-.2 4.48l.2.02c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5-1.5.67-1.5 1.5l.02.2c.09.67.61 1.19 1.28 1.28zM14 3.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zm-4 0c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zm11 7c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zM10 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 8c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0-4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0-4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm-4 13.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zM2.5 5.27l3.78 3.78L6 9c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1c0-.1-.03-.19-.06-.28l2.81 2.81c-.71.11-1.25.73-1.25 1.47 0 .83.67 1.5 1.5 1.5.74 0 1.36-.54 1.47-1.25l2.81 2.81c-.09-.03-.18-.06-.28-.06-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1c0-.1-.03-.19-.06-.28l3.78 3.78L20 20.23 3.77 4 2.5 5.27zM10 17c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm11-3.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zM6 13c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zM3 9.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm7 11c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zM6 17c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-3-3.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5z'\nexport const matBlurOn = 'M0 0h24v24H0z@@fill:none;&&M6 13c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0 4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0-8c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-3 .5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zM6 5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm15 5.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zM14 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0-3.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zm-11 10c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm7 7c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm0-17c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5zM10 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm0 5.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm8 .5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0 4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0-8c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0-4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm3 8.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zM14 17c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm0 3.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5zm-4-12c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0 8.5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm4-4.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-4c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z'\nexport const matBook = 'M0 0h24v24H0z@@fill:none;&&M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'\nexport const matBookmark = 'M0 0h24v24H0z@@fill:none;&&M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z'\nexport const matBookmarkBorder = 'M0 0h24v24H0z@@fill:none;&&M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z'\nexport const matBookmarks = 'M0 0h24v24H0V0z@@fill:none;&&M19 18l2 1V3c0-1.1-.9-2-2-2H8.99C7.89 1 7 1.9 7 3h10c1.1 0 2 .9 2 2v13zM15 5H5c-1.1 0-2 .9-2 2v16l7-3 7 3V7c0-1.1-.9-2-2-2z'\nexport const matBookOnline = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,1H7C5.9,1,5,1.9,5,3v18c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V3C19,1.9,18.1,1,17,1z M7,18V6h10v12H7z M16,11V9.14 C16,8.51,15.55,8,15,8H9C8.45,8,8,8.51,8,9.14l0,1.96c0.55,0,1,0.45,1,1c0,0.55-0.45,1-1,1l0,1.76C8,15.49,8.45,16,9,16h6 c0.55,0,1-0.51,1-1.14V13c-0.55,0-1-0.45-1-1C15,11.45,15.45,11,16,11z M12.5,14.5h-1v-1h1V14.5z M12.5,12.5h-1v-1h1V12.5z M12.5,10.5h-1v-1h1V10.5z'\nexport const matBorderAll = 'M0 0h24v24H0z@@fill:none;&&M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z'\nexport const matBorderBottom = 'M0 0h24v24H0z@@fill:none;&&M9 11H7v2h2v-2zm4 4h-2v2h2v-2zM9 3H7v2h2V3zm4 8h-2v2h2v-2zM5 3H3v2h2V3zm8 4h-2v2h2V7zm4 4h-2v2h2v-2zm-4-8h-2v2h2V3zm4 0h-2v2h2V3zm2 10h2v-2h-2v2zm0 4h2v-2h-2v2zM5 7H3v2h2V7zm14-4v2h2V3h-2zm0 6h2V7h-2v2zM5 11H3v2h2v-2zM3 21h18v-2H3v2zm2-6H3v2h2v-2z'\nexport const matBorderClear = 'M0 0h24v24H0z@@fill:none;&&M7 5h2V3H7v2zm0 8h2v-2H7v2zm0 8h2v-2H7v2zm4-4h2v-2h-2v2zm0 4h2v-2h-2v2zm-8 0h2v-2H3v2zm0-4h2v-2H3v2zm0-4h2v-2H3v2zm0-4h2V7H3v2zm0-4h2V3H3v2zm8 8h2v-2h-2v2zm8 4h2v-2h-2v2zm0-4h2v-2h-2v2zm0 8h2v-2h-2v2zm0-12h2V7h-2v2zm-8 0h2V7h-2v2zm8-6v2h2V3h-2zm-8 2h2V3h-2v2zm4 16h2v-2h-2v2zm0-8h2v-2h-2v2zm0-8h2V3h-2v2z'\nexport const matBorderHorizontal = 'M0 0h24v24H0z@@fill:none;&&M3 21h2v-2H3v2zM5 7H3v2h2V7zM3 17h2v-2H3v2zm4 4h2v-2H7v2zM5 3H3v2h2V3zm4 0H7v2h2V3zm8 0h-2v2h2V3zm-4 4h-2v2h2V7zm0-4h-2v2h2V3zm6 14h2v-2h-2v2zm-8 4h2v-2h-2v2zm-8-8h18v-2H3v2zM19 3v2h2V3h-2zm0 6h2V7h-2v2zm-8 8h2v-2h-2v2zm4 4h2v-2h-2v2zm4 0h2v-2h-2v2z'\nexport const matBorderInner = 'M0 0h24v24H0z@@fill:none;&&M3 21h2v-2H3v2zm4 0h2v-2H7v2zM5 7H3v2h2V7zM3 17h2v-2H3v2zM9 3H7v2h2V3zM5 3H3v2h2V3zm12 0h-2v2h2V3zm2 6h2V7h-2v2zm0-6v2h2V3h-2zm-4 18h2v-2h-2v2zM13 3h-2v8H3v2h8v8h2v-8h8v-2h-8V3zm6 18h2v-2h-2v2zm0-4h2v-2h-2v2z'\nexport const matBorderLeft = 'M0 0h24v24H0z@@fill:none;&&M11 21h2v-2h-2v2zm0-4h2v-2h-2v2zm0-12h2V3h-2v2zm0 4h2V7h-2v2zm0 4h2v-2h-2v2zm-4 8h2v-2H7v2zM7 5h2V3H7v2zm0 8h2v-2H7v2zm-4 8h2V3H3v18zM19 9h2V7h-2v2zm-4 12h2v-2h-2v2zm4-4h2v-2h-2v2zm0-14v2h2V3h-2zm0 10h2v-2h-2v2zm0 8h2v-2h-2v2zm-4-8h2v-2h-2v2zm0-8h2V3h-2v2z'\nexport const matBorderOuter = 'M0 0h24v24H0z@@fill:none;&&M13 7h-2v2h2V7zm0 4h-2v2h2v-2zm4 0h-2v2h2v-2zM3 3v18h18V3H3zm16 16H5V5h14v14zm-6-4h-2v2h2v-2zm-4-4H7v2h2v-2z'\nexport const matBorderRight = 'M0 0h24v24H0z@@fill:none;&&M7 21h2v-2H7v2zM3 5h2V3H3v2zm4 0h2V3H7v2zm0 8h2v-2H7v2zm-4 8h2v-2H3v2zm8 0h2v-2h-2v2zm-8-8h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm8 8h2v-2h-2v2zm4-4h2v-2h-2v2zm4-10v18h2V3h-2zm-4 18h2v-2h-2v2zm0-16h2V3h-2v2zm-4 8h2v-2h-2v2zm0-8h2V3h-2v2zm0 4h2V7h-2v2z'\nexport const matBorderStyle = 'M0 0h24v24H0z@@fill:none;&&M15 21h2v-2h-2v2zm4 0h2v-2h-2v2zM7 21h2v-2H7v2zm4 0h2v-2h-2v2zm8-4h2v-2h-2v2zm0-4h2v-2h-2v2zM3 3v18h2V5h16V3H3zm16 6h2V7h-2v2z'\nexport const matBorderTop = 'M0 0h24v24H0z@@fill:none;&&M7 21h2v-2H7v2zm0-8h2v-2H7v2zm4 0h2v-2h-2v2zm0 8h2v-2h-2v2zm-8-4h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2v-2H3v2zm0-4h2V7H3v2zm8 8h2v-2h-2v2zm8-8h2V7h-2v2zm0 4h2v-2h-2v2zM3 3v2h18V3H3zm16 14h2v-2h-2v2zm-4 4h2v-2h-2v2zM11 9h2V7h-2v2zm8 12h2v-2h-2v2zm-4-8h2v-2h-2v2z'\nexport const matBorderVertical = 'M0 0h24v24H0z@@fill:none;&&M3 9h2V7H3v2zm0-4h2V3H3v2zm4 16h2v-2H7v2zm0-8h2v-2H7v2zm-4 0h2v-2H3v2zm0 8h2v-2H3v2zm0-4h2v-2H3v2zM7 5h2V3H7v2zm12 12h2v-2h-2v2zm-8 4h2V3h-2v18zm8 0h2v-2h-2v2zm0-8h2v-2h-2v2zm0-10v2h2V3h-2zm0 6h2V7h-2v2zm-4-4h2V3h-2v2zm0 16h2v-2h-2v2zm0-8h2v-2h-2v2z'\nexport const matBrandingWatermark = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16h-9v-6h9v6z'\nexport const matBrightness1 = 'M0 0h24v24H0z@@fill:none;&&M12 12 m-10, 0 a10,10 0 1,0 20,0 a10,10 0 1,0 -20,0'\nexport const matBrightness2 = 'M0 0h24v24H0z@@fill:none;&&M10 2c-1.82 0-3.53.5-5 1.35C7.99 5.08 10 8.3 10 12s-2.01 6.92-5 8.65C6.47 21.5 8.18 22 10 22c5.52 0 10-4.48 10-10S15.52 2 10 2z'\nexport const matBrightness3 = 'M0 0h24v24H0z@@fill:none;&&M9 2c-1.05 0-2.05.16-3 .46 4.06 1.27 7 5.06 7 9.54 0 4.48-2.94 8.27-7 9.54.95.3 1.95.46 3 .46 5.52 0 10-4.48 10-10S14.52 2 9 2z'\nexport const matBrightness4 = 'M0 0h24v24H0z@@fill:none;&&M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6z'\nexport const matBrightness5 = 'M0 0h24v24H0z@@fill:none;&&M20 15.31L23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z'\nexport const matBrightness6 = 'M0 0h24v24H0z@@fill:none;&&M20 15.31L23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6z'\nexport const matBrightness7 = 'M0 0h24v24H0z@@fill:none;&&M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z'\nexport const matBrightnessAuto = 'M0 0h24v24H0z@@fill:none;&&M10.85 12.65h2.3L12 9l-1.15 3.65zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM14.3 16l-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9z'\nexport const matBrightnessHigh = 'M0 0h24v24H0z@@fill:none;&&M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z'\nexport const matBrightnessLow = 'M0 0h24v24H0z@@fill:none;&&M20 15.31L23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z'\nexport const matBrightnessMedium = 'M0 0h24v24H0z@@fill:none;&&M20 15.31L23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6z'\nexport const matBrokenImage = 'M0 0h24v24H0zm0 0h24v24H0zm21 19c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2@@fill:none;&&M0 0h24v24H0z@@fill:none;&&M21 5v6.59l-3-3.01-4 4.01-4-4-4 4-3-3.01V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2zm-3 6.42l3 3.01V19c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2v-6.58l3 2.99 4-4 4 4 4-3.99z'\nexport const matBrowserNotSupported = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,6v10.5l1.95,1.95C20.98,18.3,21,18.15,21,18V6c0-1.1-0.9-2-2-2H6.5l2,2H19z&&M3.22,3.32L1.95,4.59L3,5.64L3,18c0,1.1,0.9,2,2,2h12.36l2.06,2.06l1.27-1.27L3.22,3.32z M15,18H5V7.64L15.36,18H15z'\nexport const matBrush = 'M0 0h24v24H0z@@fill:none;&&M7 14c-1.66 0-3 1.34-3 3 0 1.31-1.16 2-2 2 .92 1.22 2.49 2 4 2 2.21 0 4-1.79 4-4 0-1.66-1.34-3-3-3zm13.71-9.37l-1.34-1.34c-.39-.39-1.02-.39-1.41 0L9 12.25 11.75 15l8.96-8.96c.39-.39.39-1.02 0-1.41z'\nexport const matBubbleChart = 'M0 0h24v24H0z@@fill:none;&&M7.2 14.4 m-3.2, 0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0&&M14.8 18 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M15.2 8.8 m-4.8, 0 a4.8,4.8 0 1,0 9.6,0 a4.8,4.8 0 1,0 -9.6,0'\nexport const matBugReport = 'M0 0h24v24H0z@@fill:none;&&M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z'\nexport const matBuild = 'M0 0h24v24H0z@@clip-rule:evenodd;fill:none;&&M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'\nexport const matBuildCircle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10 C22,6.48,17.52,2,12,2z M16.9,15.49l-1.4,1.4c-0.2,0.2-0.51,0.2-0.71,0l-3.41-3.41c-1.22,0.43-2.64,0.17-3.62-0.81 c-1.11-1.11-1.3-2.79-0.59-4.1l2.35,2.35l1.41-1.41L8.58,7.17c1.32-0.71,2.99-0.52,4.1,0.59c0.98,0.98,1.24,2.4,0.81,3.62 l3.41,3.41C17.09,14.98,17.09,15.3,16.9,15.49z@@fill-rule:evenodd;'\nexport const matBurstMode = 'M0 0h24v24H0V0z@@fill:none;&&M1 5h2v14H1zm4 0h2v14H5zm17 0H10c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zM11 17l2.5-3.15L15.29 16l2.5-3.22L21 17H11z'\nexport const matBusiness = 'M0 0h24v24H0z@@fill:none;&&M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'\nexport const matBusinessCenter = 'M0 0h24v24H0zm10 5h4v2h-4zm0 0h4v2h-4z@@fill:none;&&M10 16v-1H3.01L3 19c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2v-4h-7v1h-4zm10-9h-4.01V5l-2-2h-4l-2 2v2H4c-1.1 0-2 .9-2 2v3c0 1.11.89 2 2 2h6v-2h4v2h6c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-6 0h-4V5h4v2z'\nexport const matCached = 'M0 0h24v24H0z@@fill:none;&&M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z'\nexport const matCake = 'M0 0h24v24H0z@@fill:none;&&M12 6c1.11 0 2-.9 2-2 0-.38-.1-.73-.29-1.03L12 0l-1.71 2.97c-.19.3-.29.65-.29 1.03 0 1.1.9 2 2 2zm4.6 9.99l-1.07-1.07-1.08 1.07c-1.3 1.3-3.58 1.31-4.89 0l-1.07-1.07-1.09 1.07C6.75 16.64 5.88 17 4.96 17c-.73 0-1.4-.23-1.96-.61V21c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-4.61c-.56.38-1.23.61-1.96.61-.92 0-1.79-.36-2.44-1.01zM18 9h-5V7h-2v2H6c-1.66 0-3 1.34-3 3v1.54c0 1.08.88 1.96 1.96 1.96.52 0 1.02-.2 1.38-.57l2.14-2.13 2.13 2.13c.74.74 2.03.74 2.77 0l2.14-2.13 2.13 2.13c.37.37.86.57 1.38.57 1.08 0 1.96-.88 1.96-1.96V12C21 10.34 19.66 9 18 9z'\nexport const matCalculate = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M13.03,7.06L14.09,6l1.41,1.41 L16.91,6l1.06,1.06l-1.41,1.41l1.41,1.41l-1.06,1.06L15.5,9.54l-1.41,1.41l-1.06-1.06l1.41-1.41L13.03,7.06z M6.25,7.72h5v1.5h-5 V7.72z M11.5,16h-2v2H8v-2H6v-1.5h2v-2h1.5v2h2V16z M18,17.25h-5v-1.5h5V17.25z M18,14.75h-5v-1.5h5V14.75z'\nexport const matCalendarToday = 'M0 0h24v24H0z@@fill:none;&&M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z'\nexport const matCalendarViewDay = 'M0 0h24v24H0z@@fill:none;&&M3 17h18v2H3zm0-7h18v5H3zm0-4h18v2H3z'\nexport const matCall = 'M0 0h24v24H0z@@fill:none;&&M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'\nexport const matCallEnd = 'M0 0h24v24H0z@@fill:none;&&M12 9c-1.6 0-3.15.25-4.6.72v3.1c0 .39-.23.74-.56.9-.98.49-1.87 1.12-2.66 1.85-.18.18-.43.28-.7.28-.28 0-.53-.11-.71-.29L.29 13.08c-.18-.17-.29-.42-.29-.7 0-.28.11-.53.29-.71C3.34 8.78 7.46 7 12 7s8.66 1.78 11.71 4.67c.18.18.29.43.29.71 0 .28-.11.53-.29.71l-2.48 2.48c-.18.18-.43.29-.71.29-.27 0-.52-.11-.7-.28-.79-.74-1.69-1.36-2.67-1.85-.33-.16-.56-.5-.56-.9v-3.1C15.15 9.25 13.6 9 12 9z'\nexport const matCallMade = 'M0 0h24v24H0z@@fill:none;&&M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5z'\nexport const matCallMerge = 'M0 0h24v24H0z@@fill:none;&&M17 20.41L18.41 19 15 15.59 13.59 17 17 20.41zM7.5 8H11v5.59L5.59 19 7 20.41l6-6V8h3.5L12 3.5 7.5 8z'\nexport const matCallMissed = 'M0 0h24v24H0z@@fill:none;&&M19.59 7L12 14.59 6.41 9H11V7H3v8h2v-4.59l7 7 9-9z'\nexport const matCallMissedOutgoing = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,8.41l9,9l7-7V15h2V7h-8v2h4.59L12,14.59L4.41,7L3,8.41z'\nexport const matCallReceived = 'M0 0h24v24H0z@@fill:none;&&M20 5.41L18.59 4 7 15.59V9H5v10h10v-2H8.41z'\nexport const matCallSplit = 'M0 0h24v24H0z@@fill:none;&&M14 4l2.29 2.29-2.88 2.88 1.42 1.42 2.88-2.88L20 10V4zm-4 0H4v6l2.29-2.29 4.71 4.7V20h2v-8.41l-5.29-5.3z'\nexport const matCallToAction = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z'\nexport const matCamera = 'M0 0h24v24H0z@@fill:none;&&M9.4 10.5l4.77-8.26C13.47 2.09 12.75 2 12 2c-2.4 0-4.6.85-6.32 2.25l3.66 6.35.06-.1zM21.54 9c-.92-2.92-3.15-5.26-6-6.34L11.88 9h9.66zm.26 1h-7.49l.29.5 4.76 8.25C21 16.97 22 14.61 22 12c0-.69-.07-1.35-.2-2zM8.54 12l-3.9-6.75C3.01 7.03 2 9.39 2 12c0 .69.07 1.35.2 2h7.49l-1.15-2zm-6.08 3c.92 2.92 3.15 5.26 6 6.34L12.12 15H2.46zm11.27 0l-3.9 6.76c.7.15 1.42.24 2.17.24 2.4 0 4.6-.85 6.32-2.25l-3.66-6.35-.93 1.6z'\nexport const matCameraAlt = 'M0 0h24v24H0z@@fill:none;&&M12 12 m-3.2, 0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0&&M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z'\nexport const matCameraEnhance = 'M0 0h24v24H0V0z@@fill:none;&&M9 3L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2h-3.17L15 3H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z&&M12 17l1.25-2.75L16 13l-2.75-1.25L12 9l-1.25 2.75L8 13l2.75 1.25z'\nexport const matCameraFront = 'M0 0h24v24H0z@@fill:none;&&M10 20H5v2h5v2l3-3-3-3v2zm4 0v2h5v-2h-5zM12 8c1.1 0 2-.9 2-2s-.9-2-2-2-1.99.9-1.99 2S10.9 8 12 8zm5-8H7C5.9 0 5 .9 5 2v14c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM7 2h10v10.5c0-1.67-3.33-2.5-5-2.5s-5 .83-5 2.5V2z'\nexport const matCameraRear = 'M0 0h24v24H0z@@fill:none;&&M10 20H5v2h5v2l3-3-3-3v2zm4 0v2h5v-2h-5zm3-20H7C5.9 0 5 .9 5 2v14c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm-5 6c-1.11 0-2-.9-2-2s.89-2 1.99-2 2 .9 2 2C14 5.1 13.1 6 12 6z'\nexport const matCameraRoll = 'M0 0h24v24H0z@@fill:none;&&M14 5c0-1.1-.9-2-2-2h-1V2c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v1H4c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2h8V5h-8zm-2 13h-2v-2h2v2zm0-9h-2V7h2v2zm4 9h-2v-2h2v2zm0-9h-2V7h2v2zm4 9h-2v-2h2v2zm0-9h-2V7h2v2z'\nexport const matCampaign = 'M0 0h24v24H0z@@fill:none;&&M18 11v2h4v-2h-4zm-2 6.61c.96.71 2.21 1.65 3.2 2.39.4-.53.8-1.07 1.2-1.6-.99-.74-2.24-1.68-3.2-2.4-.4.54-.8 1.08-1.2 1.61zM20.4 5.6c-.4-.53-.8-1.07-1.2-1.6-.99.74-2.24 1.68-3.2 2.4.4.53.8 1.07 1.2 1.6.96-.72 2.21-1.65 3.2-2.4zM4 9c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h1v4h2v-4h1l5 3V6L8 9H4zm11.5 3c0-1.33-.58-2.53-1.5-3.35v6.69c.92-.81 1.5-2.01 1.5-3.34z'\nexport const matCancel = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z'\nexport const matCancelPresentation = 'M0 0h24v24H0z@@fill:none;&&M21 19.1H3V5h18v14.1zM21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z&&M21 19.1H3V5h18v14.1zM21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z@@fill:none;&&M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41z'\nexport const matCancelScheduleSend = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.5,9c-0.42,0-0.83,0.04-1.24,0.11L1.01,3L1,10l9,2l-9,2l0.01,7l8.07-3.46C9.59,21.19,12.71,24,16.5,24 c4.14,0,7.5-3.36,7.5-7.5S20.64,9,16.5,9z M16.5,22c-3.03,0-5.5-2.47-5.5-5.5s2.47-5.5,5.5-5.5s5.5,2.47,5.5,5.5S19.53,22,16.5,22 z&&M18.27 14.03 L16.5 15.79 L14.73 14.03 L14.03 14.73 L15.79 16.5 L14.03 18.27 L14.73 18.97 L16.5 17.21 L18.27 18.97 L18.97 18.27 L17.21 16.5 L18.97 14.73z'\nexport const matCardGiftcard = 'M0 0h24v24H0z@@fill:none;&&M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z'\nexport const matCardMembership = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h4v5l4-2 4 2v-5h4c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 13H4v-2h16v2zm0-5H4V4h16v6z'\nexport const matCardTravel = 'M0 0h24v24H0z@@fill:none;&&M20 6h-3V4c0-1.11-.89-2-2-2H9c-1.11 0-2 .89-2 2v2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zM9 4h6v2H9V4zm11 15H4v-2h16v2zm0-5H4V8h3v2h2V8h6v2h2V8h3v6z'\nexport const matCarpenter = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.73,14.23L7,1.5L3.11,5.39l8.13,11.67c-0.78,0.78-0.78,2.05,0,2.83l1.41,1.41c0.78,0.78,2.05,0.78,2.83,0l4.24-4.24 C20.51,16.28,20.51,15.01,19.73,14.23z M14.07,19.88l-1.41-1.41l4.24-4.24l1.41,1.41L14.07,19.88z'\nexport const matCasino = 'M0 0h24v24H0zm21.02 19c0 1.1-.9 2-2 2h-14c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v14z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM7.5 18c-.83 0-1.5-.67-1.5-1.5S6.67 15 7.5 15s1.5.67 1.5 1.5S8.33 18 7.5 18zm0-9C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm0-9c-.83 0-1.5-.67-1.5-1.5S15.67 6 16.5 6s1.5.67 1.5 1.5S17.33 9 16.5 9z'\nexport const matCast = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0z@@fill:none;opacity:.1;&&M21 3H3c-1.1 0-2 .9-2 2v3h2V5h18v14h-7v2h7c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM1 18v3h3c0-1.66-1.34-3-3-3zm0-4v2c2.76 0 5 2.24 5 5h2c0-3.87-3.13-7-7-7zm0-4v2c4.97 0 9 4.03 9 9h2c0-6.08-4.93-11-11-11z'\nexport const matCastConnected = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0z@@fill:none;opacity:.1;&&M1 18v3h3c0-1.66-1.34-3-3-3zm0-4v2c2.76 0 5 2.24 5 5h2c0-3.87-3.13-7-7-7zm18-7H5v1.63c3.96 1.28 7.09 4.41 8.37 8.37H19V7zM1 10v2c4.97 0 9 4.03 9 9h2c0-6.08-4.93-11-11-11zm20-7H3c-1.1 0-2 .9-2 2v3h2V5h18v14h-7v2h7c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'\nexport const matCastForEducation = 'M21,3H3C1.9,3,1,3.9,1,5v3h2V5h18v14h-7v2h7c1.1,0,2-0.9,2-2V5C23,3.9,22.1,3,21,3z M1,18v3h3C4,19.34,2.66,18,1,18z M1,14 v2c2.76,0,5,2.24,5,5h2C8,17.13,4.87,14,1,14z M1,10v2c4.97,0,9,4.03,9,9h2C12,14.92,7.07,10,1,10z M11,11.09v2L14.5,15l3.5-1.91 v-2L14.5,13L11,11.09z M14.5,6L9,9l5.5,3L20,9L14.5,6z&&M0,0h24v24H0V0z@@fill:none;'\nexport const matCategory = 'M0 0h24v24H0z@@fill:none;&&M12 2l-5.5 9h11z&&M17.5 17.5 m-4.5, 0 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0&&M3 13.5h8v8H3z'\nexport const matCenterFocusStrong = 'M0 0h24v24H0z@@fill:none;&&M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm-7 7H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4z'\nexport const matCenterFocusWeak = 'M0 0h24v24H0z@@fill:none;&&M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matChangeHistory = 'M0 0h24v24H0V0z@@fill:none;&&M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 4z'\nexport const matChargingStation = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14.5,11l-3,6v-4h-2l3-6v4H14.5z M7,1h10c1.1,0,2,0.9,2,2v18c0,1.1-0.9,2-2,2H7c-1.1,0-2-0.9-2-2V3C5,1.9,5.9,1,7,1z M7,6 v12h10V6H7z'\nexport const matChat = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z'\nexport const matChatBubble = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z'\nexport const matChatBubbleOutline = 'M0 0h24v24H0V0z@@fill:none;&&M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'\nexport const matCheck = 'M0 0h24v24H0z@@fill:none;&&M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'\nexport const matCheckBox = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'\nexport const matCheckBoxOutlineBlank = 'M0 0h24v24H0z@@fill:none;&&M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'\nexport const matCheckCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'\nexport const matCheckCircleOutline = 'M0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M16.59 7.58L10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'\nexport const matCheckroom = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.6,18.2L13,11.75v-0.91c1.65-0.49,2.8-2.17,2.43-4.05c-0.26-1.31-1.3-2.4-2.61-2.7C10.54,3.57,8.5,5.3,8.5,7.5h2 C10.5,6.67,11.17,6,12,6s1.5,0.67,1.5,1.5c0,0.84-0.69,1.52-1.53,1.5C11.43,8.99,11,9.45,11,9.99v1.76L2.4,18.2 C1.63,18.78,2.04,20,3,20h9h9C21.96,20,22.37,18.78,21.6,18.2z M6,18l6-4.5l6,4.5H6z'\nexport const matChevronLeft = 'M0 0h24v24H0z@@fill:none;&&M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z'\nexport const matChevronRight = 'M0 0h24v24H0z@@fill:none;&&M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'\nexport const matChildCare = 'M0 0h24v24H0z@@fill:none;&&M14.5 10.5 m-1.25, 0 a1.25,1.25 0 1,0 2.5,0 a1.25,1.25 0 1,0 -2.5,0&&M9.5 10.5 m-1.25, 0 a1.25,1.25 0 1,0 2.5,0 a1.25,1.25 0 1,0 -2.5,0&&M22.94 12.66c.04-.21.06-.43.06-.66s-.02-.45-.06-.66c-.25-1.51-1.36-2.74-2.81-3.17-.53-1.12-1.28-2.1-2.19-2.91C16.36 3.85 14.28 3 12 3s-4.36.85-5.94 2.26c-.92.81-1.67 1.8-2.19 2.91-1.45.43-2.56 1.65-2.81 3.17-.04.21-.06.43-.06.66s.02.45.06.66c.25 1.51 1.36 2.74 2.81 3.17.52 1.11 1.27 2.09 2.17 2.89C7.62 20.14 9.71 21 12 21s4.38-.86 5.97-2.28c.9-.8 1.65-1.79 2.17-2.89 1.44-.43 2.55-1.65 2.8-3.17zM19 14c-.1 0-.19-.02-.29-.03-.2.67-.49 1.29-.86 1.86C16.6 17.74 14.45 19 12 19s-4.6-1.26-5.85-3.17c-.37-.57-.66-1.19-.86-1.86-.1.01-.19.03-.29.03-1.1 0-2-.9-2-2s.9-2 2-2c.1 0 .19.02.29.03.2-.67.49-1.29.86-1.86C7.4 6.26 9.55 5 12 5s4.6 1.26 5.85 3.17c.37.57.66 1.19.86 1.86.1-.01.19-.03.29-.03 1.1 0 2 .9 2 2s-.9 2-2 2zM7.5 14c.76 1.77 2.49 3 4.5 3s3.74-1.23 4.5-3h-9z'\nexport const matChildFriendly = 'M0 0h24v24H0z@@fill:none;&&M13 2v8h8c0-4.42-3.58-8-8-8zm6.32 13.89C20.37 14.54 21 12.84 21 11H6.44l-.95-2H2v2h2.22s1.89 4.07 2.12 4.42c-1.1.59-1.84 1.75-1.84 3.08C4.5 20.43 6.07 22 8 22c1.76 0 3.22-1.3 3.46-3h2.08c.24 1.7 1.7 3 3.46 3 1.93 0 3.5-1.57 3.5-3.5 0-1.04-.46-1.97-1.18-2.61zM8 20c-.83 0-1.5-.67-1.5-1.5S7.17 17 8 17s1.5.67 1.5 1.5S8.83 20 8 20zm9 0c-.83 0-1.5-.67-1.5-1.5S16.17 17 17 17s1.5.67 1.5 1.5S17.83 20 17 20z'\nexport const matChromeReaderMode = 'M-74 29h48v48h-48V29zM0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M13 12h7v1.5h-7zm0-2.5h7V11h-7zm0 5h7V16h-7zM21 4H3c-1.1 0-2 .9-2 2v13c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 15h-9V6h9v13z'\nexport const matClass = 'M0 0h24v24H0z@@fill:none;&&M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'\nexport const matCleanHands = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.99,5l0.63,1.37L18.99,7l-1.37,0.63L16.99,9l-0.63-1.37L14.99,7l1.37-0.63L16.99,5 M11,6.13V4h2 c0.57,0,1.1,0.17,1.55,0.45l1.43-1.43C15.15,2.39,14.13,2,13,2c-1.48,0-5.5,0-5.5,0v2H9v2.14C7.23,6.51,5.81,7.8,5.26,9.5h3.98 L15,11.65v-0.62C15,8.61,13.28,6.59,11,6.13z M1,22h4V11H1V22z M20,17h-7l-2.09-0.73l0.33-0.94L13,16h2.82 c0.65,0,1.18-0.53,1.18-1.18l0,0c0-0.49-0.31-0.93-0.77-1.11L8.97,11H7v9.02L14,22l8-3l0,0C21.99,17.9,21.11,17,20,17z M20,14 c1.1,0,2-0.9,2-2c0-1.1-2-4-2-4s-2,2.9-2,4C18,13.1,18.9,14,20,14z'\nexport const matCleaningServices = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,11h-1V3c0-1.1-0.9-2-2-2h-2C9.9,1,9,1.9,9,3v8H8c-2.76,0-5,2.24-5,5v7h18v-7C21,13.24,18.76,11,16,11z M19,21h-2v-3 c0-0.55-0.45-1-1-1s-1,0.45-1,1v3h-2v-3c0-0.55-0.45-1-1-1s-1,0.45-1,1v3H9v-3c0-0.55-0.45-1-1-1s-1,0.45-1,1v3H5v-5 c0-1.65,1.35-3,3-3h8c1.65,0,3,1.35,3,3V21z'\nexport const matClear = 'M0 0h24v24H0z@@fill:none;&&M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'\nexport const matClearAll = 'M0 0h24v24H0z@@fill:none;&&M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z'\nexport const matClose = 'M0 0h24v24H0z@@fill:none;&&M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'\nexport const matClosedCaption = 'M0 0h24v24H0z@@fill:none;&&M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z'\nexport const matClosedCaptionDisabled = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.83,4H19c1.1,0,2,0.9,2,2v12c0,0.05-0.01,0.1-0.02,0.16l-3.38-3.38C17.84,14.59,18,14.32,18,14v-1h-1.5v0.5h-0.17 l-1.83-1.83V10.5h2V11H18v-1c0-0.55-0.45-1-1-1h-3c-0.55,0-1,0.45-1,1v0.17L6.83,4z M19.78,22.61L17.17,20H5c-1.11,0-2-0.9-2-2V6 c0-0.05,0.02-0.1,0.02-0.15L1.39,4.22l1.41-1.41l18.38,18.38L19.78,22.61z M11,13.83L10.17,13H9.5v0.5h-2v-3h0.17L6.4,9.22 C6.16,9.41,6,9.68,6,10v4c0,0.55,0.45,1,1,1h3c0.55,0,1-0.45,1-1V13.83z'\nexport const matCloseFullscreen = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,3.41l-5.29,5.29L20,12h-8V4l3.29,3.29L20.59,2L22,3.41z M3.41,22l5.29-5.29L12,20v-8H4l3.29,3.29L2,20.59L3.41,22z'\nexport const matCloud = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z'\nexport const matCloudCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.5 14H8c-1.66 0-3-1.34-3-3s1.34-3 3-3l.14.01C8.58 8.28 10.13 7 12 7c2.21 0 4 1.79 4 4h.5c1.38 0 2.5 1.12 2.5 2.5S17.88 16 16.5 16z'\nexport const matCloudDone = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM10 17l-3.5-3.5 1.41-1.41L10 14.17 15.18 9l1.41 1.41L10 17z'\nexport const matCloudDownload = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z'\nexport const matCloudOff = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z'\nexport const matCloudQueue = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3z'\nexport const matCloudUpload = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'\nexport const matCode = 'M0 0h24v24H0V0z@@fill:none;&&M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z'\nexport const matCollections = 'M0 0h24v24H0z@@fill:none;&&M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z'\nexport const matCollectionsBookmark = 'M0 0h24v24H0V0z@@fill:none;&&M0 0h24v24H0V0z@@fill:none;&&M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6z&&M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 10l-2.5-1.5L15 12V4h5v8z'\nexport const matColorize = 'M0 0h24v24H0z@@fill:none;&&M20.71 5.63l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42zM6.92 19L5 17.08l8.06-8.06 1.92 1.92L6.92 19z'\nexport const matColorLens = 'M0 0h24v24H0z@@fill:none;&&M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matComment = 'M0 0h24v24H0z@@fill:none;&&M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM18 14H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'\nexport const matCommentBank = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,2H4C2.9,2,2,2.9,2,4v18l4-4h14c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2z M19,13l-2.5-1.5L14,13V5h5V13z'\nexport const matCommute = 'M0 0h24v24H0z@@fill:none;&&M12 4H5C3.34 4 2 5.34 2 7v8c0 1.66 1.34 3 3 3l-1 1v1h1l2-2.03L9 18v-5H4V5.98L13 6v2h2V7c0-1.66-1.34-3-3-3zM5 14c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm15.57-4.34c-.14-.4-.52-.66-.97-.66h-7.19c-.46 0-.83.26-.98.66L10 13.77l.01 5.51c0 .38.31.72.69.72h.62c.38 0 .68-.38.68-.76V18h8v1.24c0 .38.31.76.69.76h.61c.38 0 .69-.34.69-.72l.01-1.37v-4.14l-1.43-4.11zm-8.16.34h7.19l1.03 3h-9.25l1.03-3zM12 16c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm8 0c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'\nexport const matCompare = 'M0 0h24v24H0z@@fill:none;&&M10 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h5v2h2V1h-2v2zm0 15H5l5-6v6zm9-15h-5v2h5v13l-5-6v9h5c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'\nexport const matCompareArrows = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9.01,14H2v2h7.01v3L13,15l-3.99-4V14z M14.99,13v-3H22V8h-7.01V5L11,9L14.99,13z'\nexport const matCompassCalibration = 'M0 0h24v24H0z@@fill:none;&&M12 17 m-4, 0 a4,4 0 1,0 8,0 a4,4 0 1,0 -8,0&&M12 10.07c1.95 0 3.72.79 5 2.07l5-5C19.44 4.59 15.9 3 12 3S4.56 4.59 2 7.15l5 5c1.28-1.28 3.05-2.08 5-2.08z'\nexport const matComputer = 'M0 0h24v24H0z@@fill:none;&&M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2h-4zM4 6h16v10H4V6z'\nexport const matConfirmationNumber = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,10V6c0-1.11-0.9-2-2-2H4C2.9,4,2.01,4.89,2.01,6v4C3.11,10,4,10.9,4,12s-0.89,2-2,2v4c0,1.1,0.9,2,2,2h16 c1.1,0,2-0.9,2-2v-4c-1.1,0-2-0.9-2-2S20.9,10,22,10z M13,17.5h-2v-2h2V17.5z M13,13h-2v-2h2V13z M13,8.5h-2v-2h2V8.5z'\nexport const matConnectWithoutContact = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11,14H9c0-4.97,4.03-9,9-9v2C14.13,7,11,10.13,11,14z M18,11V9c-2.76,0-5,2.24-5,5h2C15,12.34,16.34,11,18,11z M7,4 c0-1.11-0.89-2-2-2S3,2.89,3,4s0.89,2,2,2S7,5.11,7,4z M11.45,4.5h-2C9.21,5.92,7.99,7,6.5,7h-3C2.67,7,2,7.67,2,8.5V11h6V8.74 C9.86,8.15,11.25,6.51,11.45,4.5z M19,17c1.11,0,2-0.89,2-2s-0.89-2-2-2s-2,0.89-2,2S17.89,17,19,17z M20.5,18h-3 c-1.49,0-2.71-1.08-2.95-2.5h-2c0.2,2.01,1.59,3.65,3.45,4.24V22h6v-2.5C22,18.67,21.33,18,20.5,18z'\nexport const matConstruction = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.34 12.87 H19.34 V21.35 H16.34 V12.87 z@@@@matrix(0.7071 -0.7071 0.7071 0.7071 -6.8717 17.6255)&&M17.5,10c1.93,0,3.5-1.57,3.5-3.5c0-0.58-0.16-1.12-0.41-1.6l-2.7,2.7L16.4,6.11l2.7-2.7C18.62,3.16,18.08,3,17.5,3 C15.57,3,14,4.57,14,6.5c0,0.41,0.08,0.8,0.21,1.16l-1.85,1.85l-1.78-1.78l0.71-0.71L9.88,5.61L12,3.49 c-1.17-1.17-3.07-1.17-4.24,0L4.22,7.03l1.41,1.41H2.81L2.1,9.15l3.54,3.54l0.71-0.71V9.15l1.41,1.41l0.71-0.71l1.78,1.78 l-7.41,7.41l2.12,2.12L16.34,9.79C16.7,9.92,17.09,10,17.5,10z'\nexport const matContactless = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M8.46,14.45L7.1,13.83 c0.28-0.61,0.41-1.24,0.4-1.86c-0.01-0.63-0.14-1.24-0.4-1.8l1.36-0.63c0.35,0.75,0.53,1.56,0.54,2.4 C9.01,12.8,8.83,13.64,8.46,14.45z M11.53,16.01l-1.3-0.74c0.52-0.92,0.78-1.98,0.78-3.15c0-1.19-0.27-2.33-0.8-3.4l1.34-0.67 c0.64,1.28,0.96,2.65,0.96,4.07C12.51,13.55,12.18,14.86,11.53,16.01z M14.67,17.33l-1.35-0.66c0.78-1.6,1.18-3.18,1.18-4.69 c0-1.51-0.4-3.07-1.18-4.64l1.34-0.67C15.56,8.45,16,10.23,16,11.98C16,13.72,15.56,15.52,14.67,17.33z'\nexport const matContactMail = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0z@@fill:none;&&M21 8V7l-3 2-3-2v1l3 2 3-2zm1-5H2C.9 3 0 3.9 0 5v14c0 1.1.9 2 2 2h20c1.1 0 1.99-.9 1.99-2L24 5c0-1.1-.9-2-2-2zM8 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H2v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1zm8-6h-8V6h8v6z'\nexport const matContactPage = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V8L14,2z M12,10c1.1,0,2,0.9,2,2c0,1.1-0.9,2-2,2s-2-0.9-2-2 C10,10.9,10.9,10,12,10z M16,18H8v-0.57c0-0.81,0.48-1.53,1.22-1.85C10.07,15.21,11.01,15,12,15c0.99,0,1.93,0.21,2.78,0.58 C15.52,15.9,16,16.62,16,17.43V18z'\nexport const matContactPhone = 'M0 0h24v24H0z@@fill:none;&&M22 3H2C.9 3 0 3.9 0 5v14c0 1.1.9 2 2 2h20c1.1 0 1.99-.9 1.99-2L24 5c0-1.1-.9-2-2-2zM8 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H2v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1zm3.85-4h1.64L21 16l-1.99 1.99c-1.31-.98-2.28-2.38-2.73-3.99-.18-.64-.28-1.31-.28-2s.1-1.36.28-2c.45-1.62 1.42-3.01 2.73-3.99L21 8l-1.51 2h-1.64c-.22.63-.35 1.3-.35 2s.13 1.37.35 2z'\nexport const matContacts = 'M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M20 0H4v2h16V0zM4 24h16v-2H4v2zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 2.75c1.24 0 2.25 1.01 2.25 2.25s-1.01 2.25-2.25 2.25S9.75 10.24 9.75 9 10.76 6.75 12 6.75zM17 17H7v-1.5c0-1.67 3.33-2.5 5-2.5s5 .83 5 2.5V17z'\nexport const matContactSupport = 'M0 0h24v24H0z@@fill:none;&&M11.5 2C6.81 2 3 5.81 3 10.5S6.81 19 11.5 19h.5v3c4.86-2.34 8-7 8-11.5C20 5.81 16.19 2 11.5 2zm1 14.5h-2v-2h2v2zm0-3.5h-2c0-3.25 3-3 3-5 0-1.1-.9-2-2-2s-2 .9-2 2h-2c0-2.21 1.79-4 4-4s4 1.79 4 4c0 2.5-3 2.75-3 5z'\nexport const matContentCopy = 'M0 0h24v24H0z@@fill:none;&&M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'\nexport const matContentCut = 'M0 0h24v24H0z@@fill:none;&&M6 18 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0@@fill:none;&&M12 12 m-0.5, 0 a0.5,0.5 0 1,0 1,0 a0.5,0.5 0 1,0 -1,0@@fill:none;&&M6 6 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0@@fill:none;&&M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z'\nexport const matContentPaste = 'M0 0h24v24H0z@@fill:none;&&M19 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z'\nexport const matControlCamera = 'M0 0h24v24H0z@@fill:none;&&M15.54 5.54L13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10l-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92l1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10l1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z&&M12 12 m-3, 0 a3,3 0 1,0 6,0 a3,3 0 1,0 -6,0'\nexport const matControlPoint = 'M0 0h24v24H0z@@fill:none;&&M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matControlPointDuplicate = 'M0 0h24v24H0z@@fill:none;&&M16 8h-2v3h-3v2h3v3h2v-3h3v-2h-3zM2 12c0-2.79 1.64-5.2 4.01-6.32V3.52C2.52 4.76 0 8.09 0 12s2.52 7.24 6.01 8.48v-2.16C3.64 17.2 2 14.79 2 12zm13-9c-4.96 0-9 4.04-9 9s4.04 9 9 9 9-4.04 9-9-4.04-9-9-9zm0 16c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7z'\nexport const matCopyright = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.88,9.14c1.28,0.06,1.61,1.15,1.63,1.66h1.79c-0.08-1.98-1.49-3.19-3.45-3.19C9.64,7.61,8,9,8,12.14 c0,1.94,0.93,4.24,3.84,4.24c2.22,0,3.41-1.65,3.44-2.95h-1.79c-0.03,0.59-0.45,1.38-1.63,1.44C10.55,14.83,10,13.81,10,12.14 C10,9.25,11.28,9.16,11.88,9.14z M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,20c-4.41,0-8-3.59-8-8 s3.59-8,8-8s8,3.59,8,8S16.41,20,12,20z'\nexport const matCoronavirus = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.25,10.5c-0.41,0-0.75,0.34-0.75,0.75h-1.54c-0.15-1.37-0.69-2.63-1.52-3.65l1.09-1.09l0.01,0.01 c0.29,0.29,0.77,0.29,1.06,0s0.29-0.77,0-1.06L18.54,4.4c-0.29-0.29-0.77-0.29-1.06,0c-0.29,0.29-0.29,0.76-0.01,1.05l-1.09,1.09 c-1.02-0.82-2.27-1.36-3.64-1.51V3.5h0.01c0.41,0,0.75-0.34,0.75-0.75C13.5,2.34,13.16,2,12.75,2h-1.5c-0.41,0-0.75,0.34-0.75,0.75 c0,0.41,0.33,0.74,0.74,0.75v1.55C9.87,5.19,8.62,5.74,7.6,6.56L6.51,5.47l0.01-0.01c0.29-0.29,0.29-0.77,0-1.06 c-0.29-0.29-0.77-0.29-1.06,0L4.4,5.46c-0.29,0.29-0.29,0.77,0,1.06c0.29,0.29,0.76,0.29,1.05,0.01l1.09,1.09 c-0.82,1.02-1.36,2.26-1.5,3.63H3.5c0-0.41-0.34-0.75-0.75-0.75C2.34,10.5,2,10.84,2,11.25v1.5c0,0.41,0.34,0.75,0.75,0.75 c0.41,0,0.75-0.34,0.75-0.75h1.54c0.15,1.37,0.69,2.61,1.5,3.63l-1.09,1.09c-0.29-0.29-0.76-0.28-1.05,0.01 c-0.29,0.29-0.29,0.77,0,1.06l1.06,1.06c0.29,0.29,0.77,0.29,1.06,0c0.29-0.29,0.29-0.77,0-1.06l-0.01-0.01l1.09-1.09 c1.02,0.82,2.26,1.36,3.63,1.51v1.55c-0.41,0.01-0.74,0.34-0.74,0.75c0,0.41,0.34,0.75,0.75,0.75h1.5c0.41,0,0.75-0.34,0.75-0.75 c0-0.41-0.34-0.75-0.75-0.75h-0.01v-1.54c1.37-0.14,2.62-0.69,3.64-1.51l1.09,1.09c-0.29,0.29-0.28,0.76,0.01,1.05 c0.29,0.29,0.77,0.29,1.06,0l1.06-1.06c0.29-0.29,0.29-0.77,0-1.06c-0.29-0.29-0.77-0.29-1.06,0l-0.01,0.01l-1.09-1.09 c0.82-1.02,1.37-2.27,1.52-3.65h1.54c0,0.41,0.34,0.75,0.75,0.75c0.41,0,0.75-0.34,0.75-0.75v-1.5C22,10.84,21.66,10.5,21.25,10.5z M13.75,8c0.55,0,1,0.45,1,1s-0.45,1-1,1s-1-0.45-1-1S13.2,8,13.75,8z M12,13c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1 C13,12.55,12.55,13,12,13z M10.25,8c0.55,0,1,0.45,1,1s-0.45,1-1,1s-1-0.45-1-1S9.7,8,10.25,8z M8.5,13c-0.55,0-1-0.45-1-1 c0-0.55,0.45-1,1-1s1,0.45,1,1C9.5,12.55,9.05,13,8.5,13z M10.25,16c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1 C11.25,15.55,10.8,16,10.25,16z M13.75,16c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1C14.75,15.55,14.3,16,13.75,16z M14.5,12 c0-0.55,0.45-1,1-1s1,0.45,1,1c0,0.55-0.45,1-1,1S14.5,12.55,14.5,12z'\nexport const matCorporateFare = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,7V3H2v18h20V7H12z M10,19H4v-2h6V19z M10,15H4v-2h6V15z M10,11H4V9h6V11z M10,7H4V5h6V7z M20,19h-8V9h8V19z M18,11h-4v2 h4V11z M18,15h-4v2h4V15z'\nexport const matCountertops = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,10V7c0-1.66-1.34-3-3-3c-1.66,0-3,1.34-3,3h2c0-0.55,0.45-1,1-1c0.55,0,1,0.45,1,1v3H8c1.1,0,2-0.9,2-2V4H4v4 c0,1.1,0.9,2,2,2H2v2h2v8h16v-8h2v-2H18z M13,18h-2v-6h2V18z'\nexport const matCreate = 'M0 0h24v24H0z@@fill:none;&&M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'\nexport const matCreateNewFolder = 'M0 0h24v24H0V0z@@fill:none;&&M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3v2z'\nexport const matCreditCard = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z'\nexport const matCrop = 'M0 0h24v24H0z@@fill:none;&&M17 15h2V7c0-1.1-.9-2-2-2H9v2h8v8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2H7z'\nexport const matCrop169 = 'M0 0h24v24H0z@@fill:none;&&M19 6H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H5V8h14v8z'\nexport const matCrop32 = 'M0 0h24v24H0z@@fill:none;&&M19 4H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H5V6h14v12z'\nexport const matCrop54 = 'M0 0h24v24H0z@@fill:none;&&M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H5V7h14v10z'\nexport const matCrop75 = 'M0 0h24v24H0z@@fill:none;&&M19 7H5c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm0 8H5V9h14v6z'\nexport const matCropDin = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z'\nexport const matCropFree = 'M0 0h24v24H0z@@fill:none;&&M3 5v4h2V5h4V3H5c-1.1 0-2 .9-2 2zm2 10H3v4c0 1.1.9 2 2 2h4v-2H5v-4zm14 4h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zm0-16h-4v2h4v4h2V5c0-1.1-.9-2-2-2z'\nexport const matCropLandscape = 'M0 0h24v24H0z@@fill:none;&&M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H5V7h14v10z'\nexport const matCropOriginal = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zm-5.04-6.71l-2.75 3.54-1.96-2.36L6.5 17h11l-3.54-4.71z'\nexport const matCropPortrait = 'M0 0h24v24H0z@@fill:none;&&M17 3H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7V5h10v14z'\nexport const matCropRotate = 'M0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M7.47 21.49C4.2 19.93 1.86 16.76 1.5 13H0c.51 6.16 5.66 11 11.95 11 .23 0 .44-.02.66-.03L8.8 20.15l-1.33 1.34zM12.05 0c-.23 0-.44.02-.66.04l3.81 3.81 1.33-1.33C19.8 4.07 22.14 7.24 22.5 11H24c-.51-6.16-5.66-11-11.95-11zM16 14h2V8c0-1.11-.9-2-2-2h-6v2h6v6zm-8 2V4H6v2H4v2h2v8c0 1.1.89 2 2 2h8v2h2v-2h2v-2H8z'\nexport const matCropSquare = 'M0 0h24v24H0z@@fill:none;&&M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H6V6h12v12z'\nexport const matDashboard = 'M0 0h24v24H0z@@fill:none;&&M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'\nexport const matDataUsage = 'M0 0h24v24H0z@@fill:none;&&M13 2.05v3.03c3.39.49 6 3.39 6 6.92 0 .9-.18 1.75-.48 2.54l2.6 1.53c.56-1.24.88-2.62.88-4.07 0-5.18-3.95-9.45-9-9.95zM12 19c-3.87 0-7-3.13-7-7 0-3.53 2.61-6.43 6-6.92V2.05c-5.06.5-9 4.76-9 9.95 0 5.52 4.47 10 9.99 10 3.31 0 6.24-1.61 8.06-4.09l-2.6-1.53C16.17 17.98 14.21 19 12 19z'\nexport const matDateRange = 'M0 0h24v24H0z@@fill:none;&&M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'\nexport const matDeck = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22 9 L12 2 L2 9 L11 9 L11 22 L13 22 L13 9z&&M4.14 12 L2.18 12.37 L3 16.74 L3 22 L5 22 L5.02 18 L7 18 L7 22 L9 22 L9 16 L4.9 16z&&M19.1 16 L15 16 L15 22 L17 22 L17 18 L18.98 18 L19 22 L21 22 L21 16.74 L21.82 12.37 L19.86 12z'\nexport const matDehaze = 'M0 0h24v24H0z@@fill:none;&&M2 15.5v2h20v-2H2zm0-5v2h20v-2H2zm0-5v2h20v-2H2z'\nexport const matDelete = 'M0 0h24v24H0z@@fill:none;&&M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'\nexport const matDeleteForever = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0V0z@@fill:none;&&M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z'\nexport const matDeleteOutline = 'M0 0h24v24H0V0z@@fill:none;&&M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z'\nexport const matDeleteSweep = 'M0 0h24v24H0z@@fill:none;&&M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3v10zM14 5h-3l-1-1H6L5 5H2v2h12z'\nexport const matDepartureBoard = 'M0 0h24v24H0V0z@@fill:none;&&M16 1c-2.4 0-4.52 1.21-5.78 3.05.01-.01.01-.02.02-.03C9.84 4 9.42 4 9 4c-4.42 0-8 .5-8 4v10c0 .88.39 1.67 1 2.22V22c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h8v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1.78c.61-.55 1-1.34 1-2.22v-3.08c3.39-.49 6-3.39 6-6.92 0-3.87-3.13-7-7-7zM4.5 19c-.83 0-1.5-.67-1.5-1.5S3.67 16 4.5 16s1.5.67 1.5 1.5S5.33 19 4.5 19zM3 13V8h6c0 1.96.81 3.73 2.11 5H3zm10.5 6c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm2.5-6c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm.5-9H15v5l3.62 2.16.75-1.23-2.87-1.68z'\nexport const matDescription = 'M0 0h24v24H0z@@fill:none;&&M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'\nexport const matDesignServices = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.24,11.51l1.57-1.57l-3.75-3.75l-1.57,1.57L8.35,3.63c-0.78-0.78-2.05-0.78-2.83,0l-1.9,1.9 c-0.78,0.78-0.78,2.05,0,2.83l4.13,4.13L3,17.25V21h3.75l4.76-4.76l4.13,4.13c0.95,0.95,2.23,0.6,2.83,0l1.9-1.9 c0.78-0.78,0.78-2.05,0-2.83L16.24,11.51z M9.18,11.07L5.04,6.94l1.89-1.9c0,0,0,0,0,0l1.27,1.27L7.02,7.5l1.41,1.41l1.19-1.19 l1.45,1.45L9.18,11.07z M17.06,18.96l-4.13-4.13l1.9-1.9l1.45,1.45l-1.19,1.19l1.41,1.41l1.19-1.19l1.27,1.27L17.06,18.96z&&M20.71,7.04c0.39-0.39,0.39-1.02,0-1.41l-2.34-2.34c-0.47-0.47-1.12-0.29-1.41,0l-1.83,1.83l3.75,3.75L20.71,7.04z'\nexport const matDesktopAccessDisabled = 'M0 0h24v24H0V0z@@fill:none;&&M23 16c0 1.1-.9 2-2 2h-1l-2-2h3V4H6L4 2h17c1.1 0 2 .9 2 2v12zm-5.5 2l-2-2zm-2.6 0l6 6 1.3-1.3-4.7-4.7-2-2L1.2 1.8 0 3.1l1 1V16c0 1.1.9 2 2 2h7v2H8v2h8v-2h-2v-2h.9zM3 16V6.1l9.9 9.9H3z'\nexport const matDesktopMac = 'M0 0h24v24H0z@@fill:none;&&M21 2H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7l-2 3v1h8v-1l-2-3h7c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 12H3V4h18v10z'\nexport const matDesktopWindows = 'M0 0h24v24H0z@@fill:none;&&M21 2H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7v2H8v2h8v-2h-2v-2h7c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H3V4h18v12z'\nexport const matDetails = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,3L2,21h20L12,3z M13,8.92L18.6,19H13V8.92z M11,8.92V19H5.4L11,8.92z'\nexport const matDeveloperBoard = 'M22 9V7h-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2v-2h-2V9h2zm-4 10H4V5h14v14zM6 13h5v4H6zm6-6h4v3h-4zM6 7h5v5H6zm6 4h4v6h-4z&&M0 0h24v24H0zm0 0h24v24H0z@@fill:none;'\nexport const matDeveloperMode = 'M0 0h24v24H0z@@fill:none;&&M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17L6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z'\nexport const matDeviceHub = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0V0z@@fill:none;&&M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z'\nexport const matDevices = 'M0 0h24v24H0z@@fill:none;&&M4 6h18V4H4c-1.1 0-2 .9-2 2v11H0v3h14v-3H4V6zm19 2h-6c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zm-1 9h-4v-7h4v7z'\nexport const matDevicesOther = 'M0 0h24v24H0z@@fill:none;&&M3 6h18V4H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h4v-2H3V6zm10 6H9v1.78c-.61.55-1 1.33-1 2.22s.39 1.67 1 2.22V20h4v-1.78c.61-.55 1-1.34 1-2.22s-.39-1.67-1-2.22V12zm-2 5.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM22 8h-6c-.5 0-1 .5-1 1v10c0 .5.5 1 1 1h6c.5 0 1-.5 1-1V9c0-.5-.5-1-1-1zm-1 10h-4v-8h4v8z'\nexport const matDeviceUnknown = 'M0 0h24v24H0z@@fill:none;&&M17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 18H7V5h10v14zM12 6.72c-1.96 0-3.5 1.52-3.5 3.47h1.75c0-.93.82-1.75 1.75-1.75s1.75.82 1.75 1.75c0 1.75-2.63 1.57-2.63 4.45h1.76c0-1.96 2.62-2.19 2.62-4.45 0-1.96-1.54-3.47-3.5-3.47zm-.88 8.8h1.76v1.76h-1.76z'\nexport const matDialerSip = 'M0 0h24v24H0z@@fill:none;&&M17 3h-1v5h1V3zm-2 2h-2V4h2V3h-3v3h2v1h-2v1h3V5zm3-2v5h1V6h2V3h-3zm2 2h-1V4h1v1zm0 10.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.01.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.27-.26.35-.65.24-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z'\nexport const matDialpad = 'M0 0h24v24H0z@@fill:none;&&M12 19c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM6 1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12-8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-6 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\nexport const matDirections = 'M0 0h24v24H0z@@fill:none;&&M21.71 11.29l-9-9c-.39-.39-1.02-.39-1.41 0l-9 9c-.39.39-.39 1.02 0 1.41l9 9c.39.39 1.02.39 1.41 0l9-9c.39-.38.39-1.01 0-1.41zM14 14.5V12h-4v3H8v-4c0-.55.45-1 1-1h5V7.5l3.5 3.5-3.5 3.5z'\nexport const matDirectionsBike = 'M0 0h24v24H0z@@fill:none;&&M15.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM5 12c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0 8.5c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm5.8-10l2.4-2.4.8.8c1.3 1.3 3 2.1 5.1 2.1V9c-1.5 0-2.7-.6-3.6-1.5l-1.9-1.9c-.5-.4-1-.6-1.6-.6s-1.1.2-1.4.6L7.8 8.4c-.4.4-.6.9-.6 1.4 0 .6.2 1.1.6 1.4L11 14v5h2v-6.2l-2.2-2.3zM19 12c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0 8.5c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z'\nexport const matDirectionsBoat = 'M0 0h24v24H0z@@fill:none;&&M20 21c-1.39 0-2.78-.47-4-1.32-2.44 1.71-5.56 1.71-8 0C6.78 20.53 5.39 21 4 21H2v2h2c1.38 0 2.74-.35 4-.99 2.52 1.29 5.48 1.29 8 0 1.26.65 2.62.99 4 .99h2v-2h-2zM3.95 19H4c1.6 0 3.02-.88 4-2 .98 1.12 2.4 2 4 2s3.02-.88 4-2c.98 1.12 2.4 2 4 2h.05l1.89-6.68c.08-.26.06-.54-.06-.78s-.34-.42-.6-.5L20 10.62V6c0-1.1-.9-2-2-2h-3V1H9v3H6c-1.1 0-2 .9-2 2v4.62l-1.29.42c-.26.08-.48.26-.6.5s-.15.52-.06.78L3.95 19zM6 6h12v3.97L12 8 6 9.97V6z'\nexport const matDirectionsBus = 'M0 0h24v24H0z@@fill:none;&&M4 16c0 .88.39 1.67 1 2.22V20c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h8v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4v10zm3.5 1c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6H6V6h12v5z'\nexport const matDirectionsCar = 'M0 0h24v24H0z@@fill:none;&&M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z'\nexport const matDirectionsOff = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9.41,6.58L12,4h0l8,8l-2.58,2.59L18.83,16l2.58-2.59c0.78-0.78,0.78-2.05,0-2.83l-8-8c-0.78-0.78-2.05-0.78-2.83,0 L8,5.17L9.41,6.58z&&M2.81,2.81L1.39,4.22L5.17,8l-2.58,2.59c-0.78,0.78-0.78,2.05,0,2.83l8,8c0.78,0.78,2.05,0.78,2.83,0L16,18.83l3.78,3.78 l1.41-1.41L2.81,2.81z M12,20l-8-8l2.58-2.59L8.17,11H7v2h3.17l1.5,1.5l-1.08,1.09L12,17l1.09-1.09l1.5,1.5L12,20z&&M13.19 6.51 H14.73 V13.58 H13.19 V6.51 z@@@@matrix(0.7071 -0.7071 0.7071 0.7071 -3.0134 12.8107)'\nexport const matDirectionsRailway = 'M0 0h24v24H0z@@fill:none;&&M4 15.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h12v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V5c0-3.5-3.58-4-8-4s-8 .5-8 4v10.5zm8 1.5c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm6-7H6V5h12v5z'\nexport const matDirectionsRun = 'M0 0h24v24H0z@@fill:none;&&M13.49 5.48c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-3.6 13.9l1-4.4 2.1 2v6h2v-7.5l-2.1-2 .6-3c1.3 1.5 3.3 2.5 5.5 2.5v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1l-5.2 2.2v4.7h2v-3.4l1.8-.7-1.6 8.1-4.9-1-.4 2 7 1.4z'\nexport const matDirectionsSubway = 'M0 0h24v24H0z@@fill:none;&&M12 2c-4.42 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h12v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm3.5-6H6V6h5v5zm5.5 6c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6h-5V6h5v5z'\nexport const matDirectionsTransit = 'M0 0h24v24H0z@@fill:none;&&M12 2c-4.42 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h12v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm3.5-6H6V6h5v5zm5.5 6c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6h-5V6h5v5z'\nexport const matDirectionsWalk = 'M0 0h24v24H0z@@fill:none;&&M13.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM9.8 8.9L7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3C14.8 12 16.8 13 19 13v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6l1.8-.7'\nexport const matDisabledByDefault = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,3v18h18V3H3z M17,15.59L15.59,17L12,13.41L8.41,17L7,15.59L10.59,12L7,8.41L8.41,7L12,10.59L15.59,7L17,8.41L13.41,12 L17,15.59z'\nexport const matDiscFull = 'M0 0h24v24H0z@@fill:none;&&M20 16h2v-2h-2v2zm0-9v5h2V7h-2zM10 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 10c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matDns = 'M0 0h24v24H0z@@fill:none;&&M20 13H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zM7 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM20 3H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM7 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matDock = 'M0 0h24v24H0z@@fill:none;&&M8 23h8v-2H8v2zm8-21.99L8 1c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM16 15H8V5h8v10z'\nexport const matDomain = 'M0,0h24v24H0V0z@@fill:none;&&M12,7V3H2v18h20V7H12z M6,19H4v-2h2V19z M6,15H4v-2h2V15z M6,11H4V9h2V11z M6,7H4V5h2V7z M10,19H8v-2h2V19z M10,15H8v-2h2 V15z M10,11H8V9h2V11z M10,7H8V5h2V7z M20,19h-8v-2h2v-2h-2v-2h2v-2h-2V9h8V19z M18,11h-2v2h2V11z M18,15h-2v2h2V15z'\nexport const matDomainDisabled = 'M0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M8 5h2v2h-.9L12 9.9V9h8v8.9l2 2V7H12V3H5.1L8 5.9zm8 6h2v2h-2zM1.3 1.8L.1 3.1 2 5v16h16l3 3 1.3-1.3-21-20.9zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm4 8H8v-2h2v2zm0-4H8v-2h2v2zm2 4v-2h2l2 2h-4z'\nexport const matDomainVerification = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.6 10.88 L15.18 9.46 L10.94 13.71 L8.82 11.58 L7.4 13 L10.94 16.54z&&M19,4H5C3.89,4,3,4.9,3,6v12c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V6C21,4.9,20.11,4,19,4z M19,18H5V8h14V18z'\nexport const matDone = 'M0 0h24v24H0z@@fill:none;&&M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'\nexport const matDoneAll = 'M0 0h24v24H0z@@fill:none;&&M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z'\nexport const matDoneOutline = 'M0 0h24v24H0V0z@@fill:none;&&M19.77 5.03l1.4 1.4L8.43 19.17l-5.6-5.6 1.4-1.4 4.2 4.2L19.77 5.03m0-2.83L8.43 13.54l-4.2-4.2L0 13.57 8.43 22 24 6.43 19.77 2.2z'\nexport const matDoNotStep = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M1.39,4.22l7.9,7.9c0.18,0.2,0.18,0.5-0.01,0.7c-0.1,0.1-0.23,0.15-0.35,0.15s-0.26-0.05-0.35-0.15L6.87,11.1 c-0.11,0.4-0.26,0.78-0.45,1.12l1.4,1.4c0.2,0.2,0.2,0.51,0,0.71c-0.1,0.1-0.23,0.15-0.35,0.15s-0.26-0.05-0.35-0.15l-1.27-1.27 c-0.24,0.29-0.5,0.56-0.77,0.8l1.28,1.28c0.2,0.2,0.2,0.51,0,0.71C6.26,15.95,6.13,16,6,16s-0.26-0.05-0.35-0.15l-1.38-1.38 c-0.69,0.46-1.39,0.79-1.97,1.02C1.52,15.8,1,16.53,1,17.37V20h9.5l3.33-3.33l5.94,5.94l1.41-1.41L2.81,2.81L1.39,4.22z M18.51,15.68l-1.41-1.41l4.48-4.48L23,11.2L18.51,15.68z M20.88,9.08l-4.48,4.48L9.3,6.47L13.8,2L20.88,9.08z'\nexport const matDoNotTouch = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13,10.17l-2.5-2.5V2.25C10.5,1.56,11.06,1,11.75,1S13,1.56,13,2.25V10.17z M20,12.75V11V5.25C20,4.56,19.44,4,18.75,4 S17.5,4.56,17.5,5.25V11h-1V3.25C16.5,2.56,15.94,2,15.25,2S14,2.56,14,3.25v7.92l6,6V12.75z M9.5,4.25C9.5,3.56,8.94,3,8.25,3 c-0.67,0-1.2,0.53-1.24,1.18L9.5,6.67V4.25z M13,10.17l-2.5-2.5V2.25C10.5,1.56,11.06,1,11.75,1S13,1.56,13,2.25V10.17z M20,12.75 V11V5.25C20,4.56,19.44,4,18.75,4S17.5,4.56,17.5,5.25V11h-1V3.25C16.5,2.56,15.94,2,15.25,2S14,2.56,14,3.25v7.92l6,6V12.75z M9.5,4.25C9.5,3.56,8.94,3,8.25,3c-0.67,0-1.2,0.53-1.24,1.18L9.5,6.67V4.25z M21.19,21.19L2.81,2.81L1.39,4.22l5.63,5.63L7,9.83 v4.3c-1.11-0.64-2.58-1.47-2.6-1.48c-0.17-0.09-0.34-0.14-0.54-0.14c-0.26,0-0.5,0.09-0.7,0.26C3.12,12.78,2,13.88,2,13.88 l6.8,7.18c0.57,0.6,1.35,0.94,2.18,0.94H17c0.62,0,1.18-0.19,1.65-0.52l-0.02-0.02l1.15,1.15L21.19,21.19z'\nexport const matDonutLarge = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11,5.08V2C6,2.5,2,6.81,2,12s4,9.5,9,10v-3.08c-3-0.48-6-3.4-6-6.92S8,5.56,11,5.08z M18.97,11H22c-0.47-5-4-8.53-9-9 v3.08C16,5.51,18.54,8,18.97,11z M13,18.92V22c5-0.47,8.53-4,9-9h-3.03C18.54,16,16,18.49,13,18.92z'\nexport const matDonutSmall = 'M0 0h24v24H0z@@fill:none;&&M11 9.16V2c-5 .5-9 4.79-9 10s4 9.5 9 10v-7.16c-1-.41-2-1.52-2-2.84s1-2.43 2-2.84zM14.86 11H22c-.48-4.75-4-8.53-9-9v7.16c1 .3 1.52.98 1.86 1.84zM13 14.84V22c5-.47 8.52-4.25 9-9h-7.14c-.34.86-.86 1.54-1.86 1.84z'\nexport const matDoubleArrow = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.5 5 L11 5 L16 12 L11 19 L15.5 19 L20.5 12z&&M8.5 5 L4 5 L9 12 L4 19 L8.5 19 L13.5 12z'\nexport const matDrafts = 'M0 0h24v24H0z@@fill:none;&&M21.99 8c0-.72-.37-1.35-.94-1.7L12 1 2.95 6.3C2.38 6.65 2 7.28 2 8v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2l-.01-10zM12 13L3.74 7.84 12 3l8.26 4.84L12 13z'\nexport const matDragHandle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,9H4v2h16V9z M4,15h16v-2H4V15z'\nexport const matDragIndicator = 'M0 0h24v24H0V0z@@fill:none;&&M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\nexport const matDriveEta = 'M0 0h24v24H0z@@fill:none;&&M18.92 5.01C18.72 4.42 18.16 4 17.5 4h-11c-.66 0-1.21.42-1.42 1.01L3 11v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 15c-.83 0-1.5-.67-1.5-1.5S5.67 12 6.5 12s1.5.67 1.5 1.5S7.33 15 6.5 15zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 10l1.5-4.5h11L19 10H5z'\nexport const matDry = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.65,4.86l-0.07-0.07c-0.57-0.62-0.82-1.41-0.67-2.2L15,2h-1.89l-0.06,0.43c-0.2,1.36,0.27,2.71,1.3,3.72l0.07,0.06 c0.57,0.62,0.82,1.41,0.67,2.2L14.98,9h1.91l0.06-0.43C17.16,7.21,16.68,5.86,15.65,4.86z M19.65,4.86l-0.07-0.07 c-0.57-0.62-0.82-1.41-0.67-2.2L19,2h-1.89l-0.06,0.43c-0.2,1.36,0.27,2.71,1.3,3.72l0.07,0.06c0.57,0.62,0.82,1.41,0.67,2.2 L18.98,9h1.91l0.06-0.43C21.16,7.21,20.68,5.86,19.65,4.86z M9.12,5l-7.18,6.79C1.34,12.35,1,13.14,1,13.97V20c0,1.66,1.34,3,3,3 h6.25H12h5.75c0.69,0,1.25-0.56,1.25-1.25s-0.56-1.25-1.25-1.25H12v-1h7.75c0.69,0,1.25-0.56,1.25-1.25S20.44,17,19.75,17H12v-1 h8.75c0.69,0,1.25-0.56,1.25-1.25s-0.56-1.25-1.25-1.25H12v-1h6.75c0.69,0,1.25-0.56,1.25-1.25S19.44,10,18.75,10H8.86 c0.64-1.11,1.48-2.58,1.49-2.61c0.09-0.16,0.14-0.33,0.14-0.53c0-0.26-0.09-0.5-0.26-0.7C10.22,6.12,9.12,5,9.12,5L9.12,5z'\nexport const matDuo = 'M0 0h24v24H0z@@fill:none;&&M20 2h-8C6.38 2 2 6.66 2 12.28 2 17.5 6.49 22 11.72 22 17.39 22 22 17.62 22 12V4c0-1.1-.9-2-2-2zm-3 13l-3-2v2H7V9h7v2l3-2v6z'\nexport const matDvr = 'M0 0h24v24H0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.1-.9-2-2-2zm0 14H3V5h18v12zm-2-9H8v2h11V8zm0 4H8v2h11v-2zM7 8H5v2h2V8zm0 4H5v2h2v-2z'\nexport const matDynamicFeed = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M8,8H6v7c0,1.1,0.9,2,2,2h9v-2H8V8z&&M20,3h-8c-1.1,0-2,0.9-2,2v6c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V5C22,3.9,21.1,3,20,3z M20,11h-8V7h8V11z&&M4,12H2v7c0,1.1,0.9,2,2,2h9v-2H4V12z&&M8,8H6v7c0,1.1,0.9,2,2,2h9v-2H8V8z&&M20,3h-8c-1.1,0-2,0.9-2,2v6c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V5C22,3.9,21.1,3,20,3z M20,11h-8V7h8V11z&&M4,12H2v7c0,1.1,0.9,2,2,2h9v-2H4V12z'\nexport const matDynamicForm = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,20v-9h-2V4h7l-2,5h2L17,20z M15,13v7H4c-1.1,0-2-0.9-2-2v-3c0-1.1,0.9-2,2-2H15z M6.25,15.75h-1.5v1.5h1.5V15.75z M13,4v7H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2H13z M6.25,6.75h-1.5v1.5h1.5V6.75z'\nexport const matEast = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15,5l-1.41,1.41L18.17,11H2V13h16.17l-4.59,4.59L15,19l7-7L15,5z'\nexport const matEco = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.05,8.05c-2.73,2.73-2.73,7.15-0.02,9.88c1.47-3.4,4.09-6.24,7.36-7.93c-2.77,2.34-4.71,5.61-5.39,9.32 c2.6,1.23,5.8,0.78,7.95-1.37C19.43,14.47,20,4,20,4S9.53,4.57,6.05,8.05z'\nexport const matEdit = 'M0 0h24v24H0z@@fill:none;&&M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'\nexport const matEditAttributes = 'M0 0h24v24H0z@@fill:none;&&M17.63 7H6.37C3.96 7 2 9.24 2 12s1.96 5 4.37 5h11.26c2.41 0 4.37-2.24 4.37-5s-1.96-5-4.37-5zM7.24 14.46l-2.57-2.57.7-.7 1.87 1.87 3.52-3.52.7.7-4.22 4.22z'\nexport const matEditLocation = 'M0 0h24v24H0z@@fill:none;&&M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm-1.56 10H9v-1.44l3.35-3.34 1.43 1.43L10.44 12zm4.45-4.45l-.7.7-1.44-1.44.7-.7c.15-.15.39-.15.54 0l.9.9c.15.15.15.39 0 .54z'\nexport const matEditRoad = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18 4 L16 4 L16 11.9 L18 9.9z&&M4 4 H6 V20 H4 V4 z&&M10 4 H12 V8 H10 V4 z&&M10 10 H12 V14 H10 V10 z&&M10 16 H12 V20 H10 V16 z&&M22.56,12.59l-1.15-1.15c-0.59-0.59-1.54-0.59-2.12,0L14,16.73V20h3.27l5.29-5.29C23.15,14.12,23.15,13.17,22.56,12.59z M16.58,18.45h-1.03v-1.03L19,13.97L20.03,15L16.58,18.45z'\nexport const matEject = 'M0 24V0h24v24H0z@@fill:none;&&M5 17h14v2H5zm7-12L5.33 15h13.34z'\nexport const matElderly = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13.5,5.5c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S12.4,5.5,13.5,5.5z M20,12.5V23h-1V12.5c0-0.28-0.22-0.5-0.5-0.5 S18,12.22,18,12.5v1h-1v-0.69c-1.46-0.38-2.7-1.29-3.51-2.52C13.18,11.16,13,12.07,13,13c0,0.23,0.02,0.46,0.03,0.69L15,16.5V23h-2 v-5l-1.78-2.54L11,19l-3,4l-1.6-1.2L9,18.33V13c0-1.15,0.18-2.29,0.5-3.39L8,10.46V14H6V9.3l5.4-3.07l0,0.01 c0.59-0.31,1.32-0.33,1.94,0.03c0.36,0.21,0.63,0.51,0.8,0.85l0,0l0.79,1.67C15.58,10.1,16.94,11,18.5,11C19.33,11,20,11.67,20,12.5 z'\nexport const matElectricalServices = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,14c0-0.55-0.45-1-1-1h-2v2h2C20.55,15,21,14.55,21,14z&&M20,17h-2v2h2c0.55,0,1-0.45,1-1C21,17.45,20.55,17,20,17z&&M12,14h-2v4h2c0,1.1,0.9,2,2,2h3v-8h-3C12.9,12,12,12.9,12,14z&&M5,13c0-1.1,0.9-2,2-2h1.5c1.93,0,3.5-1.57,3.5-3.5S10.43,4,8.5,4H5C4.45,4,4,4.45,4,5c0,0.55,0.45,1,1,1h3.5 C9.33,6,10,6.67,10,7.5S9.33,9,8.5,9H7c-2.21,0-4,1.79-4,4c0,2.21,1.79,4,4,4h2v-2H7C5.9,15,5,14.1,5,13z'\nexport const matElectricBike = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,7h-0.82l-1.7-4.68C16.19,1.53,15.44,1,14.6,1H12v2h2.6l1.46,4h-4.81l-0.36-1H12V4H7v2h1.75l1.82,5H9.9 C9.46,8.77,7.59,7.12,5.25,7.01C2.45,6.87,0,9.2,0,12c0,2.8,2.2,5,5,5c2.46,0,4.45-1.69,4.9-4h4.2c0.44,2.23,2.31,3.88,4.65,3.99 c2.8,0.13,5.25-2.19,5.25-5C24,9.2,21.8,7,19,7z M7.82,13c-0.4,1.17-1.49,2-2.82,2c-1.68,0-3-1.32-3-3s1.32-3,3-3 c1.33,0,2.42,0.83,2.82,2H5v2H7.82z M14.1,11h-1.4l-0.73-2H15C14.56,9.58,14.24,10.25,14.1,11z M19,15c-1.68,0-3-1.32-3-3 c0-0.93,0.41-1.73,1.05-2.28l0.96,2.64l1.88-0.68l-0.97-2.67C18.94,9.01,18.97,9,19,9c1.68,0,3,1.32,3,3S20.68,15,19,15z&&M11 20 L7 20 L13 23 L13 21 L17 21 L11 18z'\nexport const matElectricCar = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18.92,2.01C18.72,1.42,18.16,1,17.5,1h-11C5.84,1,5.29,1.42,5.08,2.01L3,8v8c0,0.55,0.45,1,1,1h1c0.55,0,1-0.45,1-1v-1h12 v1c0,0.55,0.45,1,1,1h1c0.55,0,1-0.45,1-1V8L18.92,2.01z M6.5,12C5.67,12,5,11.33,5,10.5S5.67,9,6.5,9S8,9.67,8,10.5 S7.33,12,6.5,12z M17.5,12c-0.83,0-1.5-0.67-1.5-1.5S16.67,9,17.5,9S19,9.67,19,10.5S18.33,12,17.5,12z M5,7l1.5-4.5h11L19,7H5z&&M7 20 L11 20 L11 18 L17 21 L13 21 L13 23z'\nexport const matElectricMoped = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,5c0-1.1-0.9-2-2-2h-3v2h3v2.65L13.52,12H10V7H6c-2.21,0-4,1.79-4,4v3h2c0,1.66,1.34,3,3,3s3-1.34,3-3h4.48L19,8.35V5z M7,15c-0.55,0-1-0.45-1-1h2C8,14.55,7.55,15,7,15z&&M5 4 H10 V6 H5 V4 z&&M19,11c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S20.66,11,19,11z M19,15c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1 S19.55,15,19,15z&&M7 20 L11 20 L11 18 L17 21 L13 21 L13 23z'\nexport const matElectricScooter = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7.82,16H15v-1c0-2.21,1.79-4,4-4h0.74l-1.9-8.44C17.63,1.65,16.82,1,15.89,1H12v2h3.89l1.4,6.25c0,0-0.01,0-0.01,0 c-2.16,0.65-3.81,2.48-4.19,4.75H7.82c-0.48-1.34-1.86-2.24-3.42-1.94c-1.18,0.23-2.13,1.2-2.35,2.38C1.7,16.34,3.16,18,5,18 C6.3,18,7.4,17.16,7.82,16z M5,16c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S5.55,16,5,16z&&M19,12c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S20.66,12,19,12z M19,16c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1 S19.55,16,19,16z&&M11 20 L7 20 L13 23 L13 21 L17 21 L11 18z'\nexport const matElevator = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M8.5,6c0.69,0,1.25,0.56,1.25,1.25 c0,0.69-0.56,1.25-1.25,1.25S7.25,7.94,7.25,7.25C7.25,6.56,7.81,6,8.5,6z M11,14h-1v4H7v-4H6v-2.5c0-1.1,0.9-2,2-2h1 c1.1,0,2,0.9,2,2V14z M15.5,17L13,13h5L15.5,17z M13,11l2.5-4l2.5,4H13z'\nexport const matEmail = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'\nexport const matEmojiEmotions = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.99,2C6.47,2,2,6.48,2,12c0,5.52,4.47,10,9.99,10C17.52,22,22,17.52,22,12C22,6.48,17.52,2,11.99,2z M8.5,8 C9.33,8,10,8.67,10,9.5S9.33,11,8.5,11S7,10.33,7,9.5S7.67,8,8.5,8z M12,18c-2.28,0-4.22-1.66-5-4h10C16.22,16.34,14.28,18,12,18z M15.5,11c-0.83,0-1.5-0.67-1.5-1.5S14.67,8,15.5,8S17,8.67,17,9.5S16.33,11,15.5,11z'\nexport const matEmojiEvents = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,5h-2V3H7v2H5C3.9,5,3,5.9,3,7v1c0,2.55,1.92,4.63,4.39,4.94c0.63,1.5,1.98,2.63,3.61,2.96V19H7v2h10v-2h-4v-3.1 c1.63-0.33,2.98-1.46,3.61-2.96C19.08,12.63,21,10.55,21,8V7C21,5.9,20.1,5,19,5z M5,8V7h2v3.82C5.84,10.4,5,9.3,5,8z M19,8 c0,1.3-0.84,2.4-2,2.82V7h2V8z'\nexport const matEmojiFlags = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,9l-1-2H7V5.72C7.6,5.38,8,4.74,8,4c0-1.1-0.9-2-2-2S4,2.9,4,4c0,0.74,0.4,1.38,1,1.72V21h2v-4h5l1,2h7V9H14z M18,17h-4 l-1-2H7V9h5l1,2h5V17z'\nexport const matEmojiFoodBeverage = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,3H9v2.4l1.81,1.45C10.93,6.94,11,7.09,11,7.24v4.26c0,0.28-0.22,0.5-0.5,0.5h-4C6.22,12,6,11.78,6,11.5V7.24 c0-0.15,0.07-0.3,0.19-0.39L8,5.4V3H4v10c0,2.21,1.79,4,4,4h6c2.21,0,4-1.79,4-4v-3h2c1.11,0,2-0.9,2-2V5C22,3.89,21.11,3,20,3z M20,8h-2V5h2V8z&&M4 19 H20 V21 H4 V19 z'\nexport const matEmojiNature = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.94,4.88C21.76,4.35,21.25,4,20.68,4c-0.03,0-0.06,0-0.09,0H19.6l-0.31-0.97C19.15,2.43,18.61,2,18,2h0 c-0.61,0-1.15,0.43-1.29,1.04L16.4,4h-0.98c-0.03,0-0.06,0-0.09,0c-0.57,0-1.08,0.35-1.26,0.88c-0.19,0.56,0.04,1.17,0.56,1.48 l0.87,0.52L15.1,8.12c-0.23,0.58-0.04,1.25,0.45,1.62C15.78,9.91,16.06,10,16.33,10c0.31,0,0.61-0.11,0.86-0.32L18,8.98l0.81,0.7 C19.06,9.89,19.36,10,19.67,10c0.27,0,0.55-0.09,0.78-0.26c0.5-0.37,0.68-1.04,0.45-1.62l-0.39-1.24l0.87-0.52 C21.89,6.05,22.12,5.44,21.94,4.88z M18,7c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1C19,6.55,18.55,7,18,7z&&M13.49,10.51c-0.43-0.43-0.94-0.73-1.49-0.93V8h-1v1.38c-0.11-0.01-0.23-0.03-0.34-0.03c-1.02,0-2.05,0.39-2.83,1.17 c-0.16,0.16-0.3,0.34-0.43,0.53L6,10.52c-1.56-0.55-3.28,0.27-3.83,1.82c0,0,0,0,0,0c-0.27,0.75-0.23,1.57,0.12,2.29 c0.23,0.48,0.58,0.87,1,1.16c-0.38,1.35-0.06,2.85,1,3.91c1.06,1.06,2.57,1.38,3.91,1c0.29,0.42,0.68,0.77,1.16,1 C9.78,21.9,10.21,22,10.65,22c0.34,0,0.68-0.06,1.01-0.17c0,0,0,0,0,0c1.56-0.55,2.38-2.27,1.82-3.85l-0.52-1.37 c0.18-0.13,0.36-0.27,0.53-0.43c0.87-0.87,1.24-2.04,1.14-3.17H16v-1h-1.59C14.22,11.46,13.92,10.95,13.49,10.51z M4.67,14.29 c-0.25-0.09-0.45-0.27-0.57-0.51s-0.13-0.51-0.04-0.76c0.19-0.52,0.76-0.79,1.26-0.61l3.16,1.19C7.33,14.2,5.85,14.71,4.67,14.29z M10.99,19.94c-0.25,0.09-0.52,0.08-0.76-0.04c-0.24-0.11-0.42-0.32-0.51-0.57c-0.42-1.18,0.09-2.65,0.7-3.8l1.18,3.13 C11.78,19.18,11.51,19.76,10.99,19.94z M12.2,14.6l-0.61-1.61c0-0.01-0.01-0.02-0.02-0.03c-0.02-0.04-0.04-0.08-0.06-0.12 c-0.02-0.04-0.04-0.07-0.07-0.11c-0.03-0.03-0.06-0.06-0.09-0.09c-0.03-0.03-0.06-0.06-0.09-0.09c-0.03-0.03-0.07-0.05-0.11-0.07 c-0.04-0.02-0.07-0.05-0.12-0.06c-0.01,0-0.02-0.01-0.03-0.02L9.4,11.8c0.36-0.29,0.79-0.46,1.26-0.46c0.53,0,1.04,0.21,1.41,0.59 C12.8,12.66,12.84,13.81,12.2,14.6z'\nexport const matEmojiObjects = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,3c-0.46,0-0.93,0.04-1.4,0.14C7.84,3.67,5.64,5.9,5.12,8.66c-0.48,2.61,0.48,5.01,2.22,6.56C7.77,15.6,8,16.13,8,16.69 V19c0,1.1,0.9,2,2,2h0.28c0.35,0.6,0.98,1,1.72,1s1.38-0.4,1.72-1H14c1.1,0,2-0.9,2-2v-2.31c0-0.55,0.22-1.09,0.64-1.46 C18.09,13.95,19,12.08,19,10C19,6.13,15.87,3,12,3z M14,19h-4v-1h4V19z M14,17h-4v-1h4V17z M12.5,11.41V14h-1v-2.59L9.67,9.59 l0.71-0.71L12,10.5l1.62-1.62l0.71,0.71L12.5,11.41z'\nexport const matEmojiPeople = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12 4 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M15.89,8.11C15.5,7.72,14.83,7,13.53,7c-0.21,0-1.42,0-2.54,0C8.24,6.99,6,4.75,6,2H4c0,3.16,2.11,5.84,5,6.71V22h2v-6h2 v6h2V10.05L18.95,14l1.41-1.41L15.89,8.11z'\nexport const matEmojiSymbols = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3 2 H11 V4 H3 V2 z&&M6 11 L8 11 L8 7 L11 7 L11 5 L3 5 L3 7 L6 7z&&M11.5 16 H22.5 V18 H11.5 V16 z@@@@matrix(0.7071 -0.7071 0.7071 0.7071 -7.0416 16.9999)&&M14.5 14.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M19.5 19.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M15.5,11c1.38,0,2.5-1.12,2.5-2.5V4h3V2h-4v4.51C16.58,6.19,16.07,6,15.5,6C14.12,6,13,7.12,13,8.5 C13,9.88,14.12,11,15.5,11z&&M9.74,15.96l-1.41,1.41l-0.71-0.71l0.35-0.35c0.98-0.98,0.98-2.56,0-3.54c-0.49-0.49-1.13-0.73-1.77-0.73 c-0.64,0-1.28,0.24-1.77,0.73c-0.98,0.98-0.98,2.56,0,3.54l0.35,0.35l-1.06,1.06c-0.98,0.98-0.98,2.56,0,3.54 C4.22,21.76,4.86,22,5.5,22s1.28-0.24,1.77-0.73l1.06-1.06l1.41,1.41l1.41-1.41l-1.41-1.41l1.41-1.41L9.74,15.96z M5.85,14.2 c0.12-0.12,0.26-0.15,0.35-0.15s0.23,0.03,0.35,0.15c0.19,0.2,0.19,0.51,0,0.71l-0.35,0.35L5.85,14.9 C5.66,14.71,5.66,14.39,5.85,14.2z M5.85,19.85C5.73,19.97,5.59,20,5.5,20s-0.23-0.03-0.35-0.15c-0.19-0.19-0.19-0.51,0-0.71 l1.06-1.06l0.71,0.71L5.85,19.85z'\nexport const matEmojiTransportation = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20.57,10.66C20.43,10.26,20.05,10,19.6,10h-7.19c-0.46,0-0.83,0.26-0.98,0.66L10,14.77l0.01,5.51 c0,0.38,0.31,0.72,0.69,0.72h0.62C11.7,21,12,20.62,12,20.24V19h8v1.24c0,0.38,0.31,0.76,0.69,0.76h0.61 c0.38,0,0.69-0.34,0.69-0.72L22,18.91v-4.14L20.57,10.66z M12.41,11h7.19l1.03,3h-9.25L12.41,11z M12,17c-0.55,0-1-0.45-1-1 s0.45-1,1-1s1,0.45,1,1S12.55,17,12,17z M20,17c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S20.55,17,20,17z&&M14 9 L15 9 L15 3 L7 3 L7 8 L2 8 L2 21 L3 21 L3 9 L8 9 L8 4 L14 4z&&M5 11 H7 V13 H5 V11 z&&M10 5 H12 V7 H10 V5 z&&M5 15 H7 V17 H5 V15 z&&M5 19 H7 V21 H5 V19 z'\nexport const matEngineering = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,15c-2.67,0-8,1.34-8,4v2h16v-2C17,16.34,11.67,15,9,15z&&M22.1,6.84c0.01-0.11,0.02-0.22,0.02-0.34c0-0.12-0.01-0.23-0.03-0.34l0.74-0.58c0.07-0.05,0.08-0.15,0.04-0.22l-0.7-1.21 c-0.04-0.08-0.14-0.1-0.21-0.08L21.1,4.42c-0.18-0.14-0.38-0.25-0.59-0.34l-0.13-0.93C20.36,3.06,20.29,3,20.2,3h-1.4 c-0.09,0-0.16,0.06-0.17,0.15L18.5,4.08c-0.21,0.09-0.41,0.21-0.59,0.34l-0.87-0.35c-0.08-0.03-0.17,0-0.21,0.08l-0.7,1.21 c-0.04,0.08-0.03,0.17,0.04,0.22l0.74,0.58c-0.02,0.11-0.03,0.23-0.03,0.34c0,0.11,0.01,0.23,0.03,0.34l-0.74,0.58 c-0.07,0.05-0.08,0.15-0.04,0.22l0.7,1.21c0.04,0.08,0.14,0.1,0.21,0.08l0.87-0.35c0.18,0.14,0.38,0.25,0.59,0.34l0.13,0.93 C18.64,9.94,18.71,10,18.8,10h1.4c0.09,0,0.16-0.06,0.17-0.15l0.13-0.93c0.21-0.09,0.41-0.21,0.59-0.34l0.87,0.35 c0.08,0.03,0.17,0,0.21-0.08l0.7-1.21c0.04-0.08,0.03-0.17-0.04-0.22L22.1,6.84z M19.5,7.75c-0.69,0-1.25-0.56-1.25-1.25 s0.56-1.25,1.25-1.25s1.25,0.56,1.25,1.25S20.19,7.75,19.5,7.75z&&M19.92,11.68l-0.5-0.87c-0.03-0.06-0.1-0.08-0.15-0.06l-0.62,0.25c-0.13-0.1-0.27-0.18-0.42-0.24l-0.09-0.66 C18.12,10.04,18.06,10,18,10h-1c-0.06,0-0.11,0.04-0.12,0.11l-0.09,0.66c-0.15,0.06-0.29,0.15-0.42,0.24l-0.62-0.25 c-0.06-0.02-0.12,0-0.15,0.06l-0.5,0.87c-0.03,0.06-0.02,0.12,0.03,0.16l0.53,0.41c-0.01,0.08-0.02,0.16-0.02,0.24 c0,0.08,0.01,0.17,0.02,0.24l-0.53,0.41c-0.05,0.04-0.06,0.11-0.03,0.16l0.5,0.87c0.03,0.06,0.1,0.08,0.15,0.06l0.62-0.25 c0.13,0.1,0.27,0.18,0.42,0.24l0.09,0.66C16.89,14.96,16.94,15,17,15h1c0.06,0,0.12-0.04,0.12-0.11l0.09-0.66 c0.15-0.06,0.29-0.15,0.42-0.24l0.62,0.25c0.06,0.02,0.12,0,0.15-0.06l0.5-0.87c0.03-0.06,0.02-0.12-0.03-0.16l-0.52-0.41 c0.01-0.08,0.02-0.16,0.02-0.24c0-0.08-0.01-0.17-0.02-0.24l0.53-0.41C19.93,11.81,19.94,11.74,19.92,11.68z M17.5,13.33 c-0.46,0-0.83-0.38-0.83-0.83c0-0.46,0.38-0.83,0.83-0.83s0.83,0.38,0.83,0.83C18.33,12.96,17.96,13.33,17.5,13.33z&&M4.74,9h8.53c0.27,0,0.49-0.22,0.49-0.49V8.49c0-0.27-0.22-0.49-0.49-0.49H13c0-1.48-0.81-2.75-2-3.45V5.5 C11,5.78,10.78,6,10.5,6S10,5.78,10,5.5V4.14C9.68,4.06,9.35,4,9,4S8.32,4.06,8,4.14V5.5C8,5.78,7.78,6,7.5,6S7,5.78,7,5.5V4.55 C5.81,5.25,5,6.52,5,8H4.74C4.47,8,4.25,8.22,4.25,8.49v0.03C4.25,8.78,4.47,9,4.74,9z&&M9,13c1.86,0,3.41-1.28,3.86-3H5.14C5.59,11.72,7.14,13,9,13z'\nexport const matEnhancedEncryption = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0z@@fill:none;&&M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H8.9V6zM16 16h-3v3h-2v-3H8v-2h3v-3h2v3h3v2z'\nexport const matEqualizer = 'M0 0h24v24H0z@@fill:none;&&M10 20h4V4h-4v16zm-6 0h4v-8H4v8zM16 9v11h4V9h-4z'\nexport const matError = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'\nexport const matErrorOutline = 'M0 0h24v24H0V0z@@fill:none;&&M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'\nexport const matEscalator = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2l0-14C21,3.9,20.1,3,19,3z M17,9h-1.7l-5,9H7 c-0.83,0-1.5-0.67-1.5-1.5S6.17,15,7,15h1.7l5-9H17c0.83,0,1.5,0.67,1.5,1.5S17.83,9,17,9z'\nexport const matEscalatorWarning = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.5,2c1.1,0,2,0.9,2,2s-0.9,2-2,2s-2-0.9-2-2S5.4,2,6.5,2z M15.5,9.5c0,0.83,0.67,1.5,1.5,1.5s1.5-0.67,1.5-1.5 S17.83,8,17,8S15.5,8.67,15.5,9.5z M18.5,12h-2.84c-0.58,0.01-1.14,0.32-1.45,0.86l-0.92,1.32L9.72,8C9.35,7.37,8.69,7.01,8.01,7H5 C3.9,7,3,7.9,3,9v6h1.5v7h5V11.61L12.03,16h2.2L15,14.9V22h4v-5h1v-3.5C20,12.68,19.33,12,18.5,12z'\nexport const matEuro = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15,18.5c-2.51,0-4.68-1.42-5.76-3.5H15l1-2H8.58c-0.05-0.33-0.08-0.66-0.08-1s0.03-0.67,0.08-1H15l1-2H9.24 C10.32,6.92,12.5,5.5,15,5.5c1.61,0,3.09,0.59,4.23,1.57L21,5.3C19.41,3.87,17.3,3,15,3c-3.92,0-7.24,2.51-8.48,6H3l-1,2h4.06 C6.02,11.33,6,11.66,6,12s0.02,0.67,0.06,1H3l-1,2h4.52c1.24,3.49,4.56,6,8.48,6c2.31,0,4.41-0.87,6-2.3l-1.78-1.77 C18.09,17.91,16.62,18.5,15,18.5z'\nexport const matEuroSymbol = 'M0 0h24v24H0z@@fill:none;&&M15 18.5c-2.51 0-4.68-1.42-5.76-3.5H15v-2H8.58c-.05-.33-.08-.66-.08-1s.03-.67.08-1H15V9H9.24C10.32 6.92 12.5 5.5 15 5.5c1.61 0 3.09.59 4.23 1.57L21 5.3C19.41 3.87 17.3 3 15 3c-3.92 0-7.24 2.51-8.48 6H3v2h3.06c-.04.33-.06.66-.06 1 0 .34.02.67.06 1H3v2h3.52c1.24 3.49 4.56 6 8.48 6 2.31 0 4.41-.87 6-2.3l-1.78-1.77c-1.13.98-2.6 1.57-4.22 1.57z'\nexport const matEvent = 'M0 0h24v24H0z@@fill:none;&&M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z'\nexport const matEventAvailable = 'M0 0h24v24H0z@@fill:none;&&M16.53 11.06L15.47 10l-4.88 4.88-2.12-2.12-1.06 1.06L10.59 17l5.94-5.94zM19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11z'\nexport const matEventBusy = 'M0 0h24v24H0z@@fill:none;&&M9.31 17l2.44-2.44L14.19 17l1.06-1.06-2.44-2.44 2.44-2.44L14.19 10l-2.44 2.44L9.31 10l-1.06 1.06 2.44 2.44-2.44 2.44L9.31 17zM19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11z'\nexport const matEventNote = 'M0 0h24v24H0z@@fill:none;&&M17 10H7v2h10v-2zm2-7h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zm-5-5H7v2h7v-2z'\nexport const matEventSeat = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M4,18v3h3v-3h10v3h3v-6H4V18z M19,10h3v3h-3V10z M2,10h3v3H2V10z M17,13H7V5c0-1.1,0.9-2,2-2h6c1.1,0,2,0.9,2,2V13z'\nexport const matEvStation = 'M0 0h24v24H0V0z@@fill:none;&&M19.77 7.23l.01-.01-3.72-3.72L15 4.56l2.11 2.11c-.94.36-1.61 1.26-1.61 2.33 0 1.38 1.12 2.5 2.5 2.5.36 0 .69-.08 1-.21v7.21c0 .55-.45 1-1 1s-1-.45-1-1V14c0-1.1-.9-2-2-2h-1V5c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v16h10v-7.5h1.5v5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V9c0-.69-.28-1.32-.73-1.77zM18 10c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zM8 18v-4.5H6L10 6v5h2l-4 7z'\nexport const matExitToApp = 'M0 0h24v24H0z@@fill:none;&&M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'\nexport const matExpandLess = 'M0 0h24v24H0z@@fill:none;&&M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z'\nexport const matExpandMore = 'M0 0h24v24H0z@@fill:none;&&M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'\nexport const matExplicit = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h4v2h-4v2h4v2H9V7h6v2z'\nexport const matExplore = 'M0 0h24v24H0z@@fill:none;&&M12 10.9c-.61 0-1.1.49-1.1 1.1s.49 1.1 1.1 1.1c.61 0 1.1-.49 1.1-1.1s-.49-1.1-1.1-1.1zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm2.19 12.19L6 18l3.81-8.19L18 6l-3.81 8.19z'\nexport const matExploreOff = 'M0 0h24v24H0V0z@@fill:none;&&M14.19 14.19l-1.41-1.41-1.56-1.56L11 11 9.81 9.81 4.93 4.93 2.27 2.27 1 3.54l2.78 2.78c-.11.16-.21.32-.31.48-.04.07-.09.14-.13.21-.09.15-.17.31-.25.47-.05.1-.1.21-.16.32-.06.14-.13.28-.19.43-.1.24-.19.48-.27.73l-.09.3c-.05.2-.1.39-.14.59-.02.11-.04.22-.07.33-.04.2-.07.4-.09.61-.01.1-.03.2-.03.3-.03.29-.05.6-.05.91 0 5.52 4.48 10 10 10 .31 0 .62-.02.92-.05l.3-.03c.2-.02.41-.06.61-.09.11-.02.22-.04.33-.07.2-.04.39-.09.58-.15.1-.03.2-.05.3-.09.25-.08.49-.17.73-.27.15-.06.29-.13.43-.19.11-.05.22-.1.33-.16.16-.08.31-.16.46-.25.07-.04.14-.09.21-.13.16-.1.32-.2.48-.31L20.46 23l1.27-1.27-2.66-2.66-4.88-4.88zM6 18l3-6.46L12.46 15 6 18zm16-6c0 .31-.02.62-.05.92l-.03.3c-.02.2-.06.41-.09.61-.02.11-.04.22-.07.33-.04.2-.09.39-.15.58-.03.1-.05.21-.09.31-.08.25-.17.49-.27.73-.06.15-.13.29-.19.43-.05.11-.1.22-.16.33-.08.16-.16.31-.25.46-.04.07-.09.14-.13.21-.1.16-.2.32-.31.48L15 12.46 18 6l-6.46 3-5.22-5.22c.16-.11.32-.21.48-.31.07-.04.14-.09.21-.13.15-.09.31-.17.46-.25.11-.05.22-.1.33-.16.14-.06.28-.13.43-.19.24-.1.48-.19.73-.27l.31-.09c.19-.05.38-.11.58-.15.11-.02.22-.04.33-.07.2-.04.4-.07.61-.09.1-.01.2-.03.3-.03.29-.02.6-.04.91-.04 5.52 0 10 4.48 10 10z'\nexport const matExposure = 'M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM6 7h5v1.5H6V7zm13 12H5L19 5v14zm-4.5-3v2H16v-2h2v-1.5h-2v-2h-1.5v2h-2V16z'\nexport const matExposureNeg1 = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M4 11v2h8v-2H4zm15 7h-2V7.38L14 8.4V6.7L18.7 5h.3v13z'\nexport const matExposureNeg2 = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M15.05 16.29l2.86-3.07c.38-.39.72-.79 1.04-1.18.32-.39.59-.78.82-1.17.23-.39.41-.78.54-1.17s.19-.79.19-1.18c0-.53-.09-1.02-.27-1.46-.18-.44-.44-.81-.78-1.11-.34-.31-.77-.54-1.26-.71-.51-.16-1.08-.24-1.72-.24-.69 0-1.31.11-1.85.32-.54.21-1 .51-1.36.88-.37.37-.65.8-.84 1.3-.18.47-.27.97-.28 1.5h2.14c.01-.31.05-.6.13-.87.09-.29.23-.54.4-.75.18-.21.41-.37.68-.49.27-.12.6-.18.96-.18.31 0 .58.05.81.15.23.1.43.25.59.43.16.18.28.4.37.65.08.25.13.52.13.81 0 .22-.03.43-.08.65-.06.22-.15.45-.29.7-.14.25-.32.53-.56.83-.23.3-.52.65-.88 1.03l-4.17 4.55V18H21v-1.71h-5.95zM2 11v2h8v-2H2z'\nexport const matExposurePlus1 = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M10 7H8v4H4v2h4v4h2v-4h4v-2h-4V7zm10 11h-2V7.38L15 8.4V6.7L19.7 5h.3v13z'\nexport const matExposurePlus2 = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M16.05 16.29l2.86-3.07c.38-.39.72-.79 1.04-1.18.32-.39.59-.78.82-1.17.23-.39.41-.78.54-1.17.13-.39.19-.79.19-1.18 0-.53-.09-1.02-.27-1.46-.18-.44-.44-.81-.78-1.11-.34-.31-.77-.54-1.26-.71-.51-.16-1.08-.24-1.72-.24-.69 0-1.31.11-1.85.32-.54.21-1 .51-1.36.88-.37.37-.65.8-.84 1.3-.18.47-.27.97-.28 1.5h2.14c.01-.31.05-.6.13-.87.09-.29.23-.54.4-.75.18-.21.41-.37.68-.49.27-.12.6-.18.96-.18.31 0 .58.05.81.15.23.1.43.25.59.43.16.18.28.4.37.65.08.25.13.52.13.81 0 .22-.03.43-.08.65-.06.22-.15.45-.29.7-.14.25-.32.53-.56.83-.23.3-.52.65-.88 1.03l-4.17 4.55V18H22v-1.71h-5.95zM8 7H6v4H2v2h4v4h2v-4h4v-2H8V7z'\nexport const matExposureZero = 'M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M16.14 12.5c0 1-.1 1.85-.3 2.55-.2.7-.48 1.27-.83 1.7-.36.44-.79.75-1.3.95-.51.2-1.07.3-1.7.3-.62 0-1.18-.1-1.69-.3-.51-.2-.95-.51-1.31-.95-.36-.44-.65-1.01-.85-1.7-.2-.7-.3-1.55-.3-2.55v-2.04c0-1 .1-1.85.3-2.55.2-.7.48-1.26.84-1.69.36-.43.8-.74 1.31-.93C10.81 5.1 11.38 5 12 5c.63 0 1.19.1 1.7.29.51.19.95.5 1.31.93.36.43.64.99.84 1.69.2.7.3 1.54.3 2.55v2.04zm-2.11-2.36c0-.64-.05-1.18-.13-1.62-.09-.44-.22-.79-.4-1.06-.17-.27-.39-.46-.64-.58-.25-.13-.54-.19-.86-.19-.32 0-.61.06-.86.18s-.47.31-.64.58c-.17.27-.31.62-.4 1.06s-.13.98-.13 1.62v2.67c0 .64.05 1.18.14 1.62.09.45.23.81.4 1.09s.39.48.64.61.54.19.87.19c.33 0 .62-.06.87-.19s.46-.33.63-.61c.17-.28.3-.64.39-1.09.09-.45.13-.99.13-1.62v-2.66z'\nexport const matExtension = 'M0 0h24v24H0z@@fill:none;&&M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z'\nexport const matFace = 'M0 0h24v24H0z@@fill:none;&&M9 11.75c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z'\nexport const matFacebook = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,12c0-5.52-4.48-10-10-10S2,6.48,2,12c0,4.84,3.44,8.87,8,9.8V15H8v-3h2V9.5C10,7.57,11.57,6,13.5,6H16v3h-2 c-0.55,0-1,0.45-1,1v2h3v3h-3v6.95C18.05,21.45,22,17.19,22,12z'\nexport const matFactCheck = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,3H4C2.9,3,2,3.9,2,5v14c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V5 C22,3.9,21.1,3,20,3z M10,17H5v-2h5V17z M10,13H5v-2h5V13z M10,9H5V7h5V9z M14.82,15L12,12.16l1.41-1.41l1.41,1.42L17.99,9 l1.42,1.42L14.82,15z@@fill-rule:evenodd;'\nexport const matFamilyRestroom = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,4c0-1.11,0.89-2,2-2s2,0.89,2,2s-0.89,2-2,2S16,5.11,16,4z M20,22v-6h2.5l-2.54-7.63C19.68,7.55,18.92,7,18.06,7h-0.12 c-0.86,0-1.63,0.55-1.9,1.37l-0.86,2.58C16.26,11.55,17,12.68,17,14v8H20z M12.5,11.5c0.83,0,1.5-0.67,1.5-1.5s-0.67-1.5-1.5-1.5 S11,9.17,11,10S11.67,11.5,12.5,11.5z M5.5,6c1.11,0,2-0.89,2-2s-0.89-2-2-2s-2,0.89-2,2S4.39,6,5.5,6z M7.5,22v-7H9V9 c0-1.1-0.9-2-2-2H4C2.9,7,2,7.9,2,9v6h1.5v7H7.5z M14,22v-4h1v-4c0-0.82-0.68-1.5-1.5-1.5h-2c-0.82,0-1.5,0.68-1.5,1.5v4h1v4H14z'\nexport const matFastfood = 'M0 0h24v24H0z@@fill:none;&&M18.06 22.99h1.66c.84 0 1.53-.64 1.63-1.46L23 5.05h-5V1h-1.97v4.05h-4.97l.3 2.34c1.71.47 3.31 1.32 4.27 2.26 1.44 1.42 2.43 2.89 2.43 5.29v8.05zM1 21.99V21h15.03v.99c0 .55-.45 1-1.01 1H2.01c-.56 0-1.01-.45-1.01-1zm15.03-7c0-8-15.03-8-15.03 0h15.03zM1.02 17h15v2h-15z'\nexport const matFastForward = 'M0 0h24v24H0z@@fill:none;&&M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z'\nexport const matFastRewind = 'M0 0h24v24H0z@@fill:none;&&M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z'\nexport const matFavorite = 'M0 0h24v24H0z@@fill:none;&&M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'\nexport const matFavoriteBorder = 'M0 0h24v24H0z@@fill:none;&&M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z'\nexport const matFeaturedPlayList = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 8H3V9h9v2zm0-4H3V5h9v2z'\nexport const matFeaturedVideo = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 9H3V5h9v7z'\nexport const matFeedback = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 12h-2v-2h2v2zm0-4h-2V6h2v4z'\nexport const matFence = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,12v-2h-2V7l-3-3l-2,2l-2-2l-2,2L8,4L5,7v3H3v2h2v2H3v2h2v4h14v-4h2v-2h-2v-2H21z M16,6.83l1,1V10h-2V7.83l0.41-0.41 L16,6.83z M12,6.83l0.59,0.59L13,7.83V10h-2V7.83l0.41-0.41L12,6.83z M11,14v-2h2v2H11z M13,16v2h-2v-2H13z M7,7.83l1-1l0.59,0.59 L9,7.83V10H7V7.83z M7,12h2v2H7V12z M7,16h2v2H7V16z M17,18h-2v-2h2V18z M17,14h-2v-2h2V14z'\nexport const matFiberDvr = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.5,10.5h2v1h-2V10.5z M4.5,10.5h2v3h-2V10.5z M21,3H3C1.89,3,1,3.89,1,5v14c0,1.1,0.89,2,2,2h18c1.11,0,2-0.9,2-2V5 C23,3.89,22.11,3,21,3z M8,13.5C8,14.35,7.35,15,6.5,15H3V9h3.5C7.35,9,8,9.65,8,10.5V13.5z M12.62,15h-1.5L9.37,9h1.5l1,3.43 l1-3.43h1.5L12.62,15z M21,11.5c0,0.6-0.4,1.15-0.9,1.4L21,15h-1.5l-0.85-2H17.5v2H16V9h3.5c0.85,0,1.5,0.65,1.5,1.5V11.5z'\nexport const matFiberManualRecord = 'M24 24H0V0h24v24z@@fill:none;&&M12 12 m-8, 0 a8,8 0 1,0 16,0 a8,8 0 1,0 -16,0'\nexport const matFiberNew = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,4H4C2.89,4,2.01,4.89,2.01,6L2,18c0,1.11,0.89,2,2,2h16c1.11,0,2-0.89,2-2V6C22,4.89,21.11,4,20,4z M8.5,15H7.3 l-2.55-3.5V15H3.5V9h1.25l2.5,3.5V9H8.5V15z M13.5,10.26H11v1.12h2.5v1.26H11v1.11h2.5V15h-4V9h4V10.26z M20.5,14 c0,0.55-0.45,1-1,1h-4c-0.55,0-1-0.45-1-1V9h1.25v4.51h1.13V9.99h1.25v3.51h1.12V9h1.25V14z'\nexport const matFiberPin = 'M0 0h24v24H0z@@fill:none;&&M5.5 10.5h2v1h-2zM20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zM9 11.5c0 .85-.65 1.5-1.5 1.5h-2v2H4V9h3.5c.85 0 1.5.65 1.5 1.5v1zm3.5 3.5H11V9h1.5v6zm7.5 0h-1.2l-2.55-3.5V15H15V9h1.25l2.5 3.5V9H20v6z'\nexport const matFiberSmartRecord = 'M24 24H0V0h24v24z@@fill:none;&&M9 12 m-8, 0 a8,8 0 1,0 16,0 a8,8 0 1,0 -16,0&&M17 4.26v2.09c2.33.82 4 3.04 4 5.65s-1.67 4.83-4 5.65v2.09c3.45-.89 6-4.01 6-7.74s-2.55-6.85-6-7.74z'\nexport const matFileCopy = 'M0 0h24v24H0z@@fill:none;&&M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z'\nexport const matFilter = 'M0 0h24v24H0z@@fill:none;&&M15.96 10.29l-2.75 3.54-1.96-2.36L8.5 15h11l-3.54-4.71zM3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14z'\nexport const matFilter1 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm11 10h2V5h-4v2h2v8zm7-14H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14z'\nexport const matFilter2 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zm-4-4h-4v-2h2c1.1 0 2-.89 2-2V7c0-1.11-.9-2-2-2h-4v2h4v2h-2c-1.1 0-2 .89-2 2v4h6v-2z'\nexport const matFilter3 = 'M0 0h24v24H0z@@fill:none;&&M21 1H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zM3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm14 8v-1.5c0-.83-.67-1.5-1.5-1.5.83 0 1.5-.67 1.5-1.5V7c0-1.11-.9-2-2-2h-4v2h4v2h-2v2h2v2h-4v2h4c1.1 0 2-.89 2-2z'\nexport const matFilter4 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm12 10h2V5h-2v4h-2V5h-2v6h4v4zm6-14H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14z'\nexport const matFilter5 = 'M0 0h24v24H0z@@fill:none;&&M21 1H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zM3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm14 8v-2c0-1.11-.9-2-2-2h-2V7h4V5h-6v6h4v2h-4v2h4c1.1 0 2-.89 2-2z'\nexport const matFilter6 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zm-8-2h2c1.1 0 2-.89 2-2v-2c0-1.11-.9-2-2-2h-2V7h4V5h-4c-1.1 0-2 .89-2 2v6c0 1.11.9 2 2 2zm0-4h2v2h-2v-2z'\nexport const matFilter7 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zm-8-2l4-8V5h-6v2h4l-4 8h2z'\nexport const matFilter8 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zm-8-2h2c1.1 0 2-.89 2-2v-1.5c0-.83-.67-1.5-1.5-1.5.83 0 1.5-.67 1.5-1.5V7c0-1.11-.9-2-2-2h-2c-1.1 0-2 .89-2 2v1.5c0 .83.67 1.5 1.5 1.5-.83 0-1.5.67-1.5 1.5V13c0 1.11.9 2 2 2zm0-8h2v2h-2V7zm0 4h2v2h-2v-2z'\nexport const matFilter9 = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14zM15 5h-2c-1.1 0-2 .89-2 2v2c0 1.11.9 2 2 2h2v2h-4v2h4c1.1 0 2-.89 2-2V7c0-1.11-.9-2-2-2zm0 4h-2V7h2v2z'\nexport const matFilter9Plus = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm11 7V8c0-1.11-.9-2-2-2h-1c-1.1 0-2 .89-2 2v1c0 1.11.9 2 2 2h1v1H9v2h3c1.1 0 2-.89 2-2zm-3-3V8h1v1h-1zm10-8H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 8h-2V7h-2v2h-2v2h2v2h2v-2h2v6H7V3h14v6z'\nexport const matFilterAlt = 'M0,0h24 M24,24H0@@fill:none;&&M4.25,5.61C6.27,8.2,10,13,10,13v6c0,0.55,0.45,1,1,1h2c0.55,0,1-0.45,1-1v-6c0,0,3.72-4.8,5.74-7.39 C20.25,4.95,19.78,4,18.95,4H5.04C4.21,4,3.74,4.95,4.25,5.61z&&M0,0h24v24H0V0z@@fill:none;'\nexport const matFilterBAndW = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16l-7-8v8H5l7-8V5h7v14z'\nexport const matFilterCenterFocus = 'M0 0h24v24H0z@@fill:none;&&M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zM12 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'\nexport const matFilterDrama = 'M0 0h24v24H0z@@fill:none;&&M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.61 5.64 5.36 8.04 2.35 8.36 0 10.9 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4h2c0-2.76-1.86-5.08-4.4-5.78C8.61 6.88 10.2 6 12 6c3.03 0 5.5 2.47 5.5 5.5v.5H19c1.65 0 3 1.35 3 3s-1.35 3-3 3z'\nexport const matFilterFrames = 'M0 0h24v24H0z@@fill:none;&&M20 4h-4l-4-4-4 4H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H4V6h4.52l3.52-3.5L15.52 6H20v14zM18 8H6v10h12'\nexport const matFilterHdr = 'M0 0h24v24H0z@@fill:none;&&M14 6l-3.75 5 2.85 3.8-1.6 1.2C9.81 13.75 7 10 7 10l-6 8h22L14 6z'\nexport const matFilterList = 'M0 0h24v24H0z@@fill:none;&&M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z'\nexport const matFilterNone = 'M0 0h24v24H0z@@fill:none;&&M3 5H1v16c0 1.1.9 2 2 2h16v-2H3V5zm18-4H7c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 16H7V3h14v14z'\nexport const matFilterTiltShift = 'M0 0h24v24H0z@@fill:none;&&M11 4.07V2.05c-2.01.2-3.84 1-5.32 2.21L7.1 5.69c1.11-.86 2.44-1.44 3.9-1.62zm7.32.19C16.84 3.05 15.01 2.25 13 2.05v2.02c1.46.18 2.79.76 3.9 1.62l1.42-1.43zM19.93 11h2.02c-.2-2.01-1-3.84-2.21-5.32L18.31 7.1c.86 1.11 1.44 2.44 1.62 3.9zM5.69 7.1L4.26 5.68C3.05 7.16 2.25 8.99 2.05 11h2.02c.18-1.46.76-2.79 1.62-3.9zM4.07 13H2.05c.2 2.01 1 3.84 2.21 5.32l1.43-1.43c-.86-1.1-1.44-2.43-1.62-3.89zM15 12c0-1.66-1.34-3-3-3s-3 1.34-3 3 1.34 3 3 3 3-1.34 3-3zm3.31 4.9l1.43 1.43c1.21-1.48 2.01-3.32 2.21-5.32h-2.02c-.18 1.45-.76 2.78-1.62 3.89zM13 19.93v2.02c2.01-.2 3.84-1 5.32-2.21l-1.43-1.43c-1.1.86-2.43 1.44-3.89 1.62zm-7.32-.19C7.16 20.95 9 21.75 11 21.95v-2.02c-1.46-.18-2.79-.76-3.9-1.62l-1.42 1.43z'\nexport const matFilterVintage = 'M0 0h24v24H0z@@fill:none;&&M18.7 12.4c-.28-.16-.57-.29-.86-.4.29-.11.58-.24.86-.4 1.92-1.11 2.99-3.12 3-5.19-1.79-1.03-4.07-1.11-6 0-.28.16-.54.35-.78.54.05-.31.08-.63.08-.95 0-2.22-1.21-4.15-3-5.19C10.21 1.85 9 3.78 9 6c0 .32.03.64.08.95-.24-.2-.5-.39-.78-.55-1.92-1.11-4.2-1.03-6 0 0 2.07 1.07 4.08 3 5.19.28.16.57.29.86.4-.29.11-.58.24-.86.4-1.92 1.11-2.99 3.12-3 5.19 1.79 1.03 4.07 1.11 6 0 .28-.16.54-.35.78-.54-.05.32-.08.64-.08.96 0 2.22 1.21 4.15 3 5.19 1.79-1.04 3-2.97 3-5.19 0-.32-.03-.64-.08-.95.24.2.5.38.78.54 1.92 1.11 4.2 1.03 6 0-.01-2.07-1.08-4.08-3-5.19zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z'\nexport const matFindInPage = 'M0 0h24v24H0z@@fill:none;&&M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z'\nexport const matFindReplace = 'M0 0h24v24H0z@@fill:none;&&M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z'\nexport const matFingerprint = 'M0 0h24v24H0z@@fill:none;&&M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3.86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12.01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28zM3.5 9.72c-.1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7-.23.16-.54.11-.7-.12-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.96-.08.14-.23.21-.39.21zm6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39-2.57 0-4.66 1.97-4.66 4.39 0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11.1-.24.15-.37.15zm7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12zM14.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2.17-5.22 0-1.62 1.38-2.94 3.08-2.94 1.7 0 3.08 1.32 3.08 2.94 0 1.07.93 1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.64-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38z'\nexport const matFireExtinguisher = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7,19h10v1c0,1.1-0.9,2-2,2H9c-1.1,0-2-0.9-2-2V19z M7,18h10v-5H7V18z M17,3v6l-3.15-0.66c-0.01,0-0.01,0.01-0.02,0.02 c1.55,0.62,2.72,1.98,3.07,3.64H7.1c0.34-1.66,1.52-3.02,3.07-3.64c-0.33-0.26-0.6-0.58-0.8-0.95L5,6.5v-1l4.37-0.91 C9.87,3.65,10.86,3,12,3c0.7,0,1.34,0.25,1.85,0.66L17,3z M13,6c-0.03-0.59-0.45-1-1-1s-1,0.45-1,1s0.45,1,1,1S13,6.55,13,6z'\nexport const matFireplace = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M2,2v20h20V2H2z M11.86,16.96c0.76-0.24,1.4-1.04,1.53-1.63c0.13-0.56-0.1-1.05-0.2-1.6c-0.08-0.46-0.07-0.85,0.08-1.28 c0.54,1.21,2.15,1.64,1.98,3.18C15.06,17.33,13.14,18.01,11.86,16.96z M20,20h-2v-2h-2.02c0.63-0.84,1.02-1.87,1.02-3 c0-1.89-1.09-2.85-1.85-3.37C12.2,9.61,13,7,13,7c-6.73,3.57-6.02,7.47-6,8c0.03,0.96,0.49,2.07,1.23,3H6v2H4V4h16V20z'\nexport const matFirstPage = 'M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z&&M24 24H0V0h24v24z@@fill:none;'\nexport const matFitnessCenter = 'M0 0h24v24H0z@@fill:none;&&M20.57 14.86L22 13.43 20.57 12 17 15.57 8.43 7 12 3.43 10.57 2 9.14 3.43 7.71 2 5.57 4.14 4.14 2.71 2.71 4.14l1.43 1.43L2 7.71l1.43 1.43L2 10.57 3.43 12 7 8.43 15.57 17 12 20.57 13.43 22l1.43-1.43L16.29 22l2.14-2.14 1.43 1.43 1.43-1.43-1.43-1.43L22 16.29z'\nexport const matFlag = 'M0 0h24v24H0z@@fill:none;&&M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z'\nexport const matFlaky = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14.05,17.58l-0.01,0.01l-2.4-2.4l1.06-1.06l1.35,1.35L16.54,13l1.06,1.06 l-3.54,3.54L14.05,17.58z M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10s10-4.5,10-10S17.5,2,12,2z M7.34,6.28l1.41,1.41l1.41-1.41 l1.06,1.06L9.81,8.75l1.41,1.41l-1.06,1.06L8.75,9.81l-1.41,1.41l-1.06-1.06l1.41-1.41L6.28,7.34L7.34,6.28z M12,20 c-2.2,0-4.2-0.9-5.7-2.3L17.7,6.3C19.1,7.8,20,9.8,20,12C20,16.4,16.4,20,12,20z@@fill-rule:evenodd;'\nexport const matFlare = 'M0 0h24v24H0z@@fill:none;&&M7 11H1v2h6v-2zm2.17-3.24L7.05 5.64 5.64 7.05l2.12 2.12 1.41-1.41zM13 1h-2v6h2V1zm5.36 6.05l-1.41-1.41-2.12 2.12 1.41 1.41 2.12-2.12zM17 11v2h6v-2h-6zm-5-2c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zm2.83 7.24l2.12 2.12 1.41-1.41-2.12-2.12-1.41 1.41zm-9.19.71l1.41 1.41 2.12-2.12-1.41-1.41-2.12 2.12zM11 23h2v-6h-2v6z'\nexport const matFlashAuto = 'M0 0h24v24H0z@@fill:none;&&M3 2v12h3v9l7-12H9l4-9H3zm16 0h-2l-3.2 9h1.9l.7-2h3.2l.7 2h1.9L19 2zm-2.15 5.65L18 4l1.15 3.65h-2.3z'\nexport const matFlashOff = 'M0 0h24v24H0z@@fill:none;&&M3.27 3L2 4.27l5 5V13h3v9l3.58-6.14L17.73 20 19 18.73 3.27 3zM17 10h-4l4-8H7v2.18l8.46 8.46L17 10z'\nexport const matFlashOn = 'M0 0h24v24H0z@@fill:none;&&M7 2v11h3v9l7-12h-4l4-8z'\nexport const matFlight = 'M0 0h24v24H0z@@fill:none;&&M21 16v-2l-8-5V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z'\nexport const matFlightLand = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M2.5,19h19v2h-19V19z M19.34,15.85c0.8,0.21,1.62-0.26,1.84-1.06c0.21-0.8-0.26-1.62-1.06-1.84l-5.31-1.42l-2.76-9.02 L10.12,2v8.28L5.15,8.95L4.22,6.63L2.77,6.24v5.17L19.34,15.85z'\nexport const matFlightTakeoff = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M2.5,19h19v2h-19V19z M22.07,9.64c-0.21-0.8-1.04-1.28-1.84-1.06L14.92,10l-6.9-6.43L6.09,4.08l4.14,7.17l-4.97,1.33 l-1.97-1.54l-1.45,0.39l2.59,4.49c0,0,7.12-1.9,16.57-4.43C21.81,11.26,22.28,10.44,22.07,9.64z'\nexport const matFlip = 'M0 0h24v24H0z@@fill:none;&&M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z'\nexport const matFlipCameraAndroid = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,12c0,1.66,1.34,3,3,3s3-1.34,3-3s-1.34-3-3-3S9,10.34,9,12z&&M8,10V8H5.09C6.47,5.61,9.05,4,12,4c3.72,0,6.85,2.56,7.74,6h2.06c-0.93-4.56-4.96-8-9.8-8C8.73,2,5.82,3.58,4,6.01V4H2v6 H8z&&M16,14v2h2.91c-1.38,2.39-3.96,4-6.91,4c-3.72,0-6.85-2.56-7.74-6H2.2c0.93,4.56,4.96,8,9.8,8c3.27,0,6.18-1.58,8-4.01V20 h2v-6H16z'\nexport const matFlipCameraIos = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,5h-3.17L15,3H9L7.17,5H4C2.9,5,2,5.9,2,7v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M12,18 c-2.76,0-5-2.24-5-5H5l2.5-2.5L10,13H8c0,2.21,1.79,4,4,4c0.58,0,1.13-0.13,1.62-0.35l0.74,0.74C13.65,17.76,12.86,18,12,18z M16.5,15.5L14,13h2c0-2.21-1.79-4-4-4c-0.58,0-1.13,0.13-1.62,0.35L9.64,8.62C10.35,8.24,11.14,8,12,8c2.76,0,5,2.24,5,5h2 L16.5,15.5z'\nexport const matFlipToBack = 'M0 0h24v24H0z@@fill:none;&&M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z'\nexport const matFlipToFront = 'M0 0h24v24H0z@@fill:none;&&M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-2h-2v2zm4-18H9c-1.11 0-2 .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12H9V5h10v10zm-8 6h2v-2h-2v2zm-4 0h2v-2H7v2z'\nexport const matFolder = 'M0 0h24v24H0z@@fill:none;&&M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'\nexport const matFolderOpen = 'M0 0h24v24H0z@@fill:none;&&M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z'\nexport const matFolderShared = 'M0 0h24v24H0z@@fill:none;&&M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1z'\nexport const matFolderSpecial = 'M0 0h24v24H0V0z@@fill:none;&&M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24.78 3.33z'\nexport const matFollowTheSigns = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9.5,5.5c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S8.4,5.5,9.5,5.5z M5.75,8.9L3,23h2.1l1.75-8L9,17v6h2v-7.55L8.95,13.4 l0.6-3C10.85,12,12.8,13,15,13v-2c-1.85,0-3.45-1-4.35-2.45L9.7,6.95C9.35,6.35,8.7,6,8,6C7.75,6,7.5,6.05,7.25,6.15L2,8.3V13h2 V9.65L5.75,8.9 M13,2v7h3.75v14h1.5V9H22V2H13z M18.01,8V6.25H14.5v-1.5h3.51V3l2.49,2.5L18.01,8z'\nexport const matFontDownload = 'M0 0h24v24H0V0z@@fill:none;&&M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z'\nexport const matFoodBank = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,3L4,9v12h16V9L12,3z M12.5,12.5c0,0.83-0.67,1.5-1.5,1.5v4h-1v-4c-0.83,0-1.5-0.67-1.5-1.5v-3h1v3H10v-3h1v3h0.5v-3h1 V12.5z M15,18h-1v-3.5h-1v-3c0-1.1,0.9-2,2-2V18z'\nexport const matFormatAlignCenter = 'M0 0h24v24H0z@@fill:none;&&M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z'\nexport const matFormatAlignJustify = 'M0 0h24v24H0z@@fill:none;&&M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z'\nexport const matFormatAlignLeft = 'M0 0h24v24H0z@@fill:none;&&M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z'\nexport const matFormatAlignRight = 'M0 0h24v24H0z@@fill:none;&&M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z'\nexport const matFormatBold = 'M0 0h24v24H0z@@fill:none;&&M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z'\nexport const matFormatClear = 'M0 0h24v24H0z@@fill:none;&&M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z'\nexport const matFormatColorReset = 'M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M18 14c0-4-6-10.8-6-10.8s-1.33 1.51-2.73 3.52l8.59 8.59c.09-.42.14-.86.14-1.31zm-.88 3.12L12.5 12.5 5.27 5.27 4 6.55l3.32 3.32C6.55 11.32 6 12.79 6 14c0 3.31 2.69 6 6 6 1.52 0 2.9-.57 3.96-1.5l2.63 2.63 1.27-1.27-2.74-2.74z'\nexport const matFormatIndentDecrease = 'M0 0h24v24H0z@@fill:none;&&M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z'\nexport const matFormatIndentIncrease = 'M0 0h24v24H0z@@fill:none;&&M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z'\nexport const matFormatItalic = 'M0 0h24v24H0z@@fill:none;&&M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z'\nexport const matFormatLineSpacing = 'M0 0h24v24H0z@@fill:none;&&M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z'\nexport const matFormatListBulleted = 'M0 0h24v24H0V0z@@fill:none;&&M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z'\nexport const matFormatListNumbered = 'M0 0h24v24H0z@@fill:none;&&M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z'\nexport const matFormatListNumberedRtl = 'M0 0h24v24H0z@@fill:none;&&M18 17h2v.5h-1v1h1v.5h-2v1h3v-4h-3zm1-9h1V4h-2v1h1zm-1 3h1.8L18 13.1v.9h3v-1h-1.8l1.8-2.1V10h-3zM2 5h14v2H2zm0 12h14v2H2zm0-6h14v2H2z'\nexport const matFormatPaint = 'M0 0h24v24H0z@@fill:none;&&M18 4V3c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6h1v4H9v11c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-9h8V4h-3z'\nexport const matFormatQuote = 'M0 0h24v24H0z@@fill:none;&&M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z'\nexport const matFormatShapes = 'M0 0h24v24H0z@@fill:none;&&M23 7V1h-6v2H7V1H1v6h2v10H1v6h6v-2h10v2h6v-6h-2V7h2zM3 3h2v2H3V3zm2 18H3v-2h2v2zm12-2H7v-2H5V7h2V5h10v2h2v10h-2v2zm4 2h-2v-2h2v2zM19 5V3h2v2h-2zm-5.27 9h-3.49l-.73 2H7.89l3.4-9h1.4l3.41 9h-1.63l-.74-2zm-3.04-1.26h2.61L12 8.91l-1.31 3.83z'\nexport const matFormatSize = 'M0 0h24v24H0z@@fill:none;&&M9 4v3h5v12h3V7h5V4H9zm-6 8h3v7h3v-7h3V9H3v3z'\nexport const matFormatStrikethrough = 'M0 0h24v24H0z@@fill:none;&&M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z'\nexport const matFormatTextdirectionLToR = 'M0 0h24v24H0z@@fill:none;&&M9 10v5h2V4h2v11h2V4h2V2H9C6.79 2 5 3.79 5 6s1.79 4 4 4zm12 8l-4-4v3H5v2h12v3l4-4z'\nexport const matFormatTextdirectionRToL = 'M0 0h24v24H0z@@fill:none;&&M10 10v5h2V4h2v11h2V4h2V2h-8C7.79 2 6 3.79 6 6s1.79 4 4 4zm-2 7v-3l-4 4 4 4v-3h12v-2H8z'\nexport const matFormatUnderlined = 'M0 0h24v24H0z@@fill:none;&&M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z'\nexport const matForum = 'M0 0h24v24H0z@@fill:none;&&M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z'\nexport const matForward = 'M0 0h24v24H0z@@fill:none;&&M12 8V4l8 8-8 8v-4H4V8z'\nexport const matForward10 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,13c0,3.31-2.69,6-6,6s-6-2.69-6-6s2.69-6,6-6v4l5-5l-5-5v4c-4.42,0-8,3.58-8,8c0,4.42,3.58,8,8,8s8-3.58,8-8H18z&&M10.86 15.94 L10.86 11.67 L10.77 11.67 L9 12.3 L9 12.99 L10.01 12.68 L10.01 15.94z&&M12.25,13.44v0.74c0,1.9,1.31,1.82,1.44,1.82c0.14,0,1.44,0.09,1.44-1.82v-0.74c0-1.9-1.31-1.82-1.44-1.82 C13.55,11.62,12.25,11.53,12.25,13.44z M14.29,13.32v0.97c0,0.77-0.21,1.03-0.59,1.03c-0.38,0-0.6-0.26-0.6-1.03v-0.97 c0-0.75,0.22-1.01,0.59-1.01C14.07,12.3,14.29,12.57,14.29,13.32z'\nexport const matForward30 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,13c0,3.31-2.69,6-6,6s-6-2.69-6-6s2.69-6,6-6v4l5-5l-5-5v4c-4.42,0-8,3.58-8,8c0,4.42,3.58,8,8,8s8-3.58,8-8H18z&&M10.06,15.38c-0.29,0-0.62-0.17-0.62-0.54H8.59c0,0.97,0.9,1.23,1.45,1.23c0.87,0,1.51-0.46,1.51-1.25 c0-0.66-0.45-0.9-0.71-1c0.11-0.05,0.65-0.32,0.65-0.92c0-0.21-0.05-1.22-1.44-1.22c-0.62,0-1.4,0.35-1.4,1.16h0.85 c0-0.34,0.31-0.48,0.57-0.48c0.59,0,0.58,0.5,0.58,0.54c0,0.52-0.41,0.59-0.63,0.59H9.56v0.66h0.45c0.65,0,0.7,0.42,0.7,0.64 C10.71,15.11,10.5,15.38,10.06,15.38z&&M13.85,11.68c-0.14,0-1.44-0.08-1.44,1.82v0.74c0,1.9,1.31,1.82,1.44,1.82c0.14,0,1.44,0.09,1.44-1.82V13.5 C15.3,11.59,13.99,11.68,13.85,11.68z M14.45,14.35c0,0.77-0.21,1.03-0.59,1.03c-0.38,0-0.6-0.26-0.6-1.03v-0.97 c0-0.75,0.22-1.01,0.59-1.01c0.38,0,0.6,0.26,0.6,1.01V14.35z'\nexport const matForward5 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,13c0,3.31-2.69,6-6,6s-6-2.69-6-6s2.69-6,6-6v4l5-5l-5-5v4c-4.42,0-8,3.58-8,8c0,4.42,3.58,8,8,8c4.42,0,8-3.58,8-8 H18z&&M12.03,15.38c-0.44,0-0.58-0.31-0.6-0.56h-0.84c0.03,0.85,0.79,1.25,1.44,1.25c0.93,0,1.44-0.63,1.44-1.43 c0-1.33-0.97-1.44-1.3-1.44c-0.2,0-0.43,0.05-0.64,0.16l0.11-0.92h1.7v-0.71h-2.39l-0.25,2.17l0.67,0.17 c0.13-0.13,0.28-0.23,0.57-0.23c0.4,0,0.69,0.23,0.69,0.75C12.62,14.64,12.65,15.38,12.03,15.38z'\nexport const matForwardToInbox = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h9v-2H4V8l8,5l8-5v5h2V6C22,4.9,21.1,4,20,4z M12,11L4,6h16L12,11z M19,15l4,4 l-4,4v-3h-4v-2h4V15z'\nexport const matFoundation = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,12h3L12,3L2,12h3v3H3v2h2v3h2v-3h4v3h2v-3h4v3h2v-3h2v-2h-2V12z M7,15v-4.81l4-3.6V15H7z M13,15V6.59l4,3.6V15H13z'\nexport const matFreeBreakfast = 'M0 0h24v24H0V0z@@fill:none;&&M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z'\nexport const matFullscreen = 'M0 0h24v24H0z@@fill:none;&&M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z'\nexport const matFullscreenExit = 'M0 0h24v24H0z@@fill:none;&&M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z'\nexport const matFunctions = 'M0 0h24v24H0z@@fill:none;&&M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z'\nexport const matGamepad = 'M0 0h24v24H0z@@fill:none;&&M15 7.5V2H9v5.5l3 3 3-3zM7.5 9H2v6h5.5l3-3-3-3zM9 16.5V22h6v-5.5l-3-3-3 3zM16.5 9l-3 3 3 3H22V9h-5.5z'\nexport const matGames = 'M0 0h24v24H0z@@fill:none;&&M15 7.5V2H9v5.5l3 3 3-3zM7.5 9H2v6h5.5l3-3-3-3zM9 16.5V22h6v-5.5l-3-3-3 3zM16.5 9l-3 3 3 3H22V9h-5.5z'\nexport const matGavel = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.73 3.73 H15.73 V23.73 H11.73 V3.73 z@@@@matrix(0.7075 -0.7067 0.7067 0.7075 -5.6854 13.7194)&&M11.73 1.24 H15.73 V9.24 H11.73 V1.24 z@@@@matrix(0.707 -0.7072 0.7072 0.707 0.3157 11.246)&&M3.24 9.73 H7.24 V17.73 H3.24 V9.73 z@@@@matrix(0.7071 -0.7071 0.7071 0.7071 -8.1722 7.7256)&&M1 21 H13 V23 H1 V21 z'\nexport const matGesture = 'M0 0h24v24H0z@@fill:none;&&M4.59 6.89c.7-.71 1.4-1.35 1.71-1.22.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1H21v-2.5h-2.47c-.15-1.65-1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-.68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3 5.12 3 3.97 4 3.72 4.25c-.36.36-.66.66-.88.93l1.75 1.71zm9.29 11.66c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-2.13 3.48z'\nexport const matGetApp = 'M0 0h24v24H0z@@fill:none;&&M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'\nexport const matGif = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.5 9 H13 V15 H11.5 V9 z&&M9,9H6c-0.6,0-1,0.5-1,1v4c0,0.5,0.4,1,1,1h3c0.6,0,1-0.5,1-1v-2H8.5v1.5h-2v-3H10V10C10,9.5,9.6,9,9,9z&&M19 10.5 L19 9 L14.5 9 L14.5 15 L16 15 L16 13 L18 13 L18 11.5 L16 11.5 L16 10.5z'\nexport const matGolfCourse = 'M0 0h24v24H0V0z@@fill:none;&&M19.5 19.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M17 5.92L9 2v18H7v-1.73c-1.79.35-3 .99-3 1.73 0 1.1 2.69 2 6 2s6-.9 6-2c0-.99-2.16-1.81-5-1.97V8.98l6-3.06z'\nexport const matGpsFixed = 'M0 0h24v24H0z@@fill:none;&&M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matGpsNotFixed = 'M0 0h24v24H0z@@fill:none;&&M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matGpsOff = 'M0 0h24v24H0z@@fill:none;&&M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06c-1.13.12-2.19.46-3.16.97l1.5 1.5C10.16 5.19 11.06 5 12 5c3.87 0 7 3.13 7 7 0 .94-.19 1.84-.52 2.65l1.5 1.5c.5-.96.84-2.02.97-3.15H23v-2h-2.06zM3 4.27l2.04 2.04C3.97 7.62 3.25 9.23 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c1.77-.2 3.38-.91 4.69-1.98L19.73 21 21 19.73 4.27 3 3 4.27zm13.27 13.27C15.09 18.45 13.61 19 12 19c-3.87 0-7-3.13-7-7 0-1.61.55-3.09 1.46-4.27l9.81 9.81z'\nexport const matGrade = 'M0 0h24v24H0z@@fill:none;&&M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'\nexport const matGradient = 'M0 0h24v24H0z@@fill:none;&&M11 9h2v2h-2zm-2 2h2v2H9zm4 0h2v2h-2zm2-2h2v2h-2zM7 9h2v2H7zm12-6H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 18H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2zm2-7h-2v2h2v2h-2v-2h-2v2h-2v-2h-2v2H9v-2H7v2H5v-2h2v-2H5V5h14v6z'\nexport const matGrading = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M4,7h16v2H4V7z M4,13h16v-2H4V13z M4,17h7v-2H4V17z M4,21h7v-2H4V21z M15.41,18.17L14,16.75l-1.41,1.41L15.41,21L20,16.42 L18.58,15L15.41,18.17z M4,3v2h16V3H4z'\nexport const matGrain = 'M0 0h24v24H0z@@fill:none;&&M10 12c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM6 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12-8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-4 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm4-4c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-4-4c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-4-4c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\nexport const matGraphicEq = 'M0 0h24v24H0z@@fill:none;&&M7 18h2V6H7v12zm4 4h2V2h-2v20zm-8-8h2v-4H3v4zm12 4h2V6h-2v12zm4-8v4h2v-4h-2z'\nexport const matGrass = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,20H2v-2h5.75l0,0C7.02,15.19,4.81,12.99,2,12.26C2.64,12.1,3.31,12,4,12C8.42,12,12,15.58,12,20z M22,12.26 C21.36,12.1,20.69,12,20,12c-2.93,0-5.48,1.58-6.88,3.93c0.29,0.66,0.53,1.35,0.67,2.07c0.13,0.65,0.2,1.32,0.2,2h2h6v-2h-5.75 C16.98,15.19,19.19,12.99,22,12.26z M15.64,11.02c0.78-2.09,2.23-3.84,4.09-5C15.44,6.16,12,9.67,12,14c0,0.01,0,0.02,0,0.02 C12.95,12.75,14.2,11.72,15.64,11.02z M11.42,8.85C10.58,6.66,8.88,4.89,6.7,4C8.14,5.86,9,8.18,9,10.71c0,0.21-0.03,0.41-0.04,0.61 c0.43,0.24,0.83,0.52,1.22,0.82C10.39,10.96,10.83,9.85,11.42,8.85z'\nexport const matGridOff = 'M0 0h24v24H0z@@fill:none;&&M8 4v1.45l2 2V4h4v4h-3.45l2 2H14v1.45l2 2V10h4v4h-3.45l2 2H20v1.45l2 2V4c0-1.1-.9-2-2-2H4.55l2 2H8zm8 0h4v4h-4V4zM1.27 1.27L0 2.55l2 2V20c0 1.1.9 2 2 2h15.46l2 2 1.27-1.27L1.27 1.27zM10 12.55L11.45 14H10v-1.45zm-6-6L5.45 8H4V6.55zM8 20H4v-4h4v4zm0-6H4v-4h3.45l.55.55V14zm6 6h-4v-4h3.45l.55.54V20zm2 0v-1.46L17.46 20H16z'\nexport const matGridOn = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z'\nexport const matGroup = 'M0 0h24v24H0z@@fill:none;&&M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'\nexport const matGroupAdd = 'M0 0h24v24H0z@@fill:none;&&M8 10H5V7H3v3H0v2h3v3h2v-3h3v-2zm10 1c1.66 0 2.99-1.34 2.99-3S19.66 5 18 5c-.32 0-.63.05-.91.14.57.81.9 1.79.9 2.86s-.34 2.04-.9 2.86c.28.09.59.14.91.14zm-5 0c1.66 0 2.99-1.34 2.99-3S14.66 5 13 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm6.62 2.16c.83.73 1.38 1.66 1.38 2.84v2h3v-2c0-1.54-2.37-2.49-4.38-2.84zM13 13c-2 0-6 1-6 3v2h12v-2c0-2-4-3-6-3z'\nexport const matGroups = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,12.75c1.63,0,3.07,0.39,4.24,0.9c1.08,0.48,1.76,1.56,1.76,2.73L18,18H6l0-1.61c0-1.18,0.68-2.26,1.76-2.73 C8.93,13.14,10.37,12.75,12,12.75z M4,13c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2s-2,0.9-2,2C2,12.1,2.9,13,4,13z M5.13,14.1 C4.76,14.04,4.39,14,4,14c-0.99,0-1.93,0.21-2.78,0.58C0.48,14.9,0,15.62,0,16.43V18l4.5,0v-1.61C4.5,15.56,4.73,14.78,5.13,14.1z M20,13c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2s-2,0.9-2,2C18,12.1,18.9,13,20,13z M24,16.43c0-0.81-0.48-1.53-1.22-1.85 C21.93,14.21,20.99,14,20,14c-0.39,0-0.76,0.04-1.13,0.1c0.4,0.68,0.63,1.46,0.63,2.29V18l4.5,0V16.43z M12,6c1.66,0,3,1.34,3,3 c0,1.66-1.34,3-3,3s-3-1.34-3-3C9,7.34,10.34,6,12,6z'\nexport const matGroupWork = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM8 17.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zM9.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5S9.5 9.38 9.5 8zm6.5 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'\nexport const matGTranslate = 'M21 4H11l-1-3H3c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h8l1 3h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 16c-2.76 0-5-2.24-5-5s2.24-5 5-5c1.35 0 2.48.5 3.35 1.3L9.03 8.57c-.38-.36-1.04-.78-2.03-.78-1.74 0-3.15 1.44-3.15 3.21S5.26 14.21 7 14.21c2.01 0 2.84-1.44 2.92-2.41H7v-1.71h4.68c.07.31.12.61.12 1.02C11.8 13.97 9.89 16 7 16zm6.17-5.42h3.7c-.43 1.25-1.11 2.43-2.05 3.47-.31-.35-.6-.72-.86-1.1l-.79-2.37zm8.33 9.92c0 .55-.45 1-1 1H14l2-2.5-1.04-3.1 3.1 3.1.92-.92-3.3-3.25.02-.02c1.13-1.25 1.93-2.69 2.4-4.22H20v-1.3h-4.53V8h-1.29v1.29h-1.44L11.46 5.5h9.04c.55 0 1 .45 1 1v14z&&M0 0h24v24H0zm0 0h24v24H0z@@fill:none;'\nexport const matHandyman = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.67,18.17l-5.3-5.3h-0.99l-2.54,2.54v0.99l5.3,5.3c0.39,0.39,1.02,0.39,1.41,0l2.12-2.12 C22.06,19.2,22.06,18.56,21.67,18.17z&&M17.34,10.19l1.41-1.41l2.12,2.12c1.17-1.17,1.17-3.07,0-4.24l-3.54-3.54l-1.41,1.41V1.71L15.22,1l-3.54,3.54l0.71,0.71 h2.83l-1.41,1.41l1.06,1.06l-2.89,2.89L7.85,6.48V5.06L4.83,2.04L2,4.87l3.03,3.03h1.41l4.13,4.13l-0.85,0.85H7.6l-5.3,5.3 c-0.39,0.39-0.39,1.02,0,1.41l2.12,2.12c0.39,0.39,1.02,0.39,1.41,0l5.3-5.3v-2.12l5.15-5.15L17.34,10.19z'\nexport const matHd = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 12H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm2-6h4c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1h-4V9zm1.5 4.5h2v-3h-2v3z'\nexport const matHdrOff = 'M17.5 15v-2h1.1l.9 2H21l-.9-2.1c.5-.2.9-.8.9-1.4v-1c0-.8-.7-1.5-1.5-1.5H16v4.9l1.1 1.1h.4zm0-4.5h2v1h-2v-1zm-4.5 0v.4l1.5 1.5v-1.9c0-.8-.7-1.5-1.5-1.5h-1.9l1.5 1.5h.4zm-3.5-1l-7-7-1.1 1L6.9 9h-.4v2h-2V9H3v6h1.5v-2.5h2V15H8v-4.9l1.5 1.5V15h3.4l7.6 7.6 1.1-1.1-12.1-12z'\nexport const matHdrOn = 'M0 0h24v24H0V0z@@fill:none;&&M21 11.5v-1c0-.8-.7-1.5-1.5-1.5H16v6h1.5v-2h1.1l.9 2H21l-.9-2.1c.5-.3.9-.8.9-1.4zm-1.5 0h-2v-1h2v1zm-13-.5h-2V9H3v6h1.5v-2.5h2V15H8V9H6.5v2zM13 9H9.5v6H13c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zm0 4.5h-2v-3h2v3z'\nexport const matHdrStrong = 'M0 0h24v24H0z@@fill:none;&&M17 6c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zM5 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matHdrWeak = 'M0 0h24v24H0z@@fill:none;&&M5 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm12-2c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z'\nexport const matHeadset = 'M0 0h24v24H0z@@fill:none;opacity:.1;&&M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8H5v-2c0-3.87 3.13-7 7-7s7 3.13 7 7v2h-4v8h3c1.66 0 3-1.34 3-3v-7c0-4.97-4.03-9-9-9z'\nexport const matHeadsetMic = 'M0 0h24v24H0z@@fill:none;opacity:.1;&&M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8H5v-2c0-3.87 3.13-7 7-7s7 3.13 7 7v2h-4v8h4v1h-7v2h6c1.66 0 3-1.34 3-3V10c0-4.97-4.03-9-9-9z'\nexport const matHealing = 'M0 0h24v24H0z@@fill:none;&&M17.73 12.02l3.98-3.98c.39-.39.39-1.02 0-1.41l-4.34-4.34c-.39-.39-1.02-.39-1.41 0l-3.98 3.98L8 2.29C7.8 2.1 7.55 2 7.29 2c-.25 0-.51.1-.7.29L2.25 6.63c-.39.39-.39 1.02 0 1.41l3.98 3.98L2.25 16c-.39.39-.39 1.02 0 1.41l4.34 4.34c.39.39 1.02.39 1.41 0l3.98-3.98 3.98 3.98c.2.2.45.29.71.29.26 0 .51-.1.71-.29l4.34-4.34c.39-.39.39-1.02 0-1.41l-3.99-3.98zM12 9c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-4.71 1.96L3.66 7.34l3.63-3.63 3.62 3.62-3.62 3.63zM10 13c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm2 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm2-4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2.66 9.34l-3.63-3.62 3.63-3.63 3.62 3.62-3.62 3.63z'\nexport const matHearing = 'M0 0h24v24H0z@@fill:none;&&M17 20c-.29 0-.56-.06-.76-.15-.71-.37-1.21-.88-1.71-2.38-.51-1.56-1.47-2.29-2.39-3-.79-.61-1.61-1.24-2.32-2.53C9.29 10.98 9 9.93 9 9c0-2.8 2.2-5 5-5s5 2.2 5 5h2c0-3.93-3.07-7-7-7S7 5.07 7 9c0 1.26.38 2.65 1.07 3.9.91 1.65 1.98 2.48 2.85 3.15.81.62 1.39 1.07 1.71 2.05.6 1.82 1.37 2.84 2.73 3.55.51.23 1.07.35 1.64.35 2.21 0 4-1.79 4-4h-2c0 1.1-.9 2-2 2zM7.64 2.64L6.22 1.22C4.23 3.21 3 5.96 3 9s1.23 5.79 3.22 7.78l1.41-1.41C6.01 13.74 5 11.49 5 9s1.01-4.74 2.64-6.36zM11.5 9c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5-1.12-2.5-2.5-2.5-2.5 1.12-2.5 2.5z'\nexport const matHearingDisabled = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.03,3.2C7.15,2.44,8.51,2,10,2c3.93,0,7,3.07,7,7c0,1.26-0.38,2.65-1.07,3.9c-0.02,0.04-0.05,0.08-0.08,0.13l-1.48-1.48 C14.77,10.69,15,9.8,15,9c0-2.8-2.2-5-5-5C9.08,4,8.24,4.26,7.5,4.67L6.03,3.2z M17.21,14.38l1.43,1.43C20.11,13.93,21,11.57,21,9 c0-3.04-1.23-5.79-3.22-7.78l-1.42,1.42C17.99,4.26,19,6.51,19,9C19,11.02,18.33,12.88,17.21,14.38z M10,6.5 c-0.21,0-0.4,0.03-0.59,0.08l3.01,3.01C12.47,9.4,12.5,9.21,12.5,9C12.5,7.62,11.38,6.5,10,6.5z M21.19,21.19L2.81,2.81L1.39,4.22 l2.13,2.13C3.19,7.16,3,8.05,3,9h2c0-0.36,0.05-0.71,0.12-1.05l6.61,6.61c-0.88,0.68-1.78,1.41-2.27,2.9c-0.5,1.5-1,2.01-1.71,2.38 C7.56,19.94,7.29,20,7,20c-1.1,0-2-0.9-2-2H3c0,2.21,1.79,4,4,4c0.57,0,1.13-0.12,1.64-0.35c1.36-0.71,2.13-1.73,2.73-3.55 c0.32-0.98,0.9-1.43,1.71-2.05c0.03-0.02,0.05-0.04,0.08-0.06l6.62,6.62L21.19,21.19z'\nexport const matHeight = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13 6.99 L16 6.99 L12 3 L8 6.99 L11 6.99 L11 17.01 L8 17.01 L12 21 L16 17.01 L13 17.01z'\nexport const matHelp = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z'\nexport const matHelpCenter = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M12.01,18 c-0.7,0-1.26-0.56-1.26-1.26c0-0.71,0.56-1.25,1.26-1.25c0.71,0,1.25,0.54,1.25,1.25C13.25,17.43,12.72,18,12.01,18z M15.02,10.6 c-0.76,1.11-1.48,1.46-1.87,2.17c-0.16,0.29-0.22,0.48-0.22,1.41h-1.82c0-0.49-0.08-1.29,0.31-1.98c0.49-0.87,1.42-1.39,1.96-2.16 c0.57-0.81,0.25-2.33-1.37-2.33c-1.06,0-1.58,0.8-1.8,1.48L8.56,8.49C9.01,7.15,10.22,6,11.99,6c1.48,0,2.49,0.67,3.01,1.52 C15.44,8.24,15.7,9.59,15.02,10.6z'\nexport const matHelpOutline = 'M0 0h24v24H0z@@fill:none;&&M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z'\nexport const matHighlight = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6,14l3,3v5h6v-5l3-3V9H6V14z M11,2h2v3h-2V2z M3.5,5.88l1.41-1.41l2.12,2.12L5.62,8L3.5,5.88z M16.96,6.59l2.12-2.12 l1.41,1.41L18.38,8L16.96,6.59z'\nexport const matHighlightAlt = 'M0 0h24v24H0z@@fill:none;&&M17 5h-2V3h2v2zm-2 16h2v-2.59L19.59 21 21 19.59 18.41 17H21v-2h-6v6zm4-12h2V7h-2v2zm0 4h2v-2h-2v2zm-8 8h2v-2h-2v2zM7 5h2V3H7v2zM3 17h2v-2H3v2zm2 4v-2H3c0 1.1.9 2 2 2zM19 3v2h2c0-1.1-.9-2-2-2zm-8 2h2V3h-2v2zM3 9h2V7H3v2zm4 12h2v-2H7v2zm-4-8h2v-2H3v2zm0-8h2V3c-1.1 0-2 .9-2 2z'\nexport const matHighlightOff = 'M0 0h24v24H0z@@fill:none;&&M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matHighQuality = 'M0 0h24v24H0z@@fill:none;&&M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 11H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm7-1c0 .55-.45 1-1 1h-.75v1.5h-1.5V15H14c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v4zm-3.5-.5h2v-3h-2v3z'\nexport const matHistory = 'M0 0h24v24H0z@@fill:none;&&M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z'\nexport const matHistoryEdu = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,4v1.38c-0.83-0.33-1.72-0.5-2.61-0.5c-1.79,0-3.58,0.68-4.95,2.05l3.33,3.33h1.11v1.11c0.86,0.86,1.98,1.31,3.11,1.36 V15H6v3c0,1.1,0.9,2,2,2h10c1.66,0,3-1.34,3-3V4H9z M7.89,10.41V8.26H5.61L4.57,7.22C5.14,7,5.76,6.88,6.39,6.88 c1.34,0,2.59,0.52,3.54,1.46l1.41,1.41l-0.2,0.2c-0.51,0.51-1.19,0.8-1.92,0.8C8.75,10.75,8.29,10.63,7.89,10.41z M19,17 c0,0.55-0.45,1-1,1s-1-0.45-1-1v-2h-6v-2.59c0.57-0.23,1.1-0.57,1.56-1.03l0.2-0.2L15.59,14H17v-1.41l-6-5.97V6h8V17z'\nexport const matHistoryToggleOff = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.1,19.37l1,1.74c-0.96,0.44-2.01,0.73-3.1,0.84v-2.02C13.74,19.84,14.44,19.65,15.1,19.37z M4.07,13H2.05 c0.11,1.1,0.4,2.14,0.84,3.1l1.74-1C4.35,14.44,4.16,13.74,4.07,13z M15.1,4.63l1-1.74C15.14,2.45,14.1,2.16,13,2.05v2.02 C13.74,4.16,14.44,4.35,15.1,4.63z M19.93,11h2.02c-0.11-1.1-0.4-2.14-0.84-3.1l-1.74,1C19.65,9.56,19.84,10.26,19.93,11z M8.9,19.37l-1,1.74c0.96,0.44,2.01,0.73,3.1,0.84v-2.02C10.26,19.84,9.56,19.65,8.9,19.37z M11,4.07V2.05 c-1.1,0.11-2.14,0.4-3.1,0.84l1,1.74C9.56,4.35,10.26,4.16,11,4.07z M18.36,7.17l1.74-1.01c-0.63-0.87-1.4-1.64-2.27-2.27 l-1.01,1.74C17.41,6.08,17.92,6.59,18.36,7.17z M4.63,8.9l-1.74-1C2.45,8.86,2.16,9.9,2.05,11h2.02C4.16,10.26,4.35,9.56,4.63,8.9z M19.93,13c-0.09,0.74-0.28,1.44-0.56,2.1l1.74,1c0.44-0.96,0.73-2.01,0.84-3.1H19.93z M16.83,18.36l1.01,1.74 c0.87-0.63,1.64-1.4,2.27-2.27l-1.74-1.01C17.92,17.41,17.41,17.92,16.83,18.36z M7.17,5.64L6.17,3.89 C5.29,4.53,4.53,5.29,3.9,6.17l1.74,1.01C6.08,6.59,6.59,6.08,7.17,5.64z M5.64,16.83L3.9,17.83c0.63,0.87,1.4,1.64,2.27,2.27 l1.01-1.74C6.59,17.92,6.08,17.41,5.64,16.83z M13,7h-2v5.41l4.29,4.29l1.41-1.41L13,11.59V7z'\nexport const matHome = 'M0 0h24v24H0z@@fill:none;&&M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'\nexport const matHomeRepairService = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18 16 L16 16 L16 15 L8 15 L8 16 L6 16 L6 15 L2 15 L2 20 L22 20 L22 15 L18 15z&&M20,8h-3V6c0-1.1-0.9-2-2-2H9C7.9,4,7,4.9,7,6v2H4c-1.1,0-2,0.9-2,2v4h4v-2h2v2h8v-2h2v2h4v-4C22,8.9,21.1,8,20,8z M15,8 H9V6h6V8z'\nexport const matHomeWork = 'M0 0h24v24H0z@@fill:none;&&M8.17 5.7L1 10.48V21h5v-8h4v8h5V10.25z&&M17 7h2v2h-2z@@fill:none;&&M10 3v1.51l2 1.33L13.73 7H15v.85l2 1.34V11h2v2h-2v2h2v2h-2v4h6V3H10zm9 6h-2V7h2v2z'\nexport const matHorizontalRule = 'M0 0 H24 V24 H0 V0 z@@fill:none;fill-rule:evenodd;&&M4 11 H20 V13 H4 V11 z@@fill-rule:evenodd;'\nexport const matHorizontalSplit = 'M0 0h24v24H0V0z@@fill:none;&&M3 19h18v-6H3v6zm0-8h18V9H3v2zm0-6v2h18V5H3z'\nexport const matHotel = 'M0 0h24v24H0z@@fill:none;&&M7 13c1.66 0 3-1.34 3-3S8.66 7 7 7s-3 1.34-3 3 1.34 3 3 3zm12-6h-8v7H3V5H1v15h2v-3h18v3h2v-9c0-2.21-1.79-4-4-4z'\nexport const matHotTub = 'M0 0h24v24H0z@@fill:none;&&M7 6 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M11.15 12c-.31-.22-.59-.46-.82-.72l-1.4-1.55c-.19-.21-.43-.38-.69-.5-.29-.14-.62-.23-.96-.23h-.03C6.01 9 5 10.01 5 11.25V12H2v8c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-8H11.15zM7 20H5v-6h2v6zm4 0H9v-6h2v6zm4 0h-2v-6h2v6zm4 0h-2v-6h2v6zm-.35-14.14l-.07-.07c-.57-.62-.82-1.41-.67-2.2L18 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71zm-4 0l-.07-.07c-.57-.62-.82-1.41-.67-2.2L14 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71z'\nexport const matHourglassBottom = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,22l-0.01-6L14,12l3.99-4.01L18,2H6v6l4,4l-4,3.99V22H18z M8,7.5V4h8v3.5l-4,4L8,7.5z'\nexport const matHourglassDisabled = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M8 4 L16 4 L16 7.5 L13.16 10.34 L14.41 11.59 L18 8.01 L17.99 8 L18 8 L18 2 L6 2 L6 3.17 L8 5.17z&&M2.1,2.1L0.69,3.51l8.9,8.9L6,16l0.01,0.01H6V22h12v-1.17l2.49,2.49l1.41-1.41L2.1,2.1z M16,20H8v-3.5l2.84-2.84L16,18.83 V20z'\nexport const matHourglassEmpty = 'M0 0h24v24H0V0z@@fill:none;&&M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5l-4-4V4h8v3.5l-4 4z'\nexport const matHourglassFull = 'M0 0h24v24H0V0z@@fill:none;&&M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6z'\nexport const matHourglassTop = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6,2l0.01,6L10,12l-3.99,4.01L6,22h12v-6l-4-4l4-3.99V2H6z M16,16.5V20H8v-3.5l4-4L16,16.5z'\nexport const matHouse = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,9.3V4h-3v2.6L12,3L2,12h3v8h5v-6h4v6h5v-8h3L19,9.3z M10,10c0-1.1,0.9-2,2-2s2,0.9,2,2H10z'\nexport const matHouseSiding = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,12h3L12,3L2,12h3v8h2v-2h10v2h2V12z M7.21,10h9.58L17,10.19V12H7v-1.81L7.21,10z M14.57,8H9.43L12,5.69L14.57,8z M7,16 v-2h10v2H7z'\nexport const matHowToReg = 'M0 0h24v24H0z@@fill:none;fill-rule:evenodd;&&M9 17l3-2.94c-.39-.04-.68-.06-1-.06-2.67 0-8 1.34-8 4v2h9l-3-3zm2-5c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4&&M15.47 20.5L12 17l1.4-1.41 2.07 2.08 5.13-5.17 1.4 1.41z'\nexport const matHowToVote = 'M0 0h24v24H0V0z@@fill:none;&&M18 13h-.68l-2 2h1.91L19 17H5l1.78-2h2.05l-2-2H6l-3 3v4c0 1.1.89 2 1.99 2H19c1.1 0 2-.89 2-2v-4l-3-3zm-1-5.05l-4.95 4.95-3.54-3.54 4.95-4.95L17 7.95zm-4.24-5.66L6.39 8.66c-.39.39-.39 1.02 0 1.41l4.95 4.95c.39.39 1.02.39 1.41 0l6.36-6.36c.39-.39.39-1.02 0-1.41L14.16 2.3c-.38-.4-1.01-.4-1.4-.01z'\nexport const matHttp = 'M4.5 11h-2V9H1v6h1.5v-2.5h2V15H6V9H4.5v2zm2.5-.5h1.5V15H10v-4.5h1.5V9H7v1.5zm5.5 0H14V15h1.5v-4.5H17V9h-4.5v1.5zm9-1.5H18v6h1.5v-2h2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5zm0 2.5h-2v-1h2v1z&&M24 24H0V0h24v24z@@fill:none;'\nexport const matHttps = 'M0 0h24v24H0z@@fill:none;&&M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'\nexport const matHvac = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,16c1.01,0,1.91-0.39,2.62-1H9.38C10.09,15.61,10.99,16,12,16z&&M8.56,14h6.89c0.26-0.45,0.44-0.96,0.51-1.5h-7.9C8.12,13.04,8.29,13.55,8.56,14z&&M12,8c-1.01,0-1.91,0.39-2.62,1h5.24C13.91,8.39,13.01,8,12,8z&&M8.56,10c-0.26,0.45-0.44,0.96-0.51,1.5h7.9c-0.07-0.54-0.24-1.05-0.51-1.5H8.56z&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M12,18c-3.31,0-6-2.69-6-6 s2.69-6,6-6s6,2.69,6,6S15.31,18,12,18z'\nexport const matImage = 'M0 0h24v24H0z@@fill:none;&&M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'\nexport const matImageAspectRatio = 'M0 0h24v24H0z@@fill:none;&&M16 10h-2v2h2v-2zm0 4h-2v2h2v-2zm-8-4H6v2h2v-2zm4 0h-2v2h2v-2zm8-6H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h16v12z'\nexport const matImageNotSupported = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.9,21.9l-8.49-8.49l0,0L3.59,3.59l0,0L2.1,2.1L0.69,3.51L3,5.83V19c0,1.1,0.9,2,2,2h13.17l2.31,2.31L21.9,21.9z M5,18 l3.5-4.5l2.5,3.01L12.17,15l3,3H5z M21,18.17L5.83,3H19c1.1,0,2,0.9,2,2V18.17z'\nexport const matImageSearch = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0V0z@@fill:none;&&M18 13v7H4V6h5.02c.05-.71.22-1.38.48-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-5l-2-2zm-1.5 5h-11l2.75-3.53 1.96 2.36 2.75-3.54zm2.8-9.11c.44-.7.7-1.51.7-2.39C20 4.01 17.99 2 15.5 2S11 4.01 11 6.5s2.01 4.5 4.49 4.5c.88 0 1.7-.26 2.39-.7L21 13.42 22.42 12 19.3 8.89zM15.5 9C14.12 9 13 7.88 13 6.5S14.12 4 15.5 4 18 5.12 18 6.5 16.88 9 15.5 9z'\nexport const matImportantDevices = 'M0 0h24v24H0V0z@@fill:none;&&M23 11.01L18 11c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h5c.55 0 1-.45 1-1v-9c0-.55-.45-.99-1-.99zM23 20h-5v-7h5v7zM20 2H2C.89 2 0 2.89 0 4v12c0 1.1.89 2 2 2h7v2H7v2h8v-2h-2v-2h2v-2H2V4h18v5h2V4c0-1.11-.9-2-2-2zm-8.03 7L11 6l-.97 3H7l2.47 1.76-.94 2.91 2.47-1.8 2.47 1.8-.94-2.91L15 9h-3.03z'\nexport const matImportContacts = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.5,4.5c-1.95,0-4.05,0.4-5.5,1.5c-1.45-1.1-3.55-1.5-5.5-1.5S2.45,4.9,1,6v14.65c0,0.65,0.73,0.45,0.75,0.45 C3.1,20.45,5.05,20,6.5,20c1.95,0,4.05,0.4,5.5,1.5c1.35-0.85,3.8-1.5,5.5-1.5c1.65,0,3.35,0.3,4.75,1.05 C22.66,21.26,23,20.86,23,20.6V6C21.51,4.88,19.37,4.5,17.5,4.5z M21,18.5c-1.1-0.35-2.3-0.5-3.5-0.5c-1.7,0-4.15,0.65-5.5,1.5V8 c1.35-0.85,3.8-1.5,5.5-1.5c1.2,0,2.4,0.15,3.5,0.5V18.5z'\nexport const matImportExport = 'M0 0h24v24H0z@@fill:none;&&M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z'\nexport const matInbox = 'M0 0h24v24H0V0z@@fill:none;&&M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19v10z'\nexport const matIndeterminateCheckBox = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17,13H7v-2h10V13z'\nexport const matInfo = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'\nexport const matInput = 'M0 0h24v24H0z@@fill:none;&&M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 16l4-4-4-4v3H1v2h10v3z'\nexport const matInsertChart = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z'\nexport const matInsertChartOutlined = 'M0 0h24v24H0z@@fill:none;&&M9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4zm2.5 2.1h-15V5h15v14.1zm0-16.1h-15c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'\nexport const matInsertComment = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'\nexport const matInsertDriveFile = 'M0 0h24v24H0z@@fill:none;&&M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z'\nexport const matInsertEmoticon = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z'\nexport const matInsertInvitation = 'M0 0h24v24H0z@@fill:none;&&M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z'\nexport const matInsertLink = 'M0 0h24v24H0z@@fill:none;&&M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z'\nexport const matInsertPhoto = 'M0 0h24v24H0z@@fill:none;&&M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'\nexport const matInsights = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,8c-1.45,0-2.26,1.44-1.93,2.51l-3.55,3.56c-0.3-0.09-0.74-0.09-1.04,0l-2.55-2.55C12.27,10.45,11.46,9,10,9 c-1.45,0-2.27,1.44-1.93,2.52l-4.56,4.55C2.44,15.74,1,16.55,1,18c0,1.1,0.9,2,2,2c1.45,0,2.26-1.44,1.93-2.51l4.55-4.56 c0.3,0.09,0.74,0.09,1.04,0l2.55,2.55C12.73,16.55,13.54,18,15,18c1.45,0,2.27-1.44,1.93-2.52l3.56-3.55 C21.56,12.26,23,11.45,23,10C23,8.9,22.1,8,21,8z&&M15 9 L15.94 6.93 L18 6 L15.94 5.07 L15 3 L14.08 5.07 L12 6 L14.08 6.93z&&M3.5 11 L4 9 L6 8.5 L4 8 L3.5 6 L3 8 L1 8.5 L3 9z'\nexport const matIntegrationInstructions = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12 3.5 m-0.75, 0 a0.75,0.75 0 1,0 1.5,0 a0.75,0.75 0 1,0 -1.5,0@@fill:none;&&M12 3.5 m-0.75, 0 a0.75,0.75 0 1,0 1.5,0 a0.75,0.75 0 1,0 -1.5,0@@fill:none;&&M12 3.5 m-0.75, 0 a0.75,0.75 0 1,0 1.5,0 a0.75,0.75 0 1,0 -1.5,0@@fill:none;&&M19,3h-4.18C14.4,1.84,13.3,1,12,1S9.6,1.84,9.18,3H5C4.86,3,4.73,3.01,4.6,3.04C4.21,3.12,3.86,3.32,3.59,3.59 c-0.18,0.18-0.33,0.4-0.43,0.64C3.06,4.46,3,4.72,3,5v14c0,0.27,0.06,0.54,0.16,0.78c0.1,0.24,0.25,0.45,0.43,0.64 c0.27,0.27,0.62,0.47,1.01,0.55C4.73,20.99,4.86,21,5,21h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M11,14.17l-1.41,1.42L6,12 l3.59-3.59L11,9.83L8.83,12L11,14.17z M12,4.25c-0.41,0-0.75-0.34-0.75-0.75S11.59,2.75,12,2.75s0.75,0.34,0.75,0.75 S12.41,4.25,12,4.25z M14.41,15.59L13,14.17L15.17,12L13,9.83l1.41-1.42L18,12L14.41,15.59z'\nexport const matInvertColors = 'M24 0H0v24h24z@@fill:none;&&M17.66 7.93L12 2.27 6.34 7.93c-3.12 3.12-3.12 8.19 0 11.31C7.9 20.8 9.95 21.58 12 21.58c2.05 0 4.1-.78 5.66-2.34 3.12-3.12 3.12-8.19 0-11.31zM12 19.59c-1.6 0-3.11-.62-4.24-1.76C6.62 16.69 6 15.19 6 13.59s.62-3.11 1.76-4.24L12 5.1v14.49z'\nexport const matInvertColorsOff = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M20.65 20.87l-2.35-2.35-6.3-6.29-3.56-3.57-1.42-1.41L4.27 4.5 3 5.77l2.78 2.78c-2.55 3.14-2.36 7.76.56 10.69C7.9 20.8 9.95 21.58 12 21.58c1.79 0 3.57-.59 5.03-1.78l2.7 2.7L21 21.23l-.35-.36zM12 19.59c-1.6 0-3.11-.62-4.24-1.76C6.62 16.69 6 15.19 6 13.59c0-1.32.43-2.57 1.21-3.6L12 14.77v4.82zM12 5.1v4.58l7.25 7.26c1.37-2.96.84-6.57-1.6-9.01L12 2.27l-3.7 3.7 1.41 1.41L12 5.1z'\nexport const matIso = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5.5 7.5h2v-2H9v2h2V9H9v2H7.5V9h-2V7.5zM19 19H5L19 5v14zm-2-2v-1.5h-5V17h5z'\nexport const matKeyboard = 'M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z&&M0 0h24v24H0zm0 0h24v24H0z@@fill:none;'\nexport const matKeyboardArrowDown = 'M0 0h24v24H0V0z@@fill:none;&&M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'\nexport const matKeyboardArrowLeft = 'M0 0h24v24H0V0z@@fill:none;&&M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z'\nexport const matKeyboardArrowRight = 'M0 0h24v24H0V0z@@fill:none;&&M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'\nexport const matKeyboardArrowUp = 'M0 0h24v24H0z@@fill:none;&&M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'\nexport const matKeyboardBackspace = 'M0 0h24v24H0z@@fill:none;&&M21 11H6.83l3.58-3.59L9 6l-6 6 6 6 1.41-1.41L6.83 13H21z'\nexport const matKeyboardCapslock = 'M0 0h24v24H0z@@fill:none;&&M12 8.41L16.59 13 18 11.59l-6-6-6 6L7.41 13 12 8.41zM6 18h12v-2H6v2z'\nexport const matKeyboardHide = 'M0 0h24v24H0z@@fill:none;&&M20 3H4c-1.1 0-1.99.9-1.99 2L2 15c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 3h2v2h-2V6zm0 3h2v2h-2V9zM8 6h2v2H8V6zm0 3h2v2H8V9zm-1 2H5V9h2v2zm0-3H5V6h2v2zm9 7H8v-2h8v2zm0-4h-2V9h2v2zm0-3h-2V6h2v2zm3 3h-2V9h2v2zm0-3h-2V6h2v2zm-7 15l4-4H8l4 4z'\nexport const matKeyboardReturn = 'M0 0h24v24H0z@@fill:none;&&M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z'\nexport const matKeyboardTab = 'M0 0h24v24H0z@@fill:none;&&M11.59 7.41L15.17 11H1v2h14.17l-3.59 3.59L13 18l6-6-6-6-1.41 1.41zM20 6v12h2V6h-2z'\nexport const matKeyboardVoice = 'M0 0h24v24H0z@@fill:none;&&M12 15c1.66 0 2.99-1.34 2.99-3L15 6c0-1.66-1.34-3-3-3S9 4.34 9 6v6c0 1.66 1.34 3 3 3zm5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 15 6.7 12H5c0 3.42 2.72 6.23 6 6.72V22h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z'\nexport const matKingBed = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6 7 H11 V10 H6 V7 z@@fill:none;&&M13 7 H18 V10 H13 V7 z@@fill:none;&&M20,10V7c0-1.1-0.9-2-2-2H6C4.9,5,4,5.9,4,7v3c-1.1,0-2,0.9-2,2v5h1.33L4,19h1l0.67-2h12.67L19,19h1l0.67-2H22v-5 C22,10.9,21.1,10,20,10z M11,10H6V7h5V10z M18,10h-5V7h5V10z'\nexport const matKitchen = 'M0 0h24v24H0V0z@@fill:none;&&M18 2.01L6 2c-1.1 0-2 .89-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.11-.9-1.99-2-1.99zM18 20H6v-9.02h12V20zm0-11H6V4h12v5zM8 5h2v3H8zm0 7h2v5H8z'\nexport const matLabel = 'M0 0h24v24H0z@@fill:none;&&M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z'\nexport const matLabelImportant = 'M0 0h24v24H0V0z@@fill:none;&&M3.5 18.99l11 .01c.67 0 1.27-.33 1.63-.84L20.5 12l-4.37-6.16c-.36-.51-.96-.84-1.63-.84l-11 .01L8.34 12 3.5 18.99z'\nexport const matLabelOff = 'M0 0h24v24H0V0z@@fill:none;&&M3.25 2.75l17 17L19 21l-2-2H5c-1.1 0-2-.9-2-2V7c0-.55.23-1.05.59-1.41L2 4l1.25-1.25zM22 12l-4.37-6.16C17.27 5.33 16.67 5 16 5H8l11 11 3-4z'\nexport const matLandscape = 'M0 0h24v24H0z@@fill:none;&&M14 6l-3.75 5 2.85 3.8-1.6 1.2C9.81 13.75 7 10 7 10l-6 8h22L14 6z'\nexport const matLanguage = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z'\nexport const matLaptop = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,18c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v10c0,1.1,0.9,2,2,2H0v2h24v-2H20z M4,6h16v10H4V6z'\nexport const matLaptopChromebook = 'M0 0h24v24H0z@@fill:none;&&M22 18V3H2v15H0v2h24v-2h-2zm-8 0h-4v-1h4v1zm6-3H4V5h16v10z'\nexport const matLaptopMac = 'M0 0h24v24H0z@@fill:none;&&M20 18c1.1 0 1.99-.9 1.99-2L22 5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2H0c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2h-4zM4 5h16v11H4V5zm8 14c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'\nexport const matLaptopWindows = 'M0 0h24v24H0z@@fill:none;&&M20 18v-1c1.1 0 1.99-.9 1.99-2L22 5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2v1H0v2h24v-2h-4zM4 5h16v10H4V5z'\nexport const matLastPage = 'M0 0h24v24H0V0z@@fill:none;&&M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z'\nexport const matLaunch = 'M0 0h24v24H0z@@fill:none;&&M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'\nexport const matLayers = 'M0 0h24v24H0z@@fill:none;&&M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z'\nexport const matLayersClear = 'M0 0h24v24H0z@@fill:none;&&M19.81 14.99l1.19-.92-1.43-1.43-1.19.92 1.43 1.43zm-.45-4.72L21 9l-9-7-2.91 2.27 7.87 7.88 2.4-1.88zM3.27 1L2 2.27l4.22 4.22L3 9l1.63 1.27L12 16l2.1-1.63 1.43 1.43L12 18.54l-7.37-5.73L3 14.07l9 7 4.95-3.85L20.73 21 22 19.73 3.27 1z'\nexport const matLeaderboard = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7.5,21H2V9h5.5V21z M14.75,3h-5.5v18h5.5V3z M22,11h-5.5v10H22V11z'\nexport const matLeakAdd = 'M0 0h24v24H0z@@fill:none;&&M6 3H3v3c1.66 0 3-1.34 3-3zm8 0h-2c0 4.97-4.03 9-9 9v2c6.08 0 11-4.93 11-11zm-4 0H8c0 2.76-2.24 5-5 5v2c3.87 0 7-3.13 7-7zm0 18h2c0-4.97 4.03-9 9-9v-2c-6.07 0-11 4.93-11 11zm8 0h3v-3c-1.66 0-3 1.34-3 3zm-4 0h2c0-2.76 2.24-5 5-5v-2c-3.87 0-7 3.13-7 7z'\nexport const matLeakRemove = 'M0 0h24v24H0z@@fill:none;&&M10 3H8c0 .37-.04.72-.12 1.06l1.59 1.59C9.81 4.84 10 3.94 10 3zM3 4.27l2.84 2.84C5.03 7.67 4.06 8 3 8v2c1.61 0 3.09-.55 4.27-1.46L8.7 9.97C7.14 11.24 5.16 12 3 12v2c2.71 0 5.19-.99 7.11-2.62l2.5 2.5C10.99 15.81 10 18.29 10 21h2c0-2.16.76-4.14 2.03-5.69l1.43 1.43C14.55 17.91 14 19.39 14 21h2c0-1.06.33-2.03.89-2.84L19.73 21 21 19.73 4.27 3 3 4.27zM14 3h-2c0 1.5-.37 2.91-1.02 4.16l1.46 1.46C13.42 6.98 14 5.06 14 3zm5.94 13.12c.34-.08.69-.12 1.06-.12v-2c-.94 0-1.84.19-2.66.52l1.6 1.6zm-4.56-4.56l1.46 1.46C18.09 12.37 19.5 12 21 12v-2c-2.06 0-3.98.58-5.62 1.56z'\nexport const matLegendToggle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,15H4v-2h16V15z M20,17H4v2h16V17z M15,11l5-3.55L20,5l-5,3.55L10,5L4,8.66L4,11l5.92-3.61L15,11z'\nexport const matLens = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z'\nexport const matLibraryAdd = 'M0 0h24v24H0z@@fill:none;&&M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9h-4v4h-2v-4H9V9h4V5h2v4h4v2z'\nexport const matLibraryAddCheck = 'M0 0h24v24H0z@@fill:none;&&M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7.53 12L9 10.5l1.4-1.41 2.07 2.08L17.6 6 19 7.41 12.47 14zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6z'\nexport const matLibraryBooks = 'M0 0h24v24H0z@@fill:none;&&M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9H9V9h10v2zm-4 4H9v-2h6v2zm4-8H9V5h10v2z'\nexport const matLibraryMusic = 'M0 0h24v24H0z@@fill:none;&&M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 5h-3v5.5c0 1.38-1.12 2.5-2.5 2.5S10 13.88 10 12.5s1.12-2.5 2.5-2.5c.57 0 1.08.19 1.5.51V5h4v2zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6z'\nexport const matLinearScale = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.5,9.5c-1.03,0-1.9,0.62-2.29,1.5h-2.92C13.9,10.12,13.03,9.5,12,9.5s-1.9,0.62-2.29,1.5H6.79 C6.4,10.12,5.53,9.5,4.5,9.5C3.12,9.5,2,10.62,2,12s1.12,2.5,2.5,2.5c1.03,0,1.9-0.62,2.29-1.5h2.92c0.39,0.88,1.26,1.5,2.29,1.5 s1.9-0.62,2.29-1.5h2.92c0.39,0.88,1.26,1.5,2.29,1.5c1.38,0,2.5-1.12,2.5-2.5S20.88,9.5,19.5,9.5z'\nexport const matLineStyle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,16h5v-2H3V16z M9.5,16h5v-2h-5V16z M16,16h5v-2h-5V16z M3,20h2v-2H3V20z M7,20h2v-2H7V20z M11,20h2v-2h-2V20z M15,20 h2v-2h-2V20z M19,20h2v-2h-2V20z M3,12h8v-2H3V12z M13,12h8v-2h-8V12z M3,4v4h18V4H3z'\nexport const matLineWeight = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,17h18v-2H3V17z M3,20h18v-1H3V20z M3,13h18v-3H3V13z M3,4v4h18V4H3z'\nexport const matLink = 'M0 0h24v24H0z@@fill:none;&&M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z'\nexport const matLinkedCamera = 'M12 14 m-3.2, 0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0&&M12 14 m-5, 0 a5,5 0 1,0 10,0 a5,5 0 1,0 -10,0@@fill:none;&&M16 3.33c2.58 0 4.67 2.09 4.67 4.67H22c0-3.31-2.69-6-6-6v1.33M16 6c1.11 0 2 .89 2 2h1.33c0-1.84-1.49-3.33-3.33-3.33V6&&M24 0H0v24h24V0z@@fill:none;&&M17 9c0-1.11-.89-2-2-2V4H9L7.17 6H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V9h-5zm-5 10c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z'\nexport const matLinkOff = 'M0 0h24v24H0V0z@@fill:none;&&M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16zM2 4.27l3.11 3.11C3.29 8.12 2 9.91 2 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z&&M0 24V0@@fill:none;'\nexport const matList = 'M0 0h24v24H0z@@fill:none;&&M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z'\nexport const matListAlt = 'M0 0h24v24H0z@@fill:none;&&M19 5v14H5V5h14m1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9zM11 7h6v2h-6V7zm0 4h6v2h-6v-2zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z'\nexport const matLiveHelp = 'M0 0h24v24H0z@@fill:none;&&M19 2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 16h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 11.9 13 12.5 13 14h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z'\nexport const matLiveTv = 'M0 0h24v24H0V0z@@fill:none;&&M21 6h-7.59l3.29-3.29L16 2l-4 4-4-4-.71.71L10.59 6H3c-1.1 0-2 .89-2 2v12c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.11-.9-2-2-2zm0 14H3V8h18v12zM9 10v8l7-4z'\nexport const matLocalActivity = 'M0 0h24v24H0z@@fill:none;&&M20 12c0-1.1.9-2 2-2V6c0-1.1-.9-2-2-2H4c-1.1 0-1.99.9-1.99 2v4c1.1 0 1.99.9 1.99 2s-.89 2-2 2v4c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-4c-1.1 0-2-.9-2-2zm-4.42 4.8L12 14.5l-3.58 2.3 1.08-4.12-3.29-2.69 4.24-.25L12 5.8l1.54 3.95 4.24.25-3.29 2.69 1.09 4.11z'\nexport const matLocalAirport = 'M22,16v-2l-8.5-5V3.5C13.5,2.67,12.83,2,12,2s-1.5,0.67-1.5,1.5V9L2,14v2l8.5-2.5V19L8,20.5L8,22l4-1l4,1l0-1.5L13.5,19 v-5.5L22,16z&&M0,0h24v24H0V0z@@fill:none;'\nexport const matLocalAtm = 'M0 0h24v24H0z@@fill:none;&&M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z'\nexport const matLocalBar = 'M0 0h24v24H0z@@fill:none;&&M21 5V3H3v2l8 9v5H6v2h12v-2h-5v-5l8-9zM7.43 7L5.66 5h12.69l-1.78 2H7.43z'\nexport const matLocalCafe = 'M0 0h24v24H0V0z@@fill:none;&&M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z'\nexport const matLocalCarWash = 'M0 0h24v24H0z@@fill:none;&&M17 5c.83 0 1.5-.67 1.5-1.5 0-1-1.5-2.7-1.5-2.7s-1.5 1.7-1.5 2.7c0 .83.67 1.5 1.5 1.5zm-5 0c.83 0 1.5-.67 1.5-1.5 0-1-1.5-2.7-1.5-2.7s-1.5 1.7-1.5 2.7c0 .83.67 1.5 1.5 1.5zM7 5c.83 0 1.5-.67 1.5-1.5C8.5 2.5 7 .8 7 .8S5.5 2.5 5.5 3.5C5.5 4.33 6.17 5 7 5zm11.92 3.01C18.72 7.42 18.16 7 17.5 7h-11c-.66 0-1.21.42-1.42 1.01L3 14v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 18c-.83 0-1.5-.67-1.5-1.5S5.67 15 6.5 15s1.5.67 1.5 1.5S7.33 18 6.5 18zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 13l1.5-4.5h11L19 13H5z'\nexport const matLocalConvenienceStore = 'M0 0h24v24H0z@@fill:none;&&M19 7V4H5v3H2v13h8v-4h4v4h8V7h-3zm-8 3H9v1h2v1H8V9h2V8H8V7h3v3zm5 2h-1v-2h-2V7h1v2h1V7h1v5z'\nexport const matLocalDining = 'M0 0h24v24H0z@@fill:none;&&M8.1 13.34l2.83-2.83L3.91 3.5c-1.56 1.56-1.56 4.09 0 5.66l4.19 4.18zm6.78-1.81c1.53.71 3.68.21 5.27-1.38 1.91-1.91 2.28-4.65.81-6.12-1.46-1.46-4.2-1.1-6.12.81-1.59 1.59-2.09 3.74-1.38 5.27L3.7 19.87l1.41 1.41L12 14.41l6.88 6.88 1.41-1.41L13.41 13l1.47-1.47z'\nexport const matLocalDrink = 'M0 0h24v24H0z@@fill:none;&&M3 2l2.01 18.23C5.13 21.23 5.97 22 7 22h10c1.03 0 1.87-.77 1.99-1.77L21 2H3zm9 17c-1.66 0-3-1.34-3-3 0-2 3-5.4 3-5.4s3 3.4 3 5.4c0 1.66-1.34 3-3 3zm6.33-11H5.67l-.44-4h13.53l-.43 4z'\nexport const matLocalFireDepartment = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.48,12.35c-1.57-4.08-7.16-4.3-5.81-10.23c0.1-0.44-0.37-0.78-0.75-0.55C9.29,3.71,6.68,8,8.87,13.62 c0.18,0.46-0.36,0.89-0.75,0.59c-1.81-1.37-2-3.34-1.84-4.75c0.06-0.52-0.62-0.77-0.91-0.34C4.69,10.16,4,11.84,4,14.37 c0.38,5.6,5.11,7.32,6.81,7.54c2.43,0.31,5.06-0.14,6.95-1.87C19.84,18.11,20.6,15.03,19.48,12.35z M10.2,17.38 c1.44-0.35,2.18-1.39,2.38-2.31c0.33-1.43-0.96-2.83-0.09-5.09c0.33,1.87,3.27,3.04,3.27,5.08C15.84,17.59,13.1,19.76,10.2,17.38z'\nexport const matLocalFlorist = 'M0 0h24v24H0z@@fill:none;&&M12 22c4.97 0 9-4.03 9-9-4.97 0-9 4.03-9 9zM5.6 10.25c0 1.38 1.12 2.5 2.5 2.5.53 0 1.01-.16 1.42-.44l-.02.19c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5l-.02-.19c.4.28.89.44 1.42.44 1.38 0 2.5-1.12 2.5-2.5 0-1-.59-1.85-1.43-2.25.84-.4 1.43-1.25 1.43-2.25 0-1.38-1.12-2.5-2.5-2.5-.53 0-1.01.16-1.42.44l.02-.19C14.5 2.12 13.38 1 12 1S9.5 2.12 9.5 3.5l.02.19c-.4-.28-.89-.44-1.42-.44-1.38 0-2.5 1.12-2.5 2.5 0 1 .59 1.85 1.43 2.25-.84.4-1.43 1.25-1.43 2.25zM12 5.5c1.38 0 2.5 1.12 2.5 2.5s-1.12 2.5-2.5 2.5S9.5 9.38 9.5 8s1.12-2.5 2.5-2.5zM3 13c0 4.97 4.03 9 9 9 0-4.97-4.03-9-9-9z'\nexport const matLocalGasStation = 'M0 0h24v24H0z@@fill:none;&&M19.77 7.23l.01-.01-3.72-3.72L15 4.56l2.11 2.11c-.94.36-1.61 1.26-1.61 2.33 0 1.38 1.12 2.5 2.5 2.5.36 0 .69-.08 1-.21v7.21c0 .55-.45 1-1 1s-1-.45-1-1V14c0-1.1-.9-2-2-2h-1V5c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v16h10v-7.5h1.5v5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V9c0-.69-.28-1.32-.73-1.77zM12 10H6V5h6v5zm6 0c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'\nexport const matLocalGroceryStore = 'M0 0h24v24H0z@@fill:none;&&M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'\nexport const matLocalHospital = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z'\nexport const matLocalHotel = 'M0 0h24v24H0z@@fill:none;&&M7 13c1.66 0 3-1.34 3-3S8.66 7 7 7s-3 1.34-3 3 1.34 3 3 3zm12-6h-8v7H3V5H1v15h2v-3h18v3h2v-9c0-2.21-1.79-4-4-4z'\nexport const matLocalLaundryService = 'M0 0h24v24H0z@@fill:none;&&M9.17 16.83c1.56 1.56 4.1 1.56 5.66 0 1.56-1.56 1.56-4.1 0-5.66l-5.66 5.66zM18 2.01L6 2c-1.11 0-2 .89-2 2v16c0 1.11.89 2 2 2h12c1.11 0 2-.89 2-2V4c0-1.11-.89-1.99-2-1.99zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM7 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5 16c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z'\nexport const matLocalLibrary = 'M0 0h24v24H0z@@fill:none;&&M12 11.55C9.64 9.35 6.48 8 3 8v11c3.48 0 6.64 1.35 9 3.55 2.36-2.19 5.52-3.55 9-3.55V8c-3.48 0-6.64 1.35-9 3.55zM12 8c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z'\nexport const matLocalMall = 'M0 0h24v24H0z@@fill:none;&&M19 6h-2c0-2.76-2.24-5-5-5S7 3.24 7 6H5c-1.1 0-1.99.9-1.99 2L3 20c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-7-3c1.66 0 3 1.34 3 3H9c0-1.66 1.34-3 3-3zm0 10c-2.76 0-5-2.24-5-5h2c0 1.66 1.34 3 3 3s3-1.34 3-3h2c0 2.76-2.24 5-5 5z'\nexport const matLocalMovies = 'M0 0h24v24H0z@@fill:none;&&M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z'\nexport const matLocalOffer = 'M0 0h24v24H0z@@fill:none;&&M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z'\nexport const matLocalParking = 'M0 0h24v24H0z@@fill:none;&&M13 3H6v18h4v-6h3c3.31 0 6-2.69 6-6s-2.69-6-6-6zm.2 8H10V7h3.2c1.1 0 2 .9 2 2s-.9 2-2 2z'\nexport const matLocalPharmacy = 'M0 0h24v24H0z@@fill:none;&&M21 5h-2.64l1.14-3.14L17.15 1l-1.46 4H3v2l2 6-2 6v2h18v-2l-2-6 2-6V5zm-5 9h-3v3h-2v-3H8v-2h3V9h2v3h3v2z'\nexport const matLocalPhone = 'M0 0h24v24H0z@@fill:none;&&M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'\nexport const matLocalPizza = 'M0 0h24v24H0z@@fill:none;&&M12 2C8.43 2 5.23 3.54 3.01 6L12 22l8.99-16C18.78 3.55 15.57 2 12 2zM7 7c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2zm5 8c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matLocalPlay = 'M0 0h24v24H0z@@fill:none;&&M20 12c0-1.1.9-2 2-2V6c0-1.1-.9-2-2-2H4c-1.1 0-1.99.9-1.99 2v4c1.1 0 1.99.9 1.99 2s-.89 2-2 2v4c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-4c-1.1 0-2-.9-2-2zm-4.42 4.8L12 14.5l-3.58 2.3 1.08-4.12-3.29-2.69 4.24-.25L12 5.8l1.54 3.95 4.24.25-3.29 2.69 1.09 4.11z'\nexport const matLocalPolice = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,1L3,5v6c0,5.55,3.84,10.74,9,12c5.16-1.26,9-6.45,9-12V5L12,1z M14.5,12.59l0.9,3.88L12,14.42l-3.4,2.05l0.9-3.87 l-3-2.59l3.96-0.34L12,6.02l1.54,3.64L17.5,10L14.5,12.59z'\nexport const matLocalPostOffice = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'\nexport const matLocalPrintshop = 'M0 0h24v24H0z@@fill:none;&&M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z'\nexport const matLocalSee = 'M0 0h24v24H0z@@fill:none;&&M12 12 m-3.2, 0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0&&M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z'\nexport const matLocalShipping = 'M0 0h24v24H0z@@fill:none;&&M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9l1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matLocalTaxi = 'M0 0h24v24H0z@@fill:none;&&M18.92 6.01C18.72 5.42 18.16 5 17.5 5H15V3H9v2H6.5c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z'\nexport const matLocationCity = 'M0 0h24v24H0z@@fill:none;&&M15 11V5l-3-3-3 3v2H3v14h18V11h-6zm-8 8H5v-2h2v2zm0-4H5v-2h2v2zm0-4H5V9h2v2zm6 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V9h2v2zm0-4h-2V5h2v2zm6 12h-2v-2h2v2zm0-4h-2v-2h2v2z'\nexport const matLocationDisabled = 'M0 0h24v24H0z@@fill:none;&&M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06c-1.13.12-2.19.46-3.16.97l1.5 1.5C10.16 5.19 11.06 5 12 5c3.87 0 7 3.13 7 7 0 .94-.19 1.84-.52 2.65l1.5 1.5c.5-.96.84-2.02.97-3.15H23v-2h-2.06zM3 4.27l2.04 2.04C3.97 7.62 3.25 9.23 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c1.77-.2 3.38-.91 4.69-1.98L19.73 21 21 19.73 4.27 3 3 4.27zm13.27 13.27C15.09 18.45 13.61 19 12 19c-3.87 0-7-3.13-7-7 0-1.61.55-3.09 1.46-4.27l9.81 9.81z'\nexport const matLocationOff = 'M0 0h24v24H0zm11.75 11.47l-.11-.11z@@fill:none;&&M12 6.5c1.38 0 2.5 1.12 2.5 2.5 0 .74-.33 1.39-.83 1.85l3.63 3.63c.98-1.86 1.7-3.8 1.7-5.48 0-3.87-3.13-7-7-7-1.98 0-3.76.83-5.04 2.15l3.19 3.19c.46-.52 1.11-.84 1.85-.84zm4.37 9.6l-4.63-4.63-.11-.11L3.27 3 2 4.27l3.18 3.18C5.07 7.95 5 8.47 5 9c0 5.25 7 13 7 13s1.67-1.85 3.38-4.35L18.73 21 20 19.73l-3.63-3.63z'\nexport const matLocationOn = 'M0 0h24v24H0z@@fill:none;&&M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'\nexport const matLocationSearching = 'M0 0h24v24H0z@@fill:none;&&M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matLock = 'M0 0h24v24H0z@@fill:none;&&M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'\nexport const matLockOpen = 'M0 0h24v24H0z@@fill:none;&&M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z'\nexport const matLogin = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z'\nexport const matLooks = 'M0 0h24v24H0z@@fill:none;&&M12 10c-3.86 0-7 3.14-7 7h2c0-2.76 2.24-5 5-5s5 2.24 5 5h2c0-3.86-3.14-7-7-7zm0-4C5.93 6 1 10.93 1 17h2c0-4.96 4.04-9 9-9s9 4.04 9 9h2c0-6.07-4.93-11-11-11z'\nexport const matLooks3 = 'M.01 0h24v24h-24z@@fill:none;&&M19.01 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 7.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15c0 1.11-.9 2-2 2h-4v-2h4v-2h-2v-2h2V9h-4V7h4c1.1 0 2 .89 2 2v1.5z'\nexport const matLooks4 = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z'\nexport const matLooks5 = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .89 2 2v2c0 1.11-.9 2-2 2H9v-2h4v-2H9V7h6v2z'\nexport const matLooks6 = 'M0 0h24v24H0z@@fill:none;&&M11 15h2v-2h-2v2zm8-12H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .89 2 2v2c0 1.11-.9 2-2 2h-2c-1.1 0-2-.89-2-2V9c0-1.11.9-2 2-2h4v2z'\nexport const matLooksOne = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z'\nexport const matLooksTwo = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.11-.9 2-2 2h-2v2h4v2H9v-4c0-1.11.9-2 2-2h2V9H9V7h4c1.1 0 2 .89 2 2v2z'\nexport const matLoop = 'M0 0h24v24H0z@@fill:none;&&M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z'\nexport const matLoupe = 'M0 0h24v24H0z@@fill:none;&&M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.49 2 2 6.49 2 12s4.49 10 10 10h8c1.1 0 2-.9 2-2v-8c0-5.51-4.49-10-10-10zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matLowPriority = 'M0 0h24v24H0z@@fill:none;&&M14 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.5C6.02 16 4 13.98 4 11.5S6.02 7 8.5 7H12V5H8.5C4.92 5 2 7.92 2 11.5z'\nexport const matLoyalty = 'M0 0h24v24H0z@@fill:none;&&M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7zm11.77 8.27L13 19.54l-4.27-4.27C8.28 14.81 8 14.19 8 13.5c0-1.38 1.12-2.5 2.5-2.5.69 0 1.32.28 1.77.74l.73.72.73-.73c.45-.45 1.08-.73 1.77-.73 1.38 0 2.5 1.12 2.5 2.5 0 .69-.28 1.32-.73 1.77z'\nexport const matLuggage = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,6h-2V3c0-0.55-0.45-1-1-1h-4C9.45,2,9,2.45,9,3v3H7C5.9,6,5,6.9,5,8v11c0,1.1,0.9,2,2,2c0,0.55,0.45,1,1,1 c0.55,0,1-0.45,1-1h6c0,0.55,0.45,1,1,1c0.55,0,1-0.45,1-1c1.1,0,2-0.9,2-2V8C19,6.9,18.1,6,17,6z M9.5,18H8V9h1.5V18z M12.75,18 h-1.5V9h1.5V18z M13.5,6h-3V3.5h3V6z M16,18h-1.5V9H16V18z'\nexport const matMail = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'\nexport const matMailOutline = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z'\nexport const matMap = 'M0 0h24v24H0z@@fill:none;&&M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z'\nexport const matMapsUgc = 'M0 0 H24 V24 H0 V0 z@@fill:none;fill-rule:evenodd;&&M12,2C6.48,2,2,6.48,2,12c0,1.54,0.36,2.98,0.97,4.29L1,23l6.71-1.97 C9.02,21.64,10.46,22,12,22c5.52,0,10-4.48,10-10C22,6.48,17.52,2,12,2z M16,13h-3v3h-2v-3H8v-2h3V8h2v3h3V13z@@fill-rule:evenodd;'\nexport const matMarkChatRead = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.34,20l-3.54-3.54l1.41-1.41l2.12,2.12l4.24-4.24L23,14.34L17.34,20z M12,17c0-3.87,3.13-7,7-7c1.08,0,2.09,0.25,3,0.68 V4c0-1.1-0.9-2-2-2H4C2.9,2,2,2.9,2,4v18l4-4h6v0c0-0.17,0.01-0.33,0.03-0.5C12.01,17.34,12,17.17,12,17z'\nexport const matMarkChatUnread = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,6.98V16c0,1.1-0.9,2-2,2H6l-4,4V4c0-1.1,0.9-2,2-2h10.1C14.04,2.32,14,2.66,14,3c0,2.76,2.24,5,5,5 C20.13,8,21.16,7.61,22,6.98z M16,3c0,1.66,1.34,3,3,3s3-1.34,3-3s-1.34-3-3-3S16,1.34,16,3z'\nexport const matMarkEmailRead = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,19c0-3.87,3.13-7,7-7c1.08,0,2.09,0.25,3,0.68V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h8.08 C12.03,19.67,12,19.34,12,19z M4,6l8,5l8-5v2l-8,5L4,8V6z M17.34,22l-3.54-3.54l1.41-1.41l2.12,2.12l4.24-4.24L23,16.34L17.34,22z'\nexport const matMarkEmailUnread = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,8.98V18c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h10.1C14.04,4.32,14,4.66,14,5 c0,1.48,0.65,2.79,1.67,3.71L12,11L4,6v2l8,5l5.3-3.32C17.84,9.88,18.4,10,19,10C20.13,10,21.16,9.61,22,8.98z M16,5 c0,1.66,1.34,3,3,3s3-1.34,3-3s-1.34-3-3-3S16,3.34,16,5z'\nexport const matMarkunread = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'\nexport const matMarkunreadMailbox = 'M-618-3000H782V600H-618zM0 0h24v24H0z@@fill:none;&&M20 6H10v6H8V4h6V0H6v6H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z'\nexport const matMasks = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.5,6c-1.31,0-2.37,1.01-2.48,2.3C15.14,7.8,14.18,6.5,12,6.5c-2.19,0-3.14,1.3-5.02,1.8C6.87,7.02,5.81,6,4.5,6 C3.12,6,2,7.12,2,8.5V9c0,6,3.6,7.81,6.52,7.98C9.53,17.62,10.72,18,12,18s2.47-0.38,3.48-1.02C18.4,16.81,22,15,22,9V8.5 C22,7.12,20.88,6,19.5,6z M3.5,9V8.5c0-0.55,0.45-1,1-1s1,0.45,1,1v3c0,1.28,0.38,2.47,1.01,3.48C4.99,14.27,3.5,12.65,3.5,9z M20.5,9c0,3.65-1.49,5.27-3.01,5.98c0.64-1.01,1.01-2.2,1.01-3.48v-3c0-0.55,0.45-1,1-1s1,0.45,1,1V9z M10.69,10.48 c-0.44,0.26-0.96,0.56-1.69,0.76V10.2c0.48-0.17,0.84-0.38,1.18-0.58C10.72,9.3,11.23,9,12,9s1.27,0.3,1.8,0.62 c0.34,0.2,0.71,0.42,1.2,0.59v1.04c-0.75-0.21-1.26-0.51-1.71-0.78C12.83,10.2,12.49,10,12,10C11.51,10,11.16,10.2,10.69,10.48z'\nexport const matMaximize = 'M0 0h24v24H0V0z@@fill:none;&&M3 3h18v2H3z'\nexport const matMediation = 'M0 0h24v24H0z@@fill:none;&&M22 12l-4 4-1.41-1.41L18.17 13h-5.23c-.34 3.1-2.26 5.72-4.94 7.05C7.96 21.69 6.64 23 5 23c-1.66 0-3-1.34-3-3s1.34-3 3-3c.95 0 1.78.45 2.33 1.14 1.9-1.03 3.26-2.91 3.58-5.14h-3.1C7.4 14.16 6.3 15 5 15c-1.66 0-3-1.34-3-3s1.34-3 3-3c1.3 0 2.4.84 2.82 2h3.1c-.32-2.23-1.69-4.1-3.59-5.14C6.78 6.55 5.95 7 5 7 3.34 7 2 5.66 2 4s1.34-3 3-3c1.64 0 2.96 1.31 2.99 2.95 2.68 1.33 4.6 3.95 4.94 7.05h5.23l-1.58-1.59L18 8l4 4z'\nexport const matMedicalServices = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,6h-4V4c0-1.1-0.9-2-2-2h-4C8.9,2,8,2.9,8,4v2H4C2.9,6,2,6.9,2,8v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8 C22,6.9,21.1,6,20,6z M10,4h4v2h-4V4z M16,15h-3v3h-2v-3H8v-2h3v-3h2v3h3V15z'\nexport const matMeetingRoom = 'M14 6v15H3v-2h2V3h9v1h5v15h2v2h-4V6h-3zm-4 5v2h2v-2h-2z'\nexport const matMemory = 'M0 0h24v24H0z@@fill:none;&&M15 9H9v6h6V9zm-2 4h-2v-2h2v2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2zm-4 6H7V7h10v10z'\nexport const matMenu = 'M0 0h24v24H0z@@fill:none;&&M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'\nexport const matMenuBook = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,5c-1.11-0.35-2.33-0.5-3.5-0.5c-1.95,0-4.05,0.4-5.5,1.5c-1.45-1.1-3.55-1.5-5.5-1.5S2.45,4.9,1,6v14.65 c0,0.25,0.25,0.5,0.5,0.5c0.1,0,0.15-0.05,0.25-0.05C3.1,20.45,5.05,20,6.5,20c1.95,0,4.05,0.4,5.5,1.5c1.35-0.85,3.8-1.5,5.5-1.5 c1.65,0,3.35,0.3,4.75,1.05c0.1,0.05,0.15,0.05,0.25,0.05c0.25,0,0.5-0.25,0.5-0.5V6C22.4,5.55,21.75,5.25,21,5z M21,18.5 c-1.1-0.35-2.3-0.5-3.5-0.5c-1.7,0-4.15,0.65-5.5,1.5V8c1.35-0.85,3.8-1.5,5.5-1.5c1.2,0,2.4,0.15,3.5,0.5V18.5z&&M17.5,10.5c0.88,0,1.73,0.09,2.5,0.26V9.24C19.21,9.09,18.36,9,17.5,9c-1.7,0-3.24,0.29-4.5,0.83v1.66 C14.13,10.85,15.7,10.5,17.5,10.5z&&M13,12.49v1.66c1.13-0.64,2.7-0.99,4.5-0.99c0.88,0,1.73,0.09,2.5,0.26V11.9c-0.79-0.15-1.64-0.24-2.5-0.24 C15.8,11.66,14.26,11.96,13,12.49z&&M17.5,14.33c-1.7,0-3.24,0.29-4.5,0.83v1.66c1.13-0.64,2.7-0.99,4.5-0.99c0.88,0,1.73,0.09,2.5,0.26v-1.52 C19.21,14.41,18.36,14.33,17.5,14.33z'\nexport const matMenuOpen = 'M0 0h24v24H0V0z@@fill:none;&&M3 18h13v-2H3v2zm0-5h10v-2H3v2zm0-7v2h13V6H3zm18 9.59L17.42 12 21 8.41 19.59 7l-5 5 5 5L21 15.59z'\nexport const matMergeType = 'M0 0h24v24H0z@@fill:none;&&M17 20.41L18.41 19 15 15.59 13.59 17 17 20.41zM7.5 8H11v5.59L5.59 19 7 20.41l6-6V8h3.5L12 3.5 7.5 8z'\nexport const matMessage = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'\nexport const matMic = 'M0 0h24v24H0z@@fill:none;&&M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z'\nexport const matMicNone = 'M0 0h24v24H0z@@fill:none;&&M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm-1.2-9.1c0-.66.54-1.2 1.2-1.2.66 0 1.2.54 1.2 1.2l-.01 6.2c0 .66-.53 1.2-1.19 1.2-.66 0-1.2-.54-1.2-1.2V4.9zm6.5 6.1c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z'\nexport const matMicOff = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M19 11h-1.7c0 .74-.16 1.43-.43 2.05l1.23 1.23c.56-.98.9-2.09.9-3.28zm-4.02.17c0-.06.02-.11.02-.17V5c0-1.66-1.34-3-3-3S9 3.34 9 5v.18l5.98 5.99zM4.27 3L3 4.27l6.01 6.01V11c0 1.66 1.33 3 2.99 3 .22 0 .44-.03.65-.08l1.66 1.66c-.71.33-1.5.52-2.31.52-2.76 0-5.3-2.1-5.3-5.1H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c.91-.13 1.77-.45 2.54-.9L19.73 21 21 19.73 4.27 3z'\nexport const matMicrowave = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.8,10.61L5.37,9.19C5.73,8.79,6.59,8,7.75,8c0.8,0,1.39,0.39,1.81,0.67C9.87,8.88,10.07,9,10.25,9 c0.37,0,0.8-0.41,0.95-0.61l1.42,1.42c-0.36,0.4-1.22,1.19-2.37,1.19c-0.79,0-1.37-0.38-1.79-0.66C8.13,10.12,7.94,10,7.75,10 C7.38,10,6.95,10.41,6.8,10.61z M7.75,15c0.19,0,0.38,0.12,0.71,0.34c0.42,0.28,1,0.66,1.79,0.66c1.16,0,2.01-0.79,2.37-1.19 l-1.42-1.42c-0.15,0.2-0.59,0.61-0.95,0.61c-0.18,0-0.38-0.12-0.69-0.33C9.14,13.39,8.55,13,7.75,13c-1.16,0-2.02,0.79-2.38,1.19 l1.42,1.42C6.95,15.41,7.38,15,7.75,15z M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M14,6H4v12h10V6z M19,16c0-0.55-0.45-1-1-1c-0.55,0-1,0.45-1,1c0,0.55,0.45,1,1,1C18.55,17,19,16.55,19,16z M19,12 c0-0.55-0.45-1-1-1c-0.55,0-1,0.45-1,1c0,0.55,0.45,1,1,1C18.55,13,19,12.55,19,12z M19,7h-2v2h2V7z'\nexport const matMilitaryTech = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,10.43V2H7v8.43c0,0.35,0.18,0.68,0.49,0.86l4.18,2.51l-0.99,2.34l-3.41,0.29l2.59,2.24L9.07,22L12,20.23L14.93,22 l-0.78-3.33l2.59-2.24l-3.41-0.29l-0.99-2.34l4.18-2.51C16.82,11.11,17,10.79,17,10.43z M13,12.23l-1,0.6l-1-0.6V3h2V12.23z'\nexport const matMinimize = 'M0 0h24v24H0V0z@@fill:none;&&M6 19h12v2H6z'\nexport const matMiscellaneousServices = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14.17,13.71l1.4-2.42c0.09-0.15,0.05-0.34-0.08-0.45l-1.48-1.16c0.03-0.22,0.05-0.45,0.05-0.68s-0.02-0.46-0.05-0.69 l1.48-1.16c0.13-0.11,0.17-0.3,0.08-0.45l-1.4-2.42c-0.09-0.15-0.27-0.21-0.43-0.15L12,4.83c-0.36-0.28-0.75-0.51-1.18-0.69 l-0.26-1.85C10.53,2.13,10.38,2,10.21,2h-2.8C7.24,2,7.09,2.13,7.06,2.3L6.8,4.15C6.38,4.33,5.98,4.56,5.62,4.84l-1.74-0.7 c-0.16-0.06-0.34,0-0.43,0.15l-1.4,2.42C1.96,6.86,2,7.05,2.13,7.16l1.48,1.16C3.58,8.54,3.56,8.77,3.56,9s0.02,0.46,0.05,0.69 l-1.48,1.16C2,10.96,1.96,11.15,2.05,11.3l1.4,2.42c0.09,0.15,0.27,0.21,0.43,0.15l1.74-0.7c0.36,0.28,0.75,0.51,1.18,0.69 l0.26,1.85C7.09,15.87,7.24,16,7.41,16h2.8c0.17,0,0.32-0.13,0.35-0.3l0.26-1.85c0.42-0.18,0.82-0.41,1.18-0.69l1.74,0.7 C13.9,13.92,14.08,13.86,14.17,13.71z M8.81,11c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2s2,0.9,2,2C10.81,10.1,9.91,11,8.81,11z&&M21.92,18.67l-0.96-0.74c0.02-0.14,0.04-0.29,0.04-0.44c0-0.15-0.01-0.3-0.04-0.44l0.95-0.74 c0.08-0.07,0.11-0.19,0.05-0.29l-0.9-1.55c-0.05-0.1-0.17-0.13-0.28-0.1l-1.11,0.45c-0.23-0.18-0.48-0.33-0.76-0.44l-0.17-1.18 C18.73,13.08,18.63,13,18.53,13h-1.79c-0.11,0-0.21,0.08-0.22,0.19l-0.17,1.18c-0.27,0.12-0.53,0.26-0.76,0.44l-1.11-0.45 c-0.1-0.04-0.22,0-0.28,0.1l-0.9,1.55c-0.05,0.1-0.04,0.22,0.05,0.29l0.95,0.74c-0.02,0.14-0.03,0.29-0.03,0.44 c0,0.15,0.01,0.3,0.03,0.44l-0.95,0.74c-0.08,0.07-0.11,0.19-0.05,0.29l0.9,1.55c0.05,0.1,0.17,0.13,0.28,0.1l1.11-0.45 c0.23,0.18,0.48,0.33,0.76,0.44l0.17,1.18c0.02,0.11,0.11,0.19,0.22,0.19h1.79c0.11,0,0.21-0.08,0.22-0.19l0.17-1.18 c0.27-0.12,0.53-0.26,0.75-0.44l1.12,0.45c0.1,0.04,0.22,0,0.28-0.1l0.9-1.55C22.03,18.86,22,18.74,21.92,18.67z M17.63,18.83 c-0.74,0-1.35-0.6-1.35-1.35s0.6-1.35,1.35-1.35s1.35,0.6,1.35,1.35S18.37,18.83,17.63,18.83z'\nexport const matMissedVideoCall = 'M0 0h24v24H0V0z@@fill:none;&&M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4zM10 15l-3.89-3.89v2.55H5V9.22h4.44v1.11H6.89l3.11 3.1 4.22-4.22.78.79-5 5z'\nexport const matMms = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM5 14l3.5-4.5 2.5 3.01L14.5 8l4.5 6H5z'\nexport const matMobileFriendly = 'M0 0h24v24H0z@@fill:none;&&M19 1H9c-1.1 0-2 .9-2 2v3h2V4h10v16H9v-2H7v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zM7.01 13.47l-2.55-2.55-1.27 1.27L7 16l7.19-7.19-1.27-1.27z'\nexport const matMobileOff = 'M0 0h24v24H0z@@fill:none;&&M2.76 2.49L1.49 3.76 5 7.27V21c0 1.1.9 2 2 2h10c1.02 0 1.85-.77 1.98-1.75l1.72 1.72 1.27-1.27L2.76 2.49zM7 19V9.27L16.73 19H7zM17 5v9.17l2 2V3c0-1.1-.9-2-2-2H7c-.85 0-1.58.54-1.87 1.3L7.83 5H17z'\nexport const matMobileScreenShare = 'M0 0h24v24H0V0z@@fill:none;&&M17 1.01L7 1c-1.1 0-1.99.9-1.99 2v18c0 1.1.89 2 1.99 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14zm-4.2-5.78v1.75l3.2-2.99L12.8 9v1.7c-3.11.43-4.35 2.56-4.8 4.7 1.11-1.5 2.58-2.18 4.8-2.18z'\nexport const matModeComment = 'M0 0h24v24H0z@@fill:none;&&M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18z'\nexport const matModelTraining = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.5,13.5c0,2-2.5,3.5-2.5,5h-2c0-1.5-2.5-3-2.5-5c0-1.93,1.57-3.5,3.5-3.5h0C13.93,10,15.5,11.57,15.5,13.5z M13,19.5h-2 V21h2V19.5z M19,13c0,1.68-0.59,3.21-1.58,4.42l1.42,1.42C20.18,17.27,21,15.23,21,13c0-2.74-1.23-5.19-3.16-6.84l-1.42,1.42 C17.99,8.86,19,10.82,19,13z M16,5l-4-4v3c0,0,0,0,0,0c-4.97,0-9,4.03-9,9c0,2.23,0.82,4.27,2.16,5.84l1.42-1.42 C5.59,16.21,5,14.68,5,13c0-3.86,3.14-7,7-7c0,0,0,0,0,0v3L16,5z'\nexport const matMonetizationOn = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16z'\nexport const matMoney = 'M0 0h24v24H0V0z@@fill:none;&&M5 8h2v8H5zm7 0H9c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zm-1 6h-1v-4h1v4zm7-6h-3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zm-1 6h-1v-4h1v4z&&M4 6h16v12H4z@@fill:none;&&M2 4v16h20V4H2zm2 14V6h16v12H4z'\nexport const matMoneyOff = 'M0 0h24v24H0z@@fill:none;&&M12.5 6.9c1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-.53.12-1.03.3-1.48.54l1.47 1.47c.41-.17.91-.27 1.51-.27zM5.33 4.06L4.06 5.33 7.5 8.77c0 2.08 1.56 3.21 3.91 3.91l3.51 3.51c-.34.48-1.05.91-2.42.91-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c.96-.18 1.82-.55 2.45-1.12l2.22 2.22 1.27-1.27L5.33 4.06z'\nexport const matMonochromePhotos = 'M0 0h24v24H0V0z@@fill:none;&&M-74 29h48v48h-48V29z@@fill:none;&&M20 5h-3.2L15 3H9L7.2 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 14h-8v-1c-2.8 0-5-2.2-5-5s2.2-5 5-5V7h8v12zm-3-6c0-2.8-2.2-5-5-5v1.8c1.8 0 3.2 1.4 3.2 3.2s-1.4 3.2-3.2 3.2V18c2.8 0 5-2.2 5-5zm-8.2 0c0 1.8 1.4 3.2 3.2 3.2V9.8c-1.8 0-3.2 1.4-3.2 3.2z'\nexport const matMood = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z'\nexport const matMoodBad = 'M0 0h24v24H0V0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 3c-2.33 0-4.31 1.46-5.11 3.5h10.22c-.8-2.04-2.78-3.5-5.11-3.5z'\nexport const matMoped = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,7c0-1.1-0.9-2-2-2h-3v2h3v2.65L13.52,14H10V9H6c-2.21,0-4,1.79-4,4v3h2c0,1.66,1.34,3,3,3s3-1.34,3-3h4.48L19,10.35V7 z M7,17c-0.55,0-1-0.45-1-1h2C8,16.55,7.55,17,7,17z&&M5 6 H10 V8 H5 V6 z&&M19,13c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S20.66,13,19,13z M19,17c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1 S19.55,17,19,17z'\nexport const matMore = 'M0 0h24v24H0z@@fill:none;&&M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.97.89 1.66.89H22c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 13.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matMoreHoriz = 'M0 0h24v24H0z@@fill:none;&&M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\nexport const matMoreTime = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M10 8 L10 14 L14.7 16.9 L15.5 15.7 L11.5 13.3 L11.5 8z&&M17.92,12c0.05,0.33,0.08,0.66,0.08,1c0,3.9-3.1,7-7,7s-7-3.1-7-7c0-3.9,3.1-7,7-7c0.7,0,1.37,0.1,2,0.29V4.23 C12.36,4.08,11.69,4,11,4c-5,0-9,4-9,9s4,9,9,9s9-4,9-9c0-0.34-0.02-0.67-0.06-1H17.92z&&M20 5 L20 2 L18 2 L18 5 L15 5 L15 7 L18 7 L18 10 L20 10 L20 7 L23 7 L23 5z'\nexport const matMoreVert = 'M0 0h24v24H0z@@fill:none;&&M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\nexport const matMotionPhotosOn = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M10,16.5v-9l6,4.5L10,16.5z M22,12c0,5.52-4.48,10-10,10S2,17.52,2,12c0-1.19,0.22-2.32,0.6-3.38L4.48,9.3 C4.17,10.14,4,11.05,4,12c0,4.41,3.59,8,8,8s8-3.59,8-8s-3.59-8-8-8c-0.95,0-1.85,0.17-2.69,0.48L8.63,2.59C9.69,2.22,10.82,2,12,2 C17.52,2,22,6.48,22,12z M5.5,4C4.67,4,4,4.67,4,5.5S4.67,7,5.5,7S7,6.33,7,5.5S6.33,4,5.5,4z'\nexport const matMotionPhotosPause = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,12c0,5.52-4.48,10-10,10S2,17.52,2,12c0-1.19,0.22-2.32,0.6-3.38L4.48,9.3C4.17,10.14,4,11.05,4,12c0,4.41,3.59,8,8,8 s8-3.59,8-8s-3.59-8-8-8c-0.95,0-1.85,0.17-2.69,0.48L8.63,2.59C9.69,2.22,10.82,2,12,2C17.52,2,22,6.48,22,12z M5.5,4 C4.67,4,4,4.67,4,5.5S4.67,7,5.5,7S7,6.33,7,5.5S6.33,4,5.5,4z M18,12c0,3.31-2.69,6-6,6s-6-2.69-6-6s2.69-6,6-6S18,8.69,18,12z M11,9H9v6h2V9z M15,9h-2v6h2V9z'\nexport const matMotionPhotosPaused = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,12c0,5.52-4.48,10-10,10S2,17.52,2,12c0-1.19,0.22-2.32,0.6-3.38L4.48,9.3C4.17,10.14,4,11.05,4,12c0,4.41,3.59,8,8,8 s8-3.59,8-8s-3.59-8-8-8c-0.95,0-1.85,0.17-2.69,0.48L8.63,2.59C9.69,2.22,10.82,2,12,2C17.52,2,22,6.48,22,12z M5.5,4 C4.67,4,4,4.67,4,5.5S4.67,7,5.5,7S7,6.33,7,5.5S6.33,4,5.5,4z M11,16V8H9v8H11z M15,16V8h-2v8H15z'\nexport const matMouse = 'M0 0h24v24H0z@@fill:none;&&M13 1.07V9h7c0-4.08-3.05-7.44-7-7.93zM4 15c0 4.42 3.58 8 8 8s8-3.58 8-8v-4H4v4zm7-13.93C7.05 1.56 4 4.92 4 9h7V1.07z'\nexport const matMoveToInbox = 'M0 0h24v24H0V0z@@fill:none;&&M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19v10zm-3-5h-2V7h-4v3H8l4 4 4-4z'\nexport const matMovie = 'M0 0h24v24H0z@@fill:none;&&M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z'\nexport const matMovieCreation = 'M0 0h24v24H0z@@fill:none;&&M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z'\nexport const matMovieFilter = 'M0 0h24v24H0z@@fill:none;&&M18 4l2 3h-3l-2-3h-2l2 3h-3l-2-3H8l2 3H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4zm-6.75 11.25L10 18l-1.25-2.75L6 14l2.75-1.25L10 10l1.25 2.75L14 14l-2.75 1.25zm5.69-3.31L16 14l-.94-2.06L13 11l2.06-.94L16 8l.94 2.06L19 11l-2.06.94z'\nexport const matMultilineChart = 'M0 0h24v24H0z@@fill:none;&&M22 6.92l-1.41-1.41-2.85 3.21C15.68 6.4 12.83 5 9.61 5 6.72 5 4.07 6.16 2 8l1.42 1.42C5.12 7.93 7.27 7 9.61 7c2.74 0 5.09 1.26 6.77 3.24l-2.88 3.24-4-4L2 16.99l1.5 1.5 6-6.01 4 4 4.05-4.55c.75 1.35 1.25 2.9 1.44 4.55H21c-.22-2.3-.95-4.39-2.04-6.14L22 6.92z'\nexport const matMultipleStop = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,4l4,4l-4,4V9h-4V7h4V4z M10,7C9.45,7,9,7.45,9,8s0.45,1,1,1s1-0.45,1-1S10.55,7,10,7z M6,7C5.45,7,5,7.45,5,8 s0.45,1,1,1s1-0.45,1-1S6.55,7,6,7z M7,17h4v-2H7v-3l-4,4l4,4V17z M14,17c0.55,0,1-0.45,1-1c0-0.55-0.45-1-1-1s-1,0.45-1,1 C13,16.55,13.45,17,14,17z M18,17c0.55,0,1-0.45,1-1c0-0.55-0.45-1-1-1s-1,0.45-1,1C17,16.55,17.45,17,18,17z'\nexport const matMuseum = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,11V9L12,2L2,9v2h2v9H2v2h20v-2h-2v-9H22z M16,18h-2v-4l-2,3l-2-3v4H8v-7h2l2,3l2-3h2V18z'\nexport const matMusicNote = 'M0 0h24v24H0z@@fill:none;&&M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3h-6z'\nexport const matMusicOff = 'M0 0h24v24H0z@@fill:none;&&M4.27 3L3 4.27l9 9v.28c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4v-1.73L19.73 21 21 19.73 4.27 3zM14 7h4V3h-6v5.18l2 2z'\nexport const matMusicVideo = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z'\nexport const matMyLocation = 'M0 0h24v24H0z@@fill:none;&&M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matNat = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.82,13H11v-2H6.82C6.4,9.84,5.3,9,4,9c-1.66,0-3,1.34-3,3s1.34,3,3,3C5.3,15,6.4,14.16,6.82,13z M4,13 c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1C5,12.55,4.55,13,4,13z&&M23,12l-4-3v2h-4.05C14.45,5.95,10.19,2,5,2v2c4.42,0,8,3.58,8,8s-3.58,8-8,8v2c5.19,0,9.45-3.95,9.95-9H19v2L23,12z'\nexport const matNature = 'M0 0h24v24H0z@@fill:none;&&M13 16.12c3.47-.41 6.17-3.36 6.17-6.95 0-3.87-3.13-7-7-7s-7 3.13-7 7c0 3.47 2.52 6.34 5.83 6.89V20H5v2h14v-2h-6v-3.88z'\nexport const matNaturePeople = 'M0 0h24v24H0z@@fill:none;&&M22.17 9.17c0-3.87-3.13-7-7-7s-7 3.13-7 7c0 3.47 2.52 6.34 5.83 6.89V20H6v-3h1v-4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v4h1v5h16v-2h-3v-3.88c3.47-.41 6.17-3.36 6.17-6.95zM4.5 11c.83 0 1.5-.67 1.5-1.5S5.33 8 4.5 8 3 8.67 3 9.5 3.67 11 4.5 11z'\nexport const matNavigateBefore = 'M0 0h24v24H0z@@fill:none;&&M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z'\nexport const matNavigateNext = 'M0 0h24v24H0z@@fill:none;&&M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'\nexport const matNavigation = 'M0 0h24v24H0z@@fill:none;&&M12 2L4.5 20.29l.71.71L12 18l6.79 3 .71-.71z'\nexport const matNearMe = 'M0 0h24v24H0V0z@@fill:none;&&M21 3L3 10.53v.98l6.84 2.65L12.48 21h.98L21 3z'\nexport const matNearMeDisabled = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,6.34L21,3l-3.34,9L12,6.34z M22.61,19.78L4.22,1.39L2.81,2.81l5.07,5.07L3,9.69v1.41l7.07,2.83L12.9,21h1.41l1.81-4.88 l5.07,5.07L22.61,19.78z'\nexport const matNetworkCheck = 'M0 0h24v24H0z@@fill:none;&&M15.9 5c-.17 0-.32.09-.41.23l-.07.15-5.18 11.65c-.16.29-.26.61-.26.96 0 1.11.9 2.01 2.01 2.01.96 0 1.77-.68 1.96-1.59l.01-.03L16.4 5.5c0-.28-.22-.5-.5-.5zM1 9l2 2c2.88-2.88 6.79-4.08 10.53-3.62l1.19-2.68C9.89 3.84 4.74 5.27 1 9zm20 2l2-2c-1.64-1.64-3.55-2.82-5.59-3.57l-.53 2.82c1.5.62 2.9 1.53 4.12 2.75zm-4 4l2-2c-.8-.8-1.7-1.42-2.66-1.89l-.55 2.92c.42.27.83.59 1.21.97zM5 13l2 2c1.13-1.13 2.56-1.79 4.03-2l1.28-2.88c-2.63-.08-5.3.87-7.31 2.88z'\nexport const matNetworkLocked = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M19.5 10c.17 0 .33.03.5.05V1L1 20h13v-3c0-.89.39-1.68 1-2.23v-.27c0-2.48 2.02-4.5 4.5-4.5zm2.5 6v-1.5c0-1.38-1.12-2.5-2.5-2.5S17 13.12 17 14.5V16c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h5c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1zm-1 0h-3v-1.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V16z'\nexport const matNewReleases = 'M0 0h24v24H0z@@fill:none;&&M23 12l-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68L23 12zm-10 5h-2v-2h2v2zm0-4h-2V7h2v6z'\nexport const matNextPlan = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M18,13.97h-5l2.26-2.26 c-0.91-1.06-2.25-1.74-3.76-1.74c-2.37,0-4.35,1.66-4.86,3.88l-0.96-0.32c0.64-2.62,3-4.56,5.82-4.56c1.78,0,3.37,0.79,4.47,2.03 L18,8.97V13.97z'\nexport const matNextWeek = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,7h-4V5c0-0.55-0.22-1.05-0.59-1.41C15.05,3.22,14.55,3,14,3h-4C8.9,3,8,3.9,8,5v2H4C2.9,7,2,7.9,2,9v11 c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V9C22,7.9,21.1,7,20,7z M10,5h4v2h-4V5z M11,18.5l-1-1l3-3l-3-3l1-1l4,4L11,18.5z'\nexport const matNfc = 'M0 0h24v24H0z@@fill:none;&&M4 20h16V4H4v16z@@fill:none;&&M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 18H4V4h16v16zM18 6h-5c-1.1 0-2 .9-2 2v2.28c-.6.35-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0-.74-.4-1.38-1-1.72V8h3v8H8V8h2V6H6v12h12V6z'\nexport const matNightShelter = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,3L4,9v12h16V9L12,3z M9.75,12.5c0.69,0,1.25,0.56,1.25,1.25S10.44,15,9.75,15S8.5,14.44,8.5,13.75S9.06,12.5,9.75,12.5z M17,18h-1v-1.5H8V18H7v-7h1v4.5h3.5V12H15c1.1,0,2,0.9,2,2V18z'\nexport const matNightsStay = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.1,12.08C8.77,7.57,10.6,3.6,11.63,2.01C6.27,2.2,1.98,6.59,1.98,12c0,0.14,0.02,0.28,0.02,0.42 C2.62,12.15,3.29,12,4,12c1.66,0,3.18,0.83,4.1,2.15C9.77,14.63,11,16.17,11,18c0,1.52-0.87,2.83-2.12,3.51 c0.98,0.32,2.03,0.5,3.11,0.5c3.5,0,6.58-1.8,8.37-4.52C18,17.72,13.38,16.52,11.1,12.08z&&M7,16l-0.18,0C6.4,14.84,5.3,14,4,14c-1.66,0-3,1.34-3,3s1.34,3,3,3c0.62,0,2.49,0,3,0c1.1,0,2-0.9,2-2 C9,16.9,8.1,16,7,16z'\nexport const matNoBackpack = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.19,21.19L2.81,2.81L1.39,4.22l2.76,2.76C4.06,7.31,4,7.64,4,8v12c0,1.1,0.9,2,2,2h12c0.34,0,0.65-0.09,0.93-0.24 l0.85,0.85L21.19,21.19z M6,14v-2h3.17l2,2H6z M14.83,12L6.98,4.15c0.01,0,0.01-0.01,0.02-0.01V2h3v2h4V2h3v2.14 c1.72,0.45,3,2,3,3.86v9.17l-2-2V12H14.83z'\nexport const matNoCell = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M8.83,6l-3.7-3.7C5.42,1.55,6.15,1,7,1l10,0.01c1.1,0,2,0.89,2,1.99v13.17l-2-2V6H8.83z M19.78,22.61l-0.91-0.91 C18.58,22.45,17.85,23,17,23H7c-1.1,0-2-0.9-2-2V7.83L1.39,4.22l1.41-1.41l18.38,18.38L19.78,22.61z M15.17,18L7,9.83V18H15.17z'\nexport const matNoDrinks = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M5.83,3H21v2l-6.2,6.97L9.83,7h6.74l1.78-2H7.83L5.83,3z M19.78,22.61L18,20.83V21H6v-2h5v-5l-1.37-1.54L1.39,4.22 l1.41-1.41L3,3l18.19,18.19L19.78,22.61z M16.17,19L13,15.83V19H16.17z'\nexport const matNoEncryption = 'M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M21 21.78L4.22 5 3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12c.23 0 .45-.05.66-.12L19.78 23 21 21.78zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H9.66L20 18.34V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.56 0-4.64 1.93-4.94 4.4L8.9 7.24V6z'\nexport const matNoFlash = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13.93,13.93L2.45,2.45L1.04,3.87l5.3,5.3L6.14,9.4H3.6C2.72,9.4,2,10.12,2,11v9.4C2,21.28,2.72,22,3.6,22h12.8 c0.75,0,1.38-0.52,1.55-1.22l2.18,2.18l1.41-1.41L18,18L13.93,13.93z M10,20c-2.21,0-4-1.79-4-4c0-1.95,1.4-3.57,3.25-3.92 l1.57,1.57c-0.26-0.09-0.53-0.15-0.82-0.15c-1.38,0-2.5,1.12-2.5,2.5c0,1.38,1.12,2.5,2.5,2.5c1.38,0,2.5-1.12,2.5-2.5 c0-0.29-0.06-0.56-0.15-0.82l1.57,1.57C13.57,18.6,11.95,20,10,20z M18,15.17L10.83,8h1.75l1.28,1.4h2.54c0.88,0,1.6,0.72,1.6,1.6 V15.17z M20.4,5.6H22L19,11V7h-1V2h4L20.4,5.6z'\nexport const matNoFood = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.35,8.52L11,5h5V1h2v4h5l-1.38,13.79L11.35,8.52z M1,21v1c0,0.55,0.45,1,1,1h13c0.55,0,1-0.45,1-1v-1H1z M21.9,21.9 L2.1,2.1L0.69,3.51l5.7,5.7C3.28,9.87,1,11.99,1,15h11.17l2,2H1v2h15v-0.17l4.49,4.49L21.9,21.9z'\nexport const matNoLuggage = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12.75,9v0.92l1.75,1.75V9H16v4.17l3,3V8c0-1.1-0.9-2-2-2h-2V3c0-0.55-0.45-1-1-1h-4C9.45,2,9,2.45,9,3v3H8.83l3,3H12.75z M10.5,3.5h3V6h-3V3.5z M21.19,21.19L2.81,2.81L1.39,4.22l3.63,3.63C5.02,7.9,5,7.95,5,8v11c0,1.1,0.9,2,2,2c0,0.55,0.45,1,1,1 c0.55,0,1-0.45,1-1h6c0,0.55,0.45,1,1,1s1-0.45,1-1c0.34,0,0.65-0.09,0.93-0.24l1.85,1.85L21.19,21.19z M8,18v-7.17l1.5,1.5V18H8z M12.75,18h-1.5v-3.92l1.5,1.5V18z'\nexport const matNoMeals = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,14V6c0-1.76,2.24-4,5-4v16.17l-2-2V14H16z M20.49,23.31L10.02,12.85C9.69,12.94,9.36,13,9,13v9H7v-9c-2.21,0-4-1.79-4-4 V5.83L0.69,3.51L2.1,2.1l19.8,19.8L20.49,23.31z M6.17,9L5,7.83V9H6.17z M9,2H7v2.17l2,2V2z M13,9V2h-2v6.17l1.85,1.85 C12.94,9.69,13,9.36,13,9z'\nexport const matNoMeetingRoom = 'M11 11h-1v2h2v-1l9.73 9.73L20.46 23 14 16.54V21H3v-2h2V7.54l-4-4 1.27-1.27L11 11zm3 .49L5.51 3H14v1h5v12.49l-2-2V6h-3v5.49z'\nexport const matNoPhotography = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M10.94,8.12L7.48,4.66L9,3h6l1.83,2H20c1.1,0,2,0.9,2,2v12c0,0.05-0.01,0.1-0.02,0.16l-5.1-5.1C16.96,13.71,17,13.36,17,13 c0-2.76-2.24-5-5-5C11.64,8,11.29,8.04,10.94,8.12z M20.49,23.31L18.17,21H4c-1.1,0-2-0.9-2-2V7c0-0.59,0.27-1.12,0.68-1.49l-2-2 L2.1,2.1l19.8,19.8L20.49,23.31z M14.49,17.32l-1.5-1.5C12.67,15.92,12.35,16,12,16c-1.66,0-3-1.34-3-3c0-0.35,0.08-0.67,0.19-0.98 l-1.5-1.5C7.25,11.24,7,12.09,7,13c0,2.76,2.24,5,5,5C12.91,18,13.76,17.75,14.49,17.32z'\nexport const matNorth = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M5,9l1.41,1.41L11,5.83V22H13V5.83l4.59,4.59L19,9l-7-7L5,9z'\nexport const matNorthEast = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,5v2h6.59L4,18.59L5.41,20L17,8.41V15h2V5H9z'\nexport const matNorthWest = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M5,15h2V8.41L18.59,20L20,18.59L8.41,7H15V5H5V15z'\nexport const matNoSim = 'M0 0h24v24H0z@@fill:none;&&M18.99 5c0-1.1-.89-2-1.99-2h-7L7.66 5.34 19 16.68 18.99 5zM3.65 3.88L2.38 5.15 5 7.77V19c0 1.1.9 2 2 2h10.01c.35 0 .67-.1.96-.26l1.88 1.88 1.27-1.27L3.65 3.88z'\nexport const matNoStroller = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6,18c1.1,0,2,0.9,2,2s-0.9,2-2,2s-2-0.9-2-2S4.9,18,6,18z M18.65,3c-1.66,0-2.54,1.27-3.18,2.03l-3.5,4.11L17,14.17v-7.9 C17.58,5.59,17.97,5,18.65,5C19.42,5,20,5.66,20,6.48V7h2V6.48C22,4.56,20.52,3,18.65,3z M10.67,10.67L2.81,2.81L1.39,4.22 l7.97,7.97L6.7,15.31c-0.55,0.65-0.09,1.65,0.76,1.65h6.66l1.17,1.17C14.54,18.42,14,19.14,14,20c0,1.1,0.9,2,2,2 c0.86,0,1.58-0.54,1.87-1.3l1.91,1.91l1.41-1.41l-4.8-4.8L10.67,10.67z M13.47,5.03c0.27-0.32,0.58-0.72,0.98-1.09 c-2.46-1.19-5.32-1.22-7.81-0.13l4.25,4.25L13.47,5.03z'\nexport const matNotAccessible = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,11.05l-3.42-3.42c0.32-0.34,0.74-0.57,1.23-0.61c0.48-0.04,0.84,0.07,1.2,0.26c0.19,0.1,0.39,0.22,0.63,0.46l1.29,1.43 c0.98,1.08,2.53,1.85,4.07,1.83v2C17.25,12.99,15.29,12.12,14,11.05z M12,6c1.1,0,2-0.9,2-2s-0.9-2-2-2c-1.1,0-2,0.9-2,2 S10.9,6,12,6z M2.81,2.81L1.39,4.22L10,12.83V15c0,1.1,0.9,2,2,2h2.17l5.61,5.61l1.41-1.41L2.81,2.81z M10,20c-1.66,0-3-1.34-3-3 c0-1.31,0.84-2.41,2-2.83V12.1c-2.28,0.46-4,2.48-4,4.9c0,2.76,2.24,5,5,5c2.42,0,4.44-1.72,4.9-4h-2.07 C12.42,19.16,11.31,20,10,20z'\nexport const matNote = 'M0 0h24v24H0V0z@@fill:none;&&M22 10l-6-6H4c-1.1 0-2 .9-2 2v12.01c0 1.1.9 1.99 2 1.99l16-.01c1.1 0 2-.89 2-1.99v-8zm-7-4.5l5.5 5.5H15V5.5z'\nexport const matNoteAdd = 'M0 0h24v24H0z@@fill:none;&&M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z'\nexport const matNotes = 'M0 0h24v24H0V0z@@fill:none;&&M3 18h12v-2H3v2zM3 6v2h18V6H3zm0 7h18v-2H3v2z'\nexport const matNotificationImportant = 'M0 0h24v24H0V0z@@fill:none;&&M18 16v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-5 0h-2v-2h2v2zm0-4h-2V8h2v4zm-1 10c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2z'\nexport const matNotifications = 'M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z'\nexport const matNotificationsActive = 'M0 0h24v24H0z@@fill:none;&&M7.58 4.08L6.15 2.65C3.75 4.48 2.17 7.3 2.03 10.5h2c.15-2.65 1.51-4.97 3.55-6.42zm12.39 6.42h2c-.15-3.2-1.73-6.02-4.12-7.85l-1.42 1.43c2.02 1.45 3.39 3.77 3.54 6.42zM18 11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2v-5zm-6 11c.14 0 .27-.01.4-.04.65-.14 1.18-.58 1.44-1.18.1-.24.15-.5.15-.78h-4c.01 1.1.9 2 2.01 2z'\nexport const matNotificationsNone = 'M0 0h24v24H0z@@fill:none;&&M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-2 1H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6z'\nexport const matNotificationsOff = 'M0 0h24v24H0z@@fill:none;&&M20 18.69L7.84 6.14 5.27 3.49 4 4.76l2.8 2.8v.01c-.52.99-.8 2.16-.8 3.42v5l-2 2v1h13.73l2 2L21 19.72l-1-1.03zM12 22c1.11 0 2-.89 2-2h-4c0 1.11.89 2 2 2zm6-7.32V11c0-3.08-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68c-.15.03-.29.08-.42.12-.1.03-.2.07-.3.11h-.01c-.01 0-.01 0-.02.01-.23.09-.46.2-.68.31 0 0-.01 0-.01.01L18 14.68z'\nexport const matNotificationsPaused = 'M0 0h24v24H0z@@fill:none;&&M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.93 6 11v5l-2 2v1h16v-1l-2-2zm-3.5-6.2l-2.8 3.4h2.8V15h-5v-1.8l2.8-3.4H9.5V8h5v1.8z'\nexport const matNotInterested = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8 0-1.85.63-3.55 1.69-4.9L16.9 18.31C15.55 19.37 13.85 20 12 20zm6.31-3.1L7.1 5.69C8.45 4.63 10.15 4 12 4c4.42 0 8 3.58 8 8 0 1.85-.63 3.55-1.69 4.9z'\nexport const matNotListedLocation = 'M0 0h24v24H0V0z@@fill:none;&&M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm.88 13.75h-1.75V14h1.75v1.75zm0-2.87h-1.75c0-2.84 2.62-2.62 2.62-4.38 0-.96-.79-1.75-1.75-1.75s-1.75.79-1.75 1.75H8.5C8.5 6.57 10.07 5 12 5s3.5 1.57 3.5 3.5c0 2.19-2.62 2.41-2.62 4.38z'\nexport const matNoTransfer = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.19,21.19L2.81,2.81L1.39,4.22L4,6.83V16c0,0.88,0.39,1.67,1,2.22V20c0,0.55,0.45,1,1,1h1c0.55,0,1-0.45,1-1v-1h8v1 c0,0.55,0.45,1,1,1h1c0.05,0,0.09-0.02,0.14-0.03l1.64,1.64L21.19,21.19z M7.5,17C6.67,17,6,16.33,6,15.5C6,14.67,6.67,14,7.5,14 S9,14.67,9,15.5C9,16.33,8.33,17,7.5,17z M6,11V8.83L8.17,11H6z M8.83,6L5.78,2.95C7.24,2.16,9.48,2,12,2c4.42,0,8,0.5,8,4v10 c0,0.35-0.08,0.67-0.19,0.98L13.83,11H18V6H8.83z'\nexport const matNotStarted = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M11,16H9V8h2V16z M12,16V8l5,4L12,16z'\nexport const matOfflineBolt = 'M0 0h24v24H0z@@fill:none;&&M12 2.02c-5.51 0-9.98 4.47-9.98 9.98s4.47 9.98 9.98 9.98 9.98-4.47 9.98-9.98S17.51 2.02 12 2.02zM11.48 20v-6.26H8L13 4v6.26h3.35L11.48 20z'\nexport const matOfflinePin = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10s10-4.5,10-10S17.5,2,12,2z M17,18H7v-2h10V18z M10.3,14L7,10.7l1.4-1.4l1.9,1.9 l5.3-5.3L17,7.3L10.3,14z'\nexport const matOndemandVideo = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.11 0-2 .89-2 2v12c0 1.1.89 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.11-.9-2-2-2zm0 14H3V5h18v12zm-5-6l-7 4V7z'\nexport const matOnlinePrediction = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.5,11.5c0,2-2.5,3.5-2.5,5h-2c0-1.5-2.5-3-2.5-5C8.5,9.57,10.07,8,12,8S15.5,9.57,15.5,11.5z M13,17.5h-2V19h2V17.5z M22,12c0-2.76-1.12-5.26-2.93-7.07l-1.06,1.06C19.55,7.53,20.5,9.66,20.5,12c0,2.34-0.95,4.47-2.49,6.01l1.06,1.06 C20.88,17.26,22,14.76,22,12z M3.5,12c0-2.34,0.95-4.47,2.49-6.01L4.93,4.93C3.12,6.74,2,9.24,2,12c0,2.76,1.12,5.26,2.93,7.07 l1.06-1.06C4.45,16.47,3.5,14.34,3.5,12z M17.5,12c0,1.52-0.62,2.89-1.61,3.89l1.06,1.06C18.22,15.68,19,13.93,19,12 c0-1.93-0.78-3.68-2.05-4.95l-1.06,1.06C16.88,9.11,17.5,10.48,17.5,12z M7.05,16.95l1.06-1.06c-1-1-1.61-2.37-1.61-3.89 c0-1.52,0.62-2.89,1.61-3.89L7.05,7.05C5.78,8.32,5,10.07,5,12C5,13.93,5.78,15.68,7.05,16.95z'\nexport const matOpacity = 'M24 0H0v24h24V0zm0 0H0v24h24V0zM0 24h24V0H0v24z@@fill:none;&&M17.66 8L12 2.35 6.34 8C4.78 9.56 4 11.64 4 13.64s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20 15.64 20 13.64 19.22 9.56 17.66 8zM6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.99 12 18 14H6z'\nexport const matOpenInBrowser = 'M0 0h24v24H0z@@fill:none;&&M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm-7 6l-4 4h3v6h2v-6h3l-4-4z'\nexport const matOpenInFull = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21 11 L21 3 L13 3 L16.29 6.29 L6.29 16.29 L3 13 L3 21 L11 21 L7.71 17.71 L17.71 7.71z'\nexport const matOpenInNew = 'M0 0h24v24H0z@@fill:none;&&M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'\nexport const matOpenWith = 'M0 0h24v24H0z@@fill:none;&&M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z'\nexport const matOutbond = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M13.88,11.54l-4.96,4.96l-1.41-1.41 l4.96-4.96L10.34,8l5.65,0.01L16,13.66L13.88,11.54z'\nexport const matOutdoorGrill = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,22c1.66,0,3-1.34,3-3s-1.34-3-3-3c-1.3,0-2.4,0.84-2.82,2H9.14l1.99-3.06C11.42,14.98,11.71,15,12,15 s0.58-0.02,0.87-0.06l1.02,1.57c0.42-0.53,0.96-0.95,1.6-1.21l-0.6-0.93C17.31,13.27,19,10.84,19,8H5c0,2.84,1.69,5.27,4.12,6.37 l-3.95,6.08c-0.3,0.46-0.17,1.08,0.29,1.38h0c0.46,0.3,1.08,0.17,1.38-0.29l1-1.55h6.34C14.6,21.16,15.7,22,17,22z M17,18 c0.55,0,1,0.45,1,1c0,0.55-0.45,1-1,1s-1-0.45-1-1C16,18.45,16.45,18,17,18z&&M9.41,7h1c0.15-1.15,0.23-1.64-0.89-2.96C9.1,3.54,8.84,3.27,9.06,2H8.07C7.86,3.11,8.1,4.05,8.96,4.96 C9.18,5.2,9.75,5.63,9.41,7z&&M11.89,7h1c0.15-1.15,0.23-1.64-0.89-2.96c-0.42-0.5-0.68-0.78-0.46-2.04h-0.99c-0.21,1.11,0.03,2.05,0.89,2.96 C11.67,5.2,12.24,5.63,11.89,7z&&M14.41,7h1c0.15-1.15,0.23-1.64-0.89-2.96C14.1,3.54,13.84,3.27,14.06,2h-0.99c-0.21,1.11,0.03,2.05,0.89,2.96 C14.18,5.2,14.75,5.63,14.41,7z'\nexport const matOutlet = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M9,12c-0.55,0-1-0.45-1-1V8 c0-0.55,0.45-1,1-1s1,0.45,1,1v3C10,11.55,9.55,12,9,12z M14,18h-4v-2c0-1.1,0.9-2,2-2c1.1,0,2,0.9,2,2V18z M16,11 c0,0.55-0.45,1-1,1c-0.55,0-1-0.45-1-1V8c0-0.55,0.45-1,1-1c0.55,0,1,0.45,1,1V11z'\nexport const matOutlinedFlag = 'M0 0h24v24H0z@@fill:none;&&M14 6l-1-2H5v17h2v-7h5l1 2h7V6h-6zm4 8h-4l-1-2H7V6h5l1 2h5v6z'\nexport const matPages = 'M0 0h24v24H0z@@fill:none;&&M3 5v6h5L7 7l4 1V3H5c-1.1 0-2 .9-2 2zm5 8H3v6c0 1.1.9 2 2 2h6v-5l-4 1 1-4zm9 4l-4-1v5h6c1.1 0 2-.9 2-2v-6h-5l1 4zm2-14h-6v5l4-1-1 4h5V5c0-1.1-.9-2-2-2z'\nexport const matPageview = 'M0 0h24v24H0z@@fill:none;&&M11.5 9C10.12 9 9 10.12 9 11.5s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5S12.88 9 11.5 9zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3.21 14.21l-2.91-2.91c-.69.44-1.51.7-2.39.7C9.01 16 7 13.99 7 11.5S9.01 7 11.5 7 16 9.01 16 11.5c0 .88-.26 1.69-.7 2.39l2.91 2.9-1.42 1.42z'\nexport const matPalette = 'M0 0h24v24H0z@@fill:none;&&M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matPanorama = 'M0 0h24v24H0z@@fill:none;&&M23 18V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zM8.5 12.5l2.5 3.01L14.5 11l4.5 6H5l3.5-4.5z'\nexport const matPanoramaFishEye = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matPanoramaHorizontal = 'M0 0h24v24H0z@@fill:none;&&M20 6.54v10.91c-2.6-.77-5.28-1.16-8-1.16-2.72 0-5.4.39-8 1.16V6.54c2.6.77 5.28 1.16 8 1.16 2.72.01 5.4-.38 8-1.16M21.43 4c-.1 0-.2.02-.31.06C18.18 5.16 15.09 5.7 12 5.7c-3.09 0-6.18-.55-9.12-1.64-.11-.04-.22-.06-.31-.06-.34 0-.57.23-.57.63v14.75c0 .39.23.62.57.62.1 0 .2-.02.31-.06 2.94-1.1 6.03-1.64 9.12-1.64 3.09 0 6.18.55 9.12 1.64.11.04.21.06.31.06.33 0 .57-.23.57-.63V4.63c0-.4-.24-.63-.57-.63z'\nexport const matPanoramaVertical = 'M0 0h24v24H0z@@fill:none;&&M19.94 21.12c-1.1-2.94-1.64-6.03-1.64-9.12 0-3.09.55-6.18 1.64-9.12.04-.11.06-.22.06-.31 0-.34-.23-.57-.63-.57H4.63c-.4 0-.63.23-.63.57 0 .1.02.2.06.31C5.16 5.82 5.71 8.91 5.71 12c0 3.09-.55 6.18-1.64 9.12-.05.11-.07.22-.07.31 0 .33.23.57.63.57h14.75c.39 0 .63-.24.63-.57-.01-.1-.03-.2-.07-.31zM6.54 20c.77-2.6 1.16-5.28 1.16-8 0-2.72-.39-5.4-1.16-8h10.91c-.77 2.6-1.16 5.28-1.16 8 0 2.72.39 5.4 1.16 8H6.54z'\nexport const matPanoramaWideAngle = 'M0 0h24v24H0z@@fill:none;&&M12 6c2.45 0 4.71.2 7.29.64.47 1.78.71 3.58.71 5.36 0 1.78-.24 3.58-.71 5.36-2.58.44-4.84.64-7.29.64s-4.71-.2-7.29-.64C4.24 15.58 4 13.78 4 12c0-1.78.24-3.58.71-5.36C7.29 6.2 9.55 6 12 6m0-2c-2.73 0-5.22.24-7.95.72l-.93.16-.25.9C2.29 7.85 2 9.93 2 12s.29 4.15.87 6.22l.25.89.93.16c2.73.49 5.22.73 7.95.73s5.22-.24 7.95-.72l.93-.16.25-.89c.58-2.08.87-4.16.87-6.23s-.29-4.15-.87-6.22l-.25-.89-.93-.16C17.22 4.24 14.73 4 12 4z'\nexport const matPanTool = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M23,5.5V20c0,2.2-1.8,4-4,4h-7.3c-1.08,0-2.1-0.43-2.85-1.19L1,14.83c0,0,1.26-1.23,1.3-1.25 c0.22-0.19,0.49-0.29,0.79-0.29c0.22,0,0.42,0.06,0.6,0.16C3.73,13.46,8,15.91,8,15.91V4c0-0.83,0.67-1.5,1.5-1.5S11,3.17,11,4v7 h1V1.5C12,0.67,12.67,0,13.5,0S15,0.67,15,1.5V11h1V2.5C16,1.67,16.67,1,17.5,1S19,1.67,19,2.5V11h1V5.5C20,4.67,20.67,4,21.5,4 S23,4.67,23,5.5z'\nexport const matPartyMode = 'M0 0h24v24H0z@@fill:none;&&M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 3c1.63 0 3.06.79 3.98 2H12c-1.66 0-3 1.34-3 3 0 .35.07.69.18 1H7.1c-.06-.32-.1-.66-.1-1 0-2.76 2.24-5 5-5zm0 10c-1.63 0-3.06-.79-3.98-2H12c1.66 0 3-1.34 3-3 0-.35-.07-.69-.18-1h2.08c.07.32.1.66.1 1 0 2.76-2.24 5-5 5z'\nexport const matPause = 'M0 0h24v24H0z@@fill:none;&&M6 19h4V5H6v14zm8-14v14h4V5h-4z'\nexport const matPauseCircleFilled = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 14H9V8h2v8zm4 0h-2V8h2v8z'\nexport const matPauseCircleOutline = 'M0 0h24v24H0z@@fill:none;&&M9 16h2V8H9v8zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm1-4h2V8h-2v8z'\nexport const matPausePresentation = 'M0 0h24v24H0z@@fill:none;&&M21 19.1H3V5h18v14.1zM21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z&&M21 19.1H3V5h18v14.1zM21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z@@fill:none;&&M9 8h2v8H9zm4 0h2v8h-2z'\nexport const matPayment = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z'\nexport const matPayments = 'M0 0h24v24H0z@@fill:none;&&M19 14V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zm-9-1c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-6v11c0 1.1-.9 2-2 2H4v-2h17V7h2z'\nexport const matPedalBike = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18.18,10l-1.7-4.68C16.19,4.53,15.44,4,14.6,4H12v2h2.6l1.46,4h-4.81l-0.36-1H12V7H7v2h1.75l1.82,5H9.9 c-0.44-2.23-2.31-3.88-4.65-3.99C2.45,9.87,0,12.2,0,15c0,2.8,2.2,5,5,5c2.46,0,4.45-1.69,4.9-4h4.2c0.44,2.23,2.31,3.88,4.65,3.99 c2.8,0.13,5.25-2.19,5.25-5c0-2.8-2.2-5-5-5H18.18z M7.82,16c-0.4,1.17-1.49,2-2.82,2c-1.68,0-3-1.32-3-3s1.32-3,3-3 c1.33,0,2.42,0.83,2.82,2H5v2H7.82z M14.1,14h-1.4l-0.73-2H15C14.56,12.58,14.24,13.25,14.1,14z M19,18c-1.68,0-3-1.32-3-3 c0-0.93,0.41-1.73,1.05-2.28l0.96,2.64l1.88-0.68l-0.97-2.67c0.03,0,0.06-0.01,0.09-0.01c1.68,0,3,1.32,3,3S20.68,18,19,18z'\nexport const matPending = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M7,13.5c-0.83,0-1.5-0.67-1.5-1.5 c0-0.83,0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5C8.5,12.83,7.83,13.5,7,13.5z M12,13.5c-0.83,0-1.5-0.67-1.5-1.5 c0-0.83,0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5C13.5,12.83,12.83,13.5,12,13.5z M17,13.5c-0.83,0-1.5-0.67-1.5-1.5 c0-0.83,0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5C18.5,12.83,17.83,13.5,17,13.5z'\nexport const matPendingActions = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,12c-2.76,0-5,2.24-5,5s2.24,5,5,5c2.76,0,5-2.24,5-5S19.76,12,17,12z M18.65,19.35l-2.15-2.15V14h1v2.79l1.85,1.85 L18.65,19.35z M18,3h-3.18C14.4,1.84,13.3,1,12,1S9.6,1.84,9.18,3H6C4.9,3,4,3.9,4,5v15c0,1.1,0.9,2,2,2h6.11 c-0.59-0.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c0.71,0.1,1.38,0.31,2,0.6V5C20,3.9,19.1,3,18,3z M12,5c-0.55,0-1-0.45-1-1 c0-0.55,0.45-1,1-1c0.55,0,1,0.45,1,1C13,4.55,12.55,5,12,5z'\nexport const matPeople = 'M0 0h24v24H0z@@fill:none;&&M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'\nexport const matPeopleAlt = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.67,13.13C18.04,14.06,19,15.32,19,17v3h4v-3 C23,14.82,19.43,13.53,16.67,13.13z@@fill-rule:evenodd;&&M9 8 m-4, 0 a4,4 0 1,0 8,0 a4,4 0 1,0 -8,0@@fill-rule:evenodd;&&M15,12c2.21,0,4-1.79,4-4c0-2.21-1.79-4-4-4c-0.47,0-0.91,0.1-1.33,0.24 C14.5,5.27,15,6.58,15,8s-0.5,2.73-1.33,3.76C14.09,11.9,14.53,12,15,12z@@fill-rule:evenodd;&&M9,13c-2.67,0-8,1.34-8,4v3h16v-3C17,14.34,11.67,13,9,13z@@fill-rule:evenodd;'\nexport const matPeopleOutline = 'M0 0h24v24H0z@@fill:none;&&M16.5 13c-1.2 0-3.07.34-4.5 1-1.43-.67-3.3-1-4.5-1C5.33 13 1 14.08 1 16.25V19h22v-2.75c0-2.17-4.33-3.25-6.5-3.25zm-4 4.5h-10v-1.25c0-.54 2.56-1.75 5-1.75s5 1.21 5 1.75v1.25zm9 0H14v-1.25c0-.46-.2-.86-.52-1.22.88-.3 1.96-.53 3.02-.53 2.44 0 5 1.21 5 1.75v1.25zM7.5 12c1.93 0 3.5-1.57 3.5-3.5S9.43 5 7.5 5 4 6.57 4 8.5 5.57 12 7.5 12zm0-5.5c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm9 5.5c1.93 0 3.5-1.57 3.5-3.5S18.43 5 16.5 5 13 6.57 13 8.5s1.57 3.5 3.5 3.5zm0-5.5c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2z'\nexport const matPermCameraMic = 'M0 0h24v24H0z@@fill:none;&&M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7v-2.09c-2.83-.48-5-2.94-5-5.91h2c0 2.21 1.79 4 4 4s4-1.79 4-4h2c0 2.97-2.17 5.43-5 5.91V21h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-6 8c0 1.1-.9 2-2 2s-2-.9-2-2V9c0-1.1.9-2 2-2s2 .9 2 2v4z'\nexport const matPermContactCalendar = 'M0 0h24v24H0z@@fill:none;&&M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1z'\nexport const matPermDataSetting = 'M0 0h24v24H0z@@fill:none;&&M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.04-.33-.07-.66-.07-1 0-4.14 3.36-7.5 7.5-7.5zm3.71 7.99c.02-.16.04-.32.04-.49 0-.17-.01-.33-.04-.49l1.06-.83c.09-.08.12-.21.06-.32l-1-1.73c-.06-.11-.19-.15-.31-.11l-1.24.5c-.26-.2-.54-.37-.85-.49l-.19-1.32c-.01-.12-.12-.21-.24-.21h-2c-.12 0-.23.09-.25.21l-.19 1.32c-.3.13-.59.29-.85.49l-1.24-.5c-.11-.04-.24 0-.31.11l-1 1.73c-.06.11-.04.24.06.32l1.06.83c-.02.16-.03.32-.03.49 0 .17.01.33.03.49l-1.06.83c-.09.08-.12.21-.06.32l1 1.73c.06.11.19.15.31.11l1.24-.5c.26.2.54.37.85.49l.19 1.32c.02.12.12.21.25.21h2c.12 0 .23-.09.25-.21l.19-1.32c.3-.13.59-.29.84-.49l1.25.5c.11.04.24 0 .31-.11l1-1.73c.06-.11.03-.24-.06-.32l-1.07-.83zm-3.71 1.01c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matPermDeviceInformation = 'M0 0h24v24H0z@@fill:none;&&M13 7h-2v2h2V7zm0 4h-2v6h2v-6zm4-9.99L7 1c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14z'\nexport const matPermIdentity = 'M0 0h24v24H0z@@fill:none;&&M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z'\nexport const matPermMedia = 'M0 0h24v24H0z@@fill:none;&&M2 6H0v5h.01L0 20c0 1.1.9 2 2 2h18v-2H2V6zm20-2h-8l-2-2H6c-1.1 0-1.99.9-1.99 2L4 16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 15l4.5-6 3.5 4.51 2.5-3.01L21 15H7z'\nexport const matPermPhoneMsg = 'M0 0h24v24H0z@@fill:none;&&M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM12 3v10l3-3h6V3h-9z'\nexport const matPermScanWifi = 'M0 0h24v24H0z@@fill:none;&&M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z'\nexport const matPerson = 'M0 0h24v24H0z@@fill:none;&&M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'\nexport const matPersonAdd = 'M0 0h24v24H0z@@fill:none;&&M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'\nexport const matPersonAddAlt1 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13,8c0-2.21-1.79-4-4-4S5,5.79,5,8s1.79,4,4,4S13,10.21,13,8z M15,10v2h3v3h2v-3h3v-2h-3V7h-2v3H15z M1,18v2h16v-2 c0-2.66-5.33-4-8-4S1,15.34,1,18z'\nexport const matPersonAddDisabled = 'M0 0h24v24H0V0z@@fill:none;&&M15 8 m-4, 0 a4,4 0 1,0 8,0 a4,4 0 1,0 -8,0&&M23 20v-2c0-2.3-4.1-3.7-6.9-3.9l6 5.9h.9zm-11.6-5.5C9.2 15.1 7 16.3 7 18v2h9.9l4 4 1.3-1.3-21-20.9L0 3.1l4 4V10H1v2h3v3h2v-3h2.9l2.5 2.5zM6 10v-.9l.9.9H6z'\nexport const matPersonalVideo = 'M0 0h24v24H0z@@fill:none;&&M21 3H3c-1.11 0-2 .89-2 2v12c0 1.1.89 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.11-.9-2-2-2zm0 14H3V5h18v12z'\nexport const matPersonOutline = 'M0 0h24v24H0z@@fill:none;&&M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z'\nexport const matPersonPin = 'M0 0h24v24H0z@@fill:none;&&M12 2c-4.97 0-9 4.03-9 9 0 4.17 2.84 7.67 6.69 8.69L12 22l2.31-2.31C18.16 18.67 21 15.17 21 11c0-4.97-4.03-9-9-9zm0 2c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.3c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z'\nexport const matPersonPinCircle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C8.14,2,5,5.14,5,9c0,5.25,7,13,7,13s7-7.75,7-13C19,5.14,15.86,2,12,2z M12,4c1.1,0,2,0.9,2,2c0,1.11-0.9,2-2,2 s-2-0.89-2-2C10,4.9,10.9,4,12,4z M12,14c-1.67,0-3.14-0.85-4-2.15c0.02-1.32,2.67-2.05,4-2.05s3.98,0.73,4,2.05 C15.14,13.15,13.67,14,12,14z'\nexport const matPersonRemove = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,8c0-2.21-1.79-4-4-4S6,5.79,6,8s1.79,4,4,4S14,10.21,14,8z M17,10v2h6v-2H17z M2,18v2h16v-2c0-2.66-5.33-4-8-4 S2,15.34,2,18z'\nexport const matPersonRemoveAlt1 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,8c0-2.21-1.79-4-4-4S6,5.79,6,8s1.79,4,4,4S14,10.21,14,8z M17,10v2h6v-2H17z M2,18v2h16v-2c0-2.66-5.33-4-8-4 S2,15.34,2,18z'\nexport const matPersonSearch = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M10 8 m-4, 0 a4,4 0 1,0 8,0 a4,4 0 1,0 -8,0&&M10.35,14.01C7.62,13.91,2,15.27,2,18v2h9.54C9.07,17.24,10.31,14.11,10.35,14.01z&&M19.43,18.02C19.79,17.43,20,16.74,20,16c0-2.21-1.79-4-4-4s-4,1.79-4,4c0,2.21,1.79,4,4,4c0.74,0,1.43-0.22,2.02-0.57 L20.59,22L22,20.59L19.43,18.02z M16,18c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2s2,0.9,2,2C18,17.1,17.1,18,16,18z'\nexport const matPestControl = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,15v-2h-3.07c-0.05-0.39-0.12-0.77-0.22-1.14l2.58-1.49l-1-1.73L16.92,10c-0.28-0.48-0.62-0.91-0.99-1.29 C15.97,8.48,16,8.25,16,8c0-0.8-0.24-1.55-0.65-2.18L17,4.17l-1.41-1.41l-1.72,1.72c-1.68-0.89-3.1-0.33-3.73,0L8.41,2.76L7,4.17 l1.65,1.65C8.24,6.45,8,7.2,8,8c0,0.25,0.03,0.48,0.07,0.72C7.7,9.1,7.36,9.53,7.08,10L4.71,8.63l-1,1.73l2.58,1.49 c-0.1,0.37-0.17,0.75-0.22,1.14H3v2h3.07c0.05,0.39,0.12,0.77,0.22,1.14l-2.58,1.49l1,1.73L7.08,18c1.08,1.81,2.88,3,4.92,3 s3.84-1.19,4.92-3l2.37,1.37l1-1.73l-2.58-1.49c0.1-0.37,0.17-0.75,0.22-1.14H21z M13,17h-2v-6h2V17z'\nexport const matPestControlRodent = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.31,17.38l-2.39-2.13C19.44,12.89,17.56,11,15.5,11c-1.16,0-3.5,0.9-3.5,3.5c0,0.97,0.39,1.84,1.03,2.47l-0.71,0.71 C11.5,16.87,11,15.74,11,14.5c0-1.7,0.96-3.17,2.35-3.93c-0.7-0.36-1.48-0.57-2.28-0.57c-2.38,0-4.37,1.65-4.91,3.87 C4.91,13.5,4,12.36,4,11c0-1.66,1.34-3,3-3c0.94,0,1.56,0,2.5,0C10.88,8,12,6.88,12,5.5C12,4.12,10.88,3,9.5,3H8C7.45,3,7,3.45,7,4 c0,0.55,0.45,1,1,1h1.5C9.78,5,10,5.22,10,5.5C10,5.78,9.78,6,9.5,6C9.47,6,9,6,7,6c-2.76,0-5,2.24-5,5c0,2.42,1.72,4.44,4,4.9 v0.03C6,18.73,8.27,21,11.07,21h8.86C21.8,21,22.74,18.66,21.31,17.38z M18,19c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1 C19,18.55,18.55,19,18,19z'\nexport const matPets = 'M0 0h24v24H0z@@fill:none;&&M4.5 9.5 m-2.5, 0 a2.5,2.5 0 1,0 5,0 a2.5,2.5 0 1,0 -5,0&&M9 5.5 m-2.5, 0 a2.5,2.5 0 1,0 5,0 a2.5,2.5 0 1,0 -5,0&&M15 5.5 m-2.5, 0 a2.5,2.5 0 1,0 5,0 a2.5,2.5 0 1,0 -5,0&&M19.5 9.5 m-2.5, 0 a2.5,2.5 0 1,0 5,0 a2.5,2.5 0 1,0 -5,0&&M17.34 14.86c-.87-1.02-1.6-1.89-2.48-2.91-.46-.54-1.05-1.08-1.75-1.32-.11-.04-.22-.07-.33-.09-.25-.04-.52-.04-.78-.04s-.53 0-.79.05c-.11.02-.22.05-.33.09-.7.24-1.28.78-1.75 1.32-.87 1.02-1.6 1.89-2.48 2.91-1.31 1.31-2.92 2.76-2.62 4.79.29 1.02 1.02 2.03 2.33 2.32.73.15 3.06-.44 5.54-.44h.18c2.48 0 4.81.58 5.54.44 1.31-.29 2.04-1.31 2.33-2.32.31-2.04-1.3-3.49-2.61-4.8z'\nexport const matPhone = 'M0 0h24v24H0z@@fill:none;&&M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'\nexport const matPhoneAndroid = 'M0 0h24v24H0z@@fill:none;&&M16 1H8C6.34 1 5 2.34 5 4v16c0 1.66 1.34 3 3 3h8c1.66 0 3-1.34 3-3V4c0-1.66-1.34-3-3-3zm-2 20h-4v-1h4v1zm3.25-3H6.75V4h10.5v14z'\nexport const matPhoneBluetoothSpeaker = 'M0 0h24v24H0z@@fill:none;&&M14.71 9.5L17 7.21V11h.5l2.85-2.85L18.21 6l2.15-2.15L17.5 1H17v3.79L14.71 2.5l-.71.71L16.79 6 14 8.79l.71.71zM18 2.91l.94.94-.94.94V2.91zm0 4.3l.94.94-.94.94V7.21zm2 8.29c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z'\nexport const matPhoneCallback = 'M0 0h24v24H0z@@fill:none;&&M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2zm13.54-7.1l-.71-.7L13 9.29V5h-1v6h6v-1h-4.15z'\nexport const matPhoneDisabled = 'M0 0h24v24H0z@@fill:none;&&M17.34 14.54l-1.43-1.43c.56-.73 1.05-1.5 1.47-2.32l-2.2-2.2c-.28-.28-.36-.67-.25-1.02.37-1.12.57-2.32.57-3.57 0-.55.45-1 1-1H20c.55 0 1 .45 1 1 0 3.98-1.37 7.64-3.66 10.54zm-2.82 2.81C11.63 19.64 7.97 21 4 21c-.55 0-1-.45-1-1v-3.49c0-.55.45-1 1-1 1.24 0 2.45-.2 3.57-.57.35-.12.75-.03 1.02.24l2.2 2.2c.81-.42 1.58-.9 2.3-1.46L1.39 4.22l1.42-1.41L21.19 21.2l-1.41 1.41-5.26-5.26z'\nexport const matPhoneEnabled = 'M0 0h24v24H0z@@fill:none;&&M17.38 10.79l-2.2-2.2c-.28-.28-.36-.67-.25-1.02.37-1.12.57-2.32.57-3.57 0-.55.45-1 1-1H20c.55 0 1 .45 1 1 0 9.39-7.61 17-17 17-.55 0-1-.45-1-1v-3.49c0-.55.45-1 1-1 1.24 0 2.45-.2 3.57-.57.35-.12.75-.03 1.02.24l2.2 2.2c2.83-1.45 5.15-3.76 6.59-6.59z'\nexport const matPhoneForwarded = 'M0 0h24v24H0z@@fill:none;&&M18 11l5-5-5-5v3h-4v4h4v3zm2 4.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z'\nexport const matPhoneInTalk = 'M0 0h24v24H0z@@fill:none;&&M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 12h2c0-4.97-4.03-9-9-9v2c3.87 0 7 3.13 7 7zm-4 0h2c0-2.76-2.24-5-5-5v2c1.66 0 3 1.34 3 3z'\nexport const matPhoneIphone = 'M0 0h24v24H0z@@fill:none;&&M15.5 1h-8C6.12 1 5 2.12 5 3.5v17C5 21.88 6.12 23 7.5 23h8c1.38 0 2.5-1.12 2.5-2.5v-17C18 2.12 16.88 1 15.5 1zm-4 21c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5-4H7V4h9v14z'\nexport const matPhonelink = 'M0 0h24v24H0z@@fill:none;&&M4 6h18V4H4c-1.1 0-2 .9-2 2v11H0v3h14v-3H4V6zm19 2h-6c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zm-1 9h-4v-7h4v7z'\nexport const matPhonelinkErase = 'M0 0h24v24H0V0z@@fill:none;&&M13 8.2l-1-1-4 4-4-4-1 1 4 4-4 4 1 1 4-4 4 4 1-1-4-4 4-4zM19 1H9c-1.1 0-2 .9-2 2v3h2V4h10v16H9v-2H7v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2z'\nexport const matPhonelinkLock = 'M0 0h24v24H0V0z@@fill:none;&&M19 1H9c-1.1 0-2 .9-2 2v3h2V4h10v16H9v-2H7v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm-8.2 10V9.5C10.8 8.1 9.4 7 8 7S5.2 8.1 5.2 9.5V11c-.6 0-1.2.6-1.2 1.2v3.5c0 .7.6 1.3 1.2 1.3h5.5c.7 0 1.3-.6 1.3-1.2v-3.5c0-.7-.6-1.3-1.2-1.3zm-1.3 0h-3V9.5c0-.8.7-1.3 1.5-1.3s1.5.5 1.5 1.3V11z'\nexport const matPhonelinkOff = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M22 6V4H6.82l2 2H22zM1.92 1.65L.65 2.92l1.82 1.82C2.18 5.08 2 5.52 2 6v11H0v3h17.73l2.35 2.35 1.27-1.27L3.89 3.62 1.92 1.65zM4 6.27L14.73 17H4V6.27zM23 8h-6c-.55 0-1 .45-1 1v4.18l2 2V10h4v7h-2.18l3 3H23c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1z'\nexport const matPhonelinkRing = 'M0 0h24v24H0V0z@@fill:none;&&M20.1 7.7l-1 1c1.8 1.8 1.8 4.6 0 6.5l1 1c2.5-2.3 2.5-6.1 0-8.5zM18 9.8l-1 1c.5.7.5 1.6 0 2.3l1 1c1.2-1.2 1.2-3 0-4.3zM14 1H4c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 19H4V4h10v16z'\nexport const matPhonelinkSetup = 'M0 0h24v24H0z@@fill:none;&&M10.82 12.49c.02-.16.04-.32.04-.49 0-.17-.02-.33-.04-.49l1.08-.82c.1-.07.12-.21.06-.32l-1.03-1.73c-.06-.11-.2-.15-.31-.11l-1.28.5c-.27-.2-.56-.36-.87-.49l-.2-1.33c0-.12-.11-.21-.24-.21H5.98c-.13 0-.24.09-.26.21l-.2 1.32c-.31.12-.6.3-.87.49l-1.28-.5c-.12-.05-.25 0-.31.11l-1.03 1.73c-.06.12-.03.25.07.33l1.08.82c-.02.16-.03.33-.03.49 0 .17.02.33.04.49l-1.09.83c-.1.07-.12.21-.06.32l1.03 1.73c.06.11.2.15.31.11l1.28-.5c.27.2.56.36.87.49l.2 1.32c.01.12.12.21.25.21h2.06c.13 0 .24-.09.25-.21l.2-1.32c.31-.12.6-.3.87-.49l1.28.5c.12.05.25 0 .31-.11l1.03-1.73c.06-.11.04-.24-.06-.32l-1.1-.83zM7 13.75c-.99 0-1.8-.78-1.8-1.75s.81-1.75 1.8-1.75 1.8.78 1.8 1.75S8 13.75 7 13.75zM18 1.01L8 1c-1.1 0-2 .9-2 2v3h2V5h10v14H8v-1H6v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99z'\nexport const matPhoneLocked = 'M0 0h24v24H0z@@fill:none;&&M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM20 4v-.5C20 2.12 18.88 1 17.5 1S15 2.12 15 3.5V4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h5c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zm-.8 0h-3.4v-.5c0-.94.76-1.7 1.7-1.7s1.7.76 1.7 1.7V4z'\nexport const matPhoneMissed = 'M0 0h24v24H0z@@fill:none;&&M6.5 5.5L12 11l7-7-1-1-6 6-4.5-4.5H11V3H5v6h1.5V5.5zm17.21 11.17C20.66 13.78 16.54 12 12 12 7.46 12 3.34 13.78.29 16.67c-.18.18-.29.43-.29.71s.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73 1.6 0 3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.67 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71s-.12-.52-.3-.7z'\nexport const matPhonePaused = 'M0 0h24v24H0z@@fill:none;&&M17 3h-2v7h2V3zm3 12.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 3v7h2V3h-2z'\nexport const matPhoto = 'M0 0h24v24H0z@@fill:none;&&M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'\nexport const matPhotoAlbum = 'M0 0h24v24H0z@@fill:none;&&M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4zm0 15l3-3.86 2.14 2.58 3-3.86L18 19H6z'\nexport const matPhotoCamera = 'M0 0h24v24H0z@@fill:none;&&M12 12 m-3.2, 0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0&&M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z'\nexport const matPhotoFilter = 'M0 0h24v24H0V0z@@fill:none;&&M19.02 10v9H5V5h9V3H5.02c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-9h-2zM17 10l.94-2.06L20 7l-2.06-.94L17 4l-.94 2.06L14 7l2.06.94zm-3.75.75L12 8l-1.25 2.75L8 12l2.75 1.25L12 16l1.25-2.75L16 12z'\nexport const matPhotoLibrary = 'M0 0h24v24H0z@@fill:none;&&M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z'\nexport const matPhotoSizeSelectActual = 'M24 24H0V0h24v24z@@fill:none;&&M21 3H3C2 3 1 4 1 5v14c0 1.1.9 2 2 2h18c1 0 2-1 2-2V5c0-1-1-2-2-2zM5 17l3.5-4.5 2.5 3.01L14.5 11l4.5 6H5z'\nexport const matPhotoSizeSelectLarge = 'M24 24H0V0h24v24z@@fill:none;&&M21 15h2v2h-2v-2zm0-4h2v2h-2v-2zm2 8h-2v2c1 0 2-1 2-2zM13 3h2v2h-2V3zm8 4h2v2h-2V7zm0-4v2h2c0-1-1-2-2-2zM1 7h2v2H1V7zm16-4h2v2h-2V3zm0 16h2v2h-2v-2zM3 3C2 3 1 4 1 5h2V3zm6 0h2v2H9V3zM5 3h2v2H5V3zm-4 8v8c0 1.1.9 2 2 2h12V11H1zm2 8l2.5-3.21 1.79 2.15 2.5-3.22L13 19H3z'\nexport const matPhotoSizeSelectSmall = 'M0 0h24v24H0V0zm24 24H0V0h24v24z@@fill:none;&&M23 15h-2v2h2v-2zm0-4h-2v2h2v-2zm0 8h-2v2c1 0 2-1 2-2zM15 3h-2v2h2V3zm8 4h-2v2h2V7zm-2-4v2h2c0-1-1-2-2-2zM3 21h8v-6H1v4c0 1.1.9 2 2 2zM3 7H1v2h2V7zm12 12h-2v2h2v-2zm4-16h-2v2h2V3zm0 16h-2v2h2v-2zM3 3C2 3 1 4 1 5h2V3zm0 8H1v2h2v-2zm8-8H9v2h2V3zM7 3H5v2h2V3z'\nexport const matPictureAsPdf = 'M0 0h24v24H0z@@fill:none;&&M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z'\nexport const matPictureInPicture = 'M0 0h24v24H0z@@fill:none;&&M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z'\nexport const matPictureInPictureAlt = 'M0 0h24v24H0V0z@@fill:none;&&M19 11h-8v6h8v-6zm4 8V4.98C23 3.88 22.1 3 21 3H3c-1.1 0-2 .88-2 1.98V19c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H3V4.97h18v14.05z'\nexport const matPieChart = 'M0 0h24v24H0V0z@@fill:none;&&M11 2v20c-5.07-.5-9-4.79-9-10s3.93-9.5 9-10zm2.03 0v8.99H22c-.47-4.74-4.24-8.52-8.97-8.99zm0 11.01V22c4.74-.47 8.5-4.25 8.97-8.99h-8.97z'\nexport const matPinDrop = 'M0 0h24v24H0z@@fill:none;&&M18 8c0-3.31-2.69-6-6-6S6 4.69 6 8c0 4.5 6 11 6 11s6-6.5 6-11zm-8 0c0-1.1.9-2 2-2s2 .9 2 2-.89 2-2 2c-1.1 0-2-.9-2-2zM5 20v2h14v-2H5z'\nexport const matPlace = 'M0 0h24v24H0z@@fill:none;&&M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'\nexport const matPlagiarism = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.89,2,1.99,2H18c1.1,0,2-0.9,2-2V8L14,2z M15.04,19.45l-1.88-1.88 c-1.33,0.71-3.01,0.53-4.13-0.59c-1.37-1.37-1.37-3.58,0-4.95c1.37-1.37,3.58-1.37,4.95,0c1.12,1.12,1.31,2.8,0.59,4.13l1.88,1.88 L15.04,19.45z M13,9V3.5L18.5,9H13z&&M11.5 14.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0'\nexport const matPlayArrow = 'M0 0h24v24H0z@@fill:none;&&M8 5v14l11-7z'\nexport const matPlayCircleFilled = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z'\nexport const matPlayCircleOutline = 'M0 0h24v24H0z@@fill:none;&&M10 16.5l6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matPlayForWork = 'M0 0h24v24H0z@@fill:none;&&M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z'\nexport const matPlaylistAdd = 'M0 0h24v24H0z@@fill:none;&&M14 10H2v2h12v-2zm0-4H2v2h12V6zm4 8v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zM2 16h8v-2H2v2z'\nexport const matPlaylistAddCheck = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,10H2v2h12V10z M14,6H2v2h12V6z M2,16h8v-2H2V16z M21.5,11.5L23,13l-6.99,7l-4.51-4.5L13,14l3.01,3L21.5,11.5z'\nexport const matPlaylistPlay = 'M0 0h24v24H0V0z@@fill:none;&&M4 10h12v2H4zm0-4h12v2H4zm0 8h8v2H4zm10 0v6l5-3z'\nexport const matPlumbing = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.28,4.93l-2.12-2.12c-0.78-0.78-2.05-0.78-2.83,0L11.5,5.64l2.12,2.12l2.12-2.12l3.54,3.54 C20.45,8,20.45,6.1,19.28,4.93z&&M5.49,13.77c0.59,0.59,1.54,0.59,2.12,0l2.47-2.47L7.96,9.17l-2.47,2.47C4.9,12.23,4.9,13.18,5.49,13.77L5.49,13.77z&&M15.04,7.76l-0.71,0.71l-0.71,0.71l-3.18-3.18C9.85,5.4,8.9,5.4,8.32,5.99c-0.59,0.59-0.59,1.54,0,2.12l3.18,3.18 L10.79,12l-6.36,6.36c-0.78,0.78-0.78,2.05,0,2.83c0.78,0.78,2.05,0.78,2.83,0L16.45,12c0.39,0.39,1.02,0.39,1.41,0 c0.39-0.39,0.39-1.02,0-1.41L15.04,7.76z'\nexport const matPlusOne = 'M0 0h24v24H0z@@fill:none;&&M10 8H8v4H4v2h4v4h2v-4h4v-2h-4zm4.5-1.92V7.9l2.5-.5V18h2V5z'\nexport const matPointOfSale = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,2H7C5.9,2,5,2.9,5,4v2c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V4C19,2.9,18.1,2,17,2z M17,6H7V4h10V6z M20,22H4 c-1.1,0-2-0.9-2-2v-1h20v1C22,21.1,21.1,22,20,22z M18.53,10.19C18.21,9.47,17.49,9,16.7,9H7.3c-0.79,0-1.51,0.47-1.83,1.19L2,18 h20L18.53,10.19z M9.5,16h-1C8.22,16,8,15.78,8,15.5C8,15.22,8.22,15,8.5,15h1c0.28,0,0.5,0.22,0.5,0.5C10,15.78,9.78,16,9.5,16z M9.5,14h-1C8.22,14,8,13.78,8,13.5C8,13.22,8.22,13,8.5,13h1c0.28,0,0.5,0.22,0.5,0.5C10,13.78,9.78,14,9.5,14z M9.5,12h-1 C8.22,12,8,11.78,8,11.5C8,11.22,8.22,11,8.5,11h1c0.28,0,0.5,0.22,0.5,0.5C10,11.78,9.78,12,9.5,12z M12.5,16h-1 c-0.28,0-0.5-0.22-0.5-0.5c0-0.28,0.22-0.5,0.5-0.5h1c0.28,0,0.5,0.22,0.5,0.5C13,15.78,12.78,16,12.5,16z M12.5,14h-1 c-0.28,0-0.5-0.22-0.5-0.5c0-0.28,0.22-0.5,0.5-0.5h1c0.28,0,0.5,0.22,0.5,0.5C13,13.78,12.78,14,12.5,14z M12.5,12h-1 c-0.28,0-0.5-0.22-0.5-0.5c0-0.28,0.22-0.5,0.5-0.5h1c0.28,0,0.5,0.22,0.5,0.5C13,11.78,12.78,12,12.5,12z M15.5,16h-1 c-0.28,0-0.5-0.22-0.5-0.5c0-0.28,0.22-0.5,0.5-0.5h1c0.28,0,0.5,0.22,0.5,0.5C16,15.78,15.78,16,15.5,16z M15.5,14h-1 c-0.28,0-0.5-0.22-0.5-0.5c0-0.28,0.22-0.5,0.5-0.5h1c0.28,0,0.5,0.22,0.5,0.5C16,13.78,15.78,14,15.5,14z M15.5,12h-1 c-0.28,0-0.5-0.22-0.5-0.5c0-0.28,0.22-0.5,0.5-0.5h1c0.28,0,0.5,0.22,0.5,0.5C16,11.78,15.78,12,15.5,12z'\nexport const matPolicy = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,5l-9-4L3,5v6c0,5.55,3.84,10.74,9,12c2.3-0.56,4.33-1.9,5.88-3.71l-3.12-3.12c-1.94,1.29-4.58,1.07-6.29-0.64 c-1.95-1.95-1.95-5.12,0-7.07c1.95-1.95,5.12-1.95,7.07,0c1.71,1.71,1.92,4.35,0.64,6.29l2.9,2.9C20.29,15.69,21,13.38,21,11V5z&&M12 12 m-3, 0 a3,3 0 1,0 6,0 a3,3 0 1,0 -6,0'\nexport const matPoll = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z'\nexport const matPolymer = 'M0 0h24v24H0z@@fill:none;&&M19 4h-4L7.11 16.63 4.5 12 9 4H5L.5 12 5 20h4l7.89-12.63L19.5 12 15 20h4l4.5-8z'\nexport const matPool = 'M0 0h24v24H0z@@fill:none;&&M22 21c-1.11 0-1.73-.37-2.18-.64-.37-.22-.6-.36-1.15-.36-.56 0-.78.13-1.15.36-.46.27-1.07.64-2.18.64s-1.73-.37-2.18-.64c-.37-.22-.6-.36-1.15-.36-.56 0-.78.13-1.15.36-.46.27-1.08.64-2.19.64-1.11 0-1.73-.37-2.18-.64-.37-.23-.6-.36-1.15-.36s-.78.13-1.15.36c-.46.27-1.08.64-2.19.64v-2c.56 0 .78-.13 1.15-.36.46-.27 1.08-.64 2.19-.64s1.73.37 2.18.64c.37.23.59.36 1.15.36.56 0 .78-.13 1.15-.36.46-.27 1.08-.64 2.19-.64 1.11 0 1.73.37 2.18.64.37.22.6.36 1.15.36s.78-.13 1.15-.36c.45-.27 1.07-.64 2.18-.64s1.73.37 2.18.64c.37.23.59.36 1.15.36v2zm0-4.5c-1.11 0-1.73-.37-2.18-.64-.37-.22-.6-.36-1.15-.36-.56 0-.78.13-1.15.36-.45.27-1.07.64-2.18.64s-1.73-.37-2.18-.64c-.37-.22-.6-.36-1.15-.36-.56 0-.78.13-1.15.36-.45.27-1.07.64-2.18.64s-1.73-.37-2.18-.64c-.37-.22-.6-.36-1.15-.36s-.78.13-1.15.36c-.47.27-1.09.64-2.2.64v-2c.56 0 .78-.13 1.15-.36.45-.27 1.07-.64 2.18-.64s1.73.37 2.18.64c.37.22.6.36 1.15.36.56 0 .78-.13 1.15-.36.45-.27 1.07-.64 2.18-.64s1.73.37 2.18.64c.37.22.6.36 1.15.36s.78-.13 1.15-.36c.45-.27 1.07-.64 2.18-.64s1.73.37 2.18.64c.37.22.6.36 1.15.36v2zM8.67 12c.56 0 .78-.13 1.15-.36.46-.27 1.08-.64 2.19-.64 1.11 0 1.73.37 2.18.64.37.22.6.36 1.15.36s.78-.13 1.15-.36c.12-.07.26-.15.41-.23L10.48 5C8.93 3.45 7.5 2.99 5 3v2.5c1.82-.01 2.89.39 4 1.5l1 1-3.25 3.25c.31.12.56.27.77.39.37.23.59.36 1.15.36z&&M16.5 5.5 m-2.5, 0 a2.5,2.5 0 1,0 5,0 a2.5,2.5 0 1,0 -5,0'\nexport const matPortableWifiOff = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M17.56 14.24c.28-.69.44-1.45.44-2.24 0-3.31-2.69-6-6-6-.79 0-1.55.16-2.24.44l1.62 1.62c.2-.03.41-.06.62-.06 2.21 0 4 1.79 4 4 0 .21-.02.42-.05.63l1.61 1.61zM12 4c4.42 0 8 3.58 8 8 0 1.35-.35 2.62-.95 3.74l1.47 1.47C21.46 15.69 22 13.91 22 12c0-5.52-4.48-10-10-10-1.91 0-3.69.55-5.21 1.47l1.46 1.46C9.37 4.34 10.65 4 12 4zM3.27 2.5L2 3.77l2.1 2.1C2.79 7.57 2 9.69 2 12c0 3.7 2.01 6.92 4.99 8.65l1-1.73C5.61 17.53 4 14.96 4 12c0-1.76.57-3.38 1.53-4.69l1.43 1.44C6.36 9.68 6 10.8 6 12c0 2.22 1.21 4.15 3 5.19l1-1.74c-1.19-.7-2-1.97-2-3.45 0-.65.17-1.25.44-1.79l1.58 1.58L10 12c0 1.1.9 2 2 2l.21-.02.01.01 7.51 7.51L21 20.23 4.27 3.5l-1-1z'\nexport const matPortrait = 'M0 0h24v24H0z@@fill:none;&&M12 12.25c1.24 0 2.25-1.01 2.25-2.25S13.24 7.75 12 7.75 9.75 8.76 9.75 10s1.01 2.25 2.25 2.25zm4.5 4c0-1.5-3-2.25-4.5-2.25s-4.5.75-4.5 2.25V17h9v-.75zM19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z'\nexport const matPostAdd = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17,19.22H5V7h7V5H5C3.9,5,3,5.9,3,7v12c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-7h-2V19.22z&&M19,2h-2v3h-3c0.01,0.01,0,2,0,2h3v2.99c0.01,0.01,2,0,2,0V7h3V5h-3V2z&&M7 9 H15 V11 H7 V9 z&&M7 12 L7 14 L15 14 L15 12 L12 12z&&M7 15 H15 V17 H7 V15 z'\nexport const matPower = 'M0 0h24v24H0z@@fill:none;&&M16.01 7L16 3h-2v4h-4V3H8v4h-.01C7 6.99 6 7.99 6 8.99v5.49L9.5 18v3h5v-3l3.5-3.51v-5.5c0-1-1-2-1.99-1.99z'\nexport const matPowerInput = 'M0 0h24v24H0V0z@@fill:none;&&M2 9v2h19V9H2zm0 6h5v-2H2v2zm7 0h5v-2H9v2zm7 0h5v-2h-5v2z'\nexport const matPowerOff = 'M0 0h24v24H0V0z@@fill:none;&&M18 14.49V9c0-1-1.01-2.01-2-2V3h-2v4h-4V3H8v2.48l9.51 9.5.49-.49zm-1.76 1.77L7.2 7.2l-.01.01L3.98 4 2.71 5.25l3.36 3.36C6.04 8.74 6 8.87 6 9v5.48L9.5 18v3h5v-3l.48-.48L19.45 22l1.26-1.28-4.47-4.46z'\nexport const matPowerSettingsNew = 'M0 0h24v24H0z@@fill:none;&&M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z'\nexport const matPregnantWoman = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,4c0-1.11,0.89-2,2-2s2,0.89,2,2s-0.89,2-2,2S9,5.11,9,4z M16,13c-0.01-1.34-0.83-2.51-2-3c0-1.66-1.34-3-3-3 s-3,1.34-3,3v7h2v5h3v-5h3V13z'\nexport const matPresentToAll = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.11 0-2 .89-2 2v14c0 1.11.89 2 2 2h18c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2zm0 16.02H3V4.98h18v14.04zM10 12H8l4-4 4 4h-2v4h-4v-4z'\nexport const matPreview = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M13.5,13 c0,0.83-0.67,1.5-1.5,1.5s-1.5-0.67-1.5-1.5c0-0.83,0.67-1.5,1.5-1.5S13.5,12.17,13.5,13z M12,9c-2.73,0-5.06,1.66-6,4 c0.94,2.34,3.27,4,6,4s5.06-1.66,6-4C17.06,10.66,14.73,9,12,9z M12,15.5c-1.38,0-2.5-1.12-2.5-2.5c0-1.38,1.12-2.5,2.5-2.5 c1.38,0,2.5,1.12,2.5,2.5C14.5,14.38,13.38,15.5,12,15.5z'\nexport const matPrint = 'M0 0h24v24H0z@@fill:none;&&M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z'\nexport const matPrintDisabled = 'M0 0h24v24H0V0z@@fill:none;&&M19.1 17H22v-6c0-1.7-1.3-3-3-3h-9l9.1 9zm-.1-7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-1-3V3H6v1.1L9 7zM1.2 1.8L0 3l4.9 5C3.3 8.1 2 9.4 2 11v6h4v4h11.9l3 3 1.3-1.3-21-20.9zM8 19v-5h2.9l5 5H8z'\nexport const matPriorityHigh = 'M0 0h24v24H0z@@fill:none;&&M12 19 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M10 3h4v12h-4z'\nexport const matPrivacyTip = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,1L3,5v6c0,5.55,3.84,10.74,9,12c5.16-1.26,9-6.45,9-12V5L12,1L12,1z M11,7h2v2h-2V7z M11,11h2v6h-2V11z'\nexport const matPsychology = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13,8.57c-0.79,0-1.43,0.64-1.43,1.43s0.64,1.43,1.43,1.43s1.43-0.64,1.43-1.43S13.79,8.57,13,8.57z&&M13,3C9.25,3,6.2,5.94,6.02,9.64L4.1,12.2C3.85,12.53,4.09,13,4.5,13H6v3c0,1.1,0.9,2,2,2h1v3h7v-4.68 c2.36-1.12,4-3.53,4-6.32C20,6.13,16.87,3,13,3z M16,10c0,0.13-0.01,0.26-0.02,0.39l0.83,0.66c0.08,0.06,0.1,0.16,0.05,0.25 l-0.8,1.39c-0.05,0.09-0.16,0.12-0.24,0.09l-0.99-0.4c-0.21,0.16-0.43,0.29-0.67,0.39L14,13.83c-0.01,0.1-0.1,0.17-0.2,0.17h-1.6 c-0.1,0-0.18-0.07-0.2-0.17l-0.15-1.06c-0.25-0.1-0.47-0.23-0.68-0.39l-0.99,0.4c-0.09,0.03-0.2,0-0.25-0.09l-0.8-1.39 c-0.05-0.08-0.03-0.19,0.05-0.25l0.84-0.66C10.01,10.26,10,10.13,10,10c0-0.13,0.02-0.27,0.04-0.39L9.19,8.95 c-0.08-0.06-0.1-0.16-0.05-0.26l0.8-1.38c0.05-0.09,0.15-0.12,0.24-0.09l1,0.4c0.2-0.15,0.43-0.29,0.67-0.39l0.15-1.06 C12.02,6.07,12.1,6,12.2,6h1.6c0.1,0,0.18,0.07,0.2,0.17l0.15,1.06c0.24,0.1,0.46,0.23,0.67,0.39l1-0.4c0.09-0.03,0.2,0,0.24,0.09 l0.8,1.38c0.05,0.09,0.03,0.2-0.05,0.26l-0.85,0.66C15.99,9.73,16,9.86,16,10z'\nexport const matPublic = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z'\nexport const matPublicOff = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11,8.17L6.49,3.66C8.07,2.61,9.96,2,12,2c5.52,0,10,4.48,10,10c0,2.04-0.61,3.93-1.66,5.51l-1.46-1.46 C19.59,14.87,20,13.48,20,12c0-3.35-2.07-6.22-5-7.41V5c0,1.1-0.9,2-2,2h-2V8.17z M21.19,21.19l-1.41,1.41l-2.27-2.27 C15.93,21.39,14.04,22,12,22C6.48,22,2,17.52,2,12c0-2.04,0.61-3.93,1.66-5.51L1.39,4.22l1.41-1.41L21.19,21.19z M11,18 c-1.1,0-2-0.9-2-2v-1l-4.79-4.79C4.08,10.79,4,11.38,4,12c0,4.08,3.05,7.44,7,7.93V18z'\nexport const matPublish = 'M0 0h24v24H0z@@fill:none;&&M5 4v2h14V4H5zm0 10h4v6h6v-6h4l-7-7-7 7z'\nexport const matPublishedWithChanges = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.66,9.53l-7.07,7.07l-4.24-4.24l1.41-1.41l2.83,2.83l5.66-5.66L17.66,9.53z M4,12c0-2.33,1.02-4.42,2.62-5.88L9,8.5v-6H3 l2.2,2.2C3.24,6.52,2,9.11,2,12c0,5.19,3.95,9.45,9,9.95v-2.02C7.06,19.44,4,16.07,4,12z M22,12c0-5.19-3.95-9.45-9-9.95v2.02 c3.94,0.49,7,3.86,7,7.93c0,2.33-1.02,4.42-2.62,5.88L15,15.5v6h6l-2.2-2.2C20.76,17.48,22,14.89,22,12z'\nexport const matPushPin = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,9V4l1,0c0.55,0,1-0.45,1-1v0c0-0.55-0.45-1-1-1H7C6.45,2,6,2.45,6,3v0 c0,0.55,0.45,1,1,1l1,0v5c0,1.66-1.34,3-3,3h0v2h5.97v7l1,1l1-1v-7H19v-2h0C17.34,12,16,10.66,16,9z@@fill-rule:evenodd;'\nexport const matQrCode = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,11h8V3H3V11z M5,5h4v4H5V5z&&M3,21h8v-8H3V21z M5,15h4v4H5V15z&&M13,3v8h8V3H13z M19,9h-4V5h4V9z&&M19 19 H21 V21 H19 V19 z&&M13 13 H15 V15 H13 V13 z&&M15 15 H17 V17 H15 V15 z&&M13 17 H15 V19 H13 V17 z&&M15 19 H17 V21 H15 V19 z&&M17 17 H19 V19 H17 V17 z&&M17 13 H19 V15 H17 V13 z&&M19 15 H21 V17 H19 V15 z'\nexport const matQrCodeScanner = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9.5,6.5v3h-3v-3H9.5 M11,5H5v6h6V5L11,5z M9.5,14.5v3h-3v-3H9.5 M11,13H5v6h6V13L11,13z M17.5,6.5v3h-3v-3H17.5 M19,5h-6v6 h6V5L19,5z M13,13h1.5v1.5H13V13z M14.5,14.5H16V16h-1.5V14.5z M16,13h1.5v1.5H16V13z M13,16h1.5v1.5H13V16z M14.5,17.5H16V19h-1.5 V17.5z M16,16h1.5v1.5H16V16z M17.5,14.5H19V16h-1.5V14.5z M17.5,17.5H19V19h-1.5V17.5z M22,7h-2V4h-3V2h5V7z M22,22v-5h-2v3h-3v2 H22z M2,22h5v-2H4v-3H2V22z M2,2v5h2V4h3V2H2z'\nexport const matQueryBuilder = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z&&M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z'\nexport const matQuestionAnswer = 'M0 0h24v24H0z@@fill:none;&&M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z'\nexport const matQueue = 'M0 0h24v24H0z@@fill:none;&&M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9h-4v4h-2v-4H9V9h4V5h2v4h4v2z'\nexport const matQueueMusic = 'M0 0h24v24H0z@@fill:none;&&M15 6H3v2h12V6zm0 4H3v2h12v-2zM3 16h8v-2H3v2zM17 6v8.18c-.31-.11-.65-.18-1-.18-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3V8h3V6h-5z'\nexport const matQueuePlayNext = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,3H3C1.89,3,1,3.89,1,5v12c0,1.1,0.89,2,2,2h5v2h8v-2h2v-2H3V5h18v8h2V5C23,3.89,22.1,3,21,3z M13,10V7h-2v3H8v2h3v3 h2v-3h3v-2H13z M24,18l-4.5,4.5L18,21l3-3l-3-3l1.5-1.5L24,18z'\nexport const matQuickreply = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,4c0-1.1-0.9-2-2-2H4C2.9,2,2.01,2.9,2.01,4L2,22l4-4h9v-8h7V4z&&M22.5 16 L20.3 16 L22 12 L17 12 L17 18 L19 18 L19 23z'\nexport const matRadio = 'M0 0h24v24H0z@@fill:none;&&M3.24 6.15C2.51 6.43 2 7.17 2 8v12c0 1.1.89 2 2 2h16c1.11 0 2-.9 2-2V8c0-1.11-.89-2-2-2H8.3l8.26-3.34L15.88 1 3.24 6.15zM7 20c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-8h-2v-2h-2v2H4V8h16v4z'\nexport const matRadioButtonChecked = 'M0 0h24v24H0z@@fill:none;&&M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'\nexport const matRadioButtonUnchecked = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'\nexport const matRateReview = 'M0 0h24v24H0zm15.35 6.41l-1.77-1.77c-.2-.2-.51-.2-.71 0L6 11.53V14h2.47l6.88-6.88c.2-.19.2-.51 0-.71z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 14v-2.47l6.88-6.88c.2-.2.51-.2.71 0l1.77 1.77c.2.2.2.51 0 .71L8.47 14H6zm12 0h-7.5l2-2H18v2z'\nexport const matReadMore = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13 7 H22 V9 H13 V7 z&&M13 15 H22 V17 H13 V15 z&&M16 11 H22 V13 H16 V11 z&&M13 12 L8 7 L8 11 L2 11 L2 13 L8 13 L8 17z'\nexport const matReceipt = 'M0 0h24v24H0z@@fill:none;&&M18 17H6v-2h12v2zm0-4H6v-2h12v2zm0-4H6V7h12v2zM3 22l1.5-1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L15 22l1.5-1.5L18 22l1.5-1.5L21 22V2l-1.5 1.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2 4.5 3.5 3 2v20z'\nexport const matReceiptLong = 'M0,0h24v24H0V0z@@fill:none;&&M19.5,3.5L18,2l-1.5,1.5L15,2l-1.5,1.5L12,2l-1.5,1.5L9,2L7.5,3.5L6,2v14H3v3c0,1.66,1.34,3,3,3h12c1.66,0,3-1.34,3-3V2 L19.5,3.5z M19,19c0,0.55-0.45,1-1,1s-1-0.45-1-1v-3H8V5h11V19z&&M9 7 H15 V9 H9 V7 z&&M16 7 H18 V9 H16 V7 z&&M9 10 H15 V12 H9 V10 z&&M16 10 H18 V12 H16 V10 z'\nexport const matRecentActors = 'M0 0h24v24H0z@@fill:none;&&M21 5v14h2V5h-2zm-4 14h2V5h-2v14zM14 5H2c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zM8 7.75c1.24 0 2.25 1.01 2.25 2.25S9.24 12.25 8 12.25 5.75 11.24 5.75 10 6.76 7.75 8 7.75zM12.5 17h-9v-.75c0-1.5 3-2.25 4.5-2.25s4.5.75 4.5 2.25V17z'\nexport const matRecordVoiceOver = 'M0 0h24v24H0z@@fill:none;&&M9 9 m-4, 0 a4,4 0 1,0 8,0 a4,4 0 1,0 -8,0&&M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76-9.64l-1.68 1.69c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 2.02-5.07 0-7.27zM20.07 2l-1.63 1.63c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.89 3.91-9.95 0-14z'\nexport const matRedeem = 'M0 0h24v24H0z@@fill:none;&&M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z'\nexport const matRedo = 'M0 0h24v24H0z@@fill:none;&&M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z'\nexport const matReduceCapacity = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,4c0-1.1,0.9-2,2-2s2,0.9,2,2s-0.9,2-2,2S16,5.1,16,4z M20.78,7.58C19.93,7.21,18.99,7,18,7c-0.67,0-1.31,0.1-1.92,0.28 C16.66,7.83,17,8.6,17,9.43V10h5V9.43C22,8.62,21.52,7.9,20.78,7.58z M6,6c1.1,0,2-0.9,2-2S7.1,2,6,2S4,2.9,4,4S4.9,6,6,6z M7.92,7.28C7.31,7.1,6.67,7,6,7C5.01,7,4.07,7.21,3.22,7.58C2.48,7.9,2,8.62,2,9.43V10h5V9.43C7,8.6,7.34,7.83,7.92,7.28z M10,4 c0-1.1,0.9-2,2-2s2,0.9,2,2s-0.9,2-2,2S10,5.1,10,4z M16,10H8V9.43C8,8.62,8.48,7.9,9.22,7.58C10.07,7.21,11.01,7,12,7 c0.99,0,1.93,0.21,2.78,0.58C15.52,7.9,16,8.62,16,9.43V10z M15,16c0-1.1,0.9-2,2-2s2,0.9,2,2s-0.9,2-2,2S15,17.1,15,16z M21,22h-8 v-0.57c0-0.81,0.48-1.53,1.22-1.85C15.07,19.21,16.01,19,17,19c0.99,0,1.93,0.21,2.78,0.58C20.52,19.9,21,20.62,21,21.43V22z M5,16 c0-1.1,0.9-2,2-2s2,0.9,2,2s-0.9,2-2,2S5,17.1,5,16z M11,22H3v-0.57c0-0.81,0.48-1.53,1.22-1.85C5.07,19.21,6.01,19,7,19 c0.99,0,1.93,0.21,2.78,0.58C10.52,19.9,11,20.62,11,21.43V22z M12.75,13v-2h-1.5v2H9l3,3l3-3H12.75z'\nexport const matRefresh = 'M0 0h24v24H0z@@fill:none;&&M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z'\nexport const matRemove = 'M0 0h24v24H0z@@fill:none;&&M19 13H5v-2h14v2z'\nexport const matRemoveCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z'\nexport const matRemoveCircleOutline = 'M0 0h24v24H0z@@fill:none;&&M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'\nexport const matRemoveFromQueue = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,3H3C1.89,3,1,3.89,1,5v12c0,1.1,0.89,2,2,2h5v2h8v-2h5c1.1,0,1.99-0.9,1.99-2L23,5C23,3.89,22.1,3,21,3z M21,17H3V5 h18V17z M16,10v2H8v-2H16z'\nexport const matRemoveRedEye = 'M0 0h24v24H0z@@fill:none;&&M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'\nexport const matRemoveShoppingCart = 'M0 0h24v24H0z@@fill:none;&&M22.73 22.73L2.77 2.77 2 2l-.73-.73L0 2.54l4.39 4.39 2.21 4.66-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h7.46l1.38 1.38c-.5.36-.83.95-.83 1.62 0 1.1.89 2 1.99 2 .67 0 1.26-.33 1.62-.84L21.46 24l1.27-1.27zM7.42 15c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h2.36l2 2H7.42zm8.13-2c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H6.54l9.01 9zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2z'\nexport const matReorder = 'M0 0h24v24H0z@@fill:none;&&M3 15h18v-2H3v2zm0 4h18v-2H3v2zm0-8h18V9H3v2zm0-6v2h18V5H3z'\nexport const matRepeat = 'M0 0h24v24H0z@@fill:none;&&M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z'\nexport const matRepeatOne = 'M0 0h24v24H0z@@fill:none;&&M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4zm-4-2V9h-1l-2 1v1h1.5v4H13z'\nexport const matReplay = 'M0 0h24v24H0z@@fill:none;&&M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z'\nexport const matReplay10 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.99,5V1l-5,5l5,5V7c3.31,0,6,2.69,6,6s-2.69,6-6,6s-6-2.69-6-6h-2c0,4.42,3.58,8,8,8s8-3.58,8-8S16.41,5,11.99,5z&&M10.89,16h-0.85v-3.26l-1.01,0.31v-0.69l1.77-0.63h0.09V16z&&M15.17,14.24c0,0.32-0.03,0.6-0.1,0.82s-0.17,0.42-0.29,0.57s-0.28,0.26-0.45,0.33s-0.37,0.1-0.59,0.1 s-0.41-0.03-0.59-0.1s-0.33-0.18-0.46-0.33s-0.23-0.34-0.3-0.57s-0.11-0.5-0.11-0.82V13.5c0-0.32,0.03-0.6,0.1-0.82 s0.17-0.42,0.29-0.57s0.28-0.26,0.45-0.33s0.37-0.1,0.59-0.1s0.41,0.03,0.59,0.1c0.18,0.07,0.33,0.18,0.46,0.33 s0.23,0.34,0.3,0.57s0.11,0.5,0.11,0.82V14.24z M14.32,13.38c0-0.19-0.01-0.35-0.04-0.48s-0.07-0.23-0.12-0.31 s-0.11-0.14-0.19-0.17s-0.16-0.05-0.25-0.05s-0.18,0.02-0.25,0.05s-0.14,0.09-0.19,0.17s-0.09,0.18-0.12,0.31 s-0.04,0.29-0.04,0.48v0.97c0,0.19,0.01,0.35,0.04,0.48s0.07,0.24,0.12,0.32s0.11,0.14,0.19,0.17s0.16,0.05,0.25,0.05 s0.18-0.02,0.25-0.05s0.14-0.09,0.19-0.17s0.09-0.19,0.11-0.32s0.04-0.29,0.04-0.48V13.38z'\nexport const matReplay30 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,5V1L7,6l5,5V7c3.31,0,6,2.69,6,6s-2.69,6-6,6s-6-2.69-6-6H4c0,4.42,3.58,8,8,8s8-3.58,8-8S16.42,5,12,5z&&M9.56,13.49h0.45c0.21,0,0.37-0.05,0.48-0.16s0.16-0.25,0.16-0.43c0-0.08-0.01-0.15-0.04-0.22s-0.06-0.12-0.11-0.17 s-0.11-0.09-0.18-0.11s-0.16-0.04-0.25-0.04c-0.08,0-0.15,0.01-0.22,0.03s-0.13,0.05-0.18,0.1s-0.09,0.09-0.12,0.15 s-0.05,0.13-0.05,0.2H8.65c0-0.18,0.04-0.34,0.11-0.48s0.17-0.27,0.3-0.37s0.27-0.18,0.44-0.23s0.35-0.08,0.54-0.08 c0.21,0,0.41,0.03,0.59,0.08s0.33,0.13,0.46,0.23s0.23,0.23,0.3,0.38s0.11,0.33,0.11,0.53c0,0.09-0.01,0.18-0.04,0.27 s-0.07,0.17-0.13,0.25s-0.12,0.15-0.2,0.22s-0.17,0.12-0.28,0.17c0.24,0.09,0.42,0.21,0.54,0.39s0.18,0.38,0.18,0.61 c0,0.2-0.04,0.38-0.12,0.53s-0.18,0.29-0.32,0.39s-0.29,0.19-0.48,0.24s-0.38,0.08-0.6,0.08c-0.18,0-0.36-0.02-0.53-0.07 s-0.33-0.12-0.46-0.23s-0.25-0.23-0.33-0.38s-0.12-0.34-0.12-0.55h0.85c0,0.08,0.02,0.15,0.05,0.22s0.07,0.12,0.13,0.17 s0.12,0.09,0.2,0.11s0.16,0.04,0.25,0.04c0.1,0,0.19-0.01,0.27-0.04s0.15-0.07,0.2-0.12s0.1-0.11,0.13-0.18s0.04-0.15,0.04-0.24 c0-0.11-0.02-0.21-0.05-0.29s-0.08-0.15-0.14-0.2s-0.13-0.09-0.22-0.11s-0.18-0.04-0.29-0.04H9.56V13.49z&&M15.3,14.24c0,0.32-0.03,0.6-0.1,0.82s-0.17,0.42-0.29,0.57s-0.28,0.26-0.45,0.33s-0.37,0.1-0.59,0.1 s-0.41-0.03-0.59-0.1s-0.33-0.18-0.46-0.33s-0.23-0.34-0.3-0.57s-0.11-0.5-0.11-0.82V13.5c0-0.32,0.03-0.6,0.1-0.82 s0.17-0.42,0.29-0.57s0.28-0.26,0.45-0.33s0.37-0.1,0.59-0.1s0.41,0.03,0.59,0.1s0.33,0.18,0.46,0.33s0.23,0.34,0.3,0.57 s0.11,0.5,0.11,0.82V14.24z M14.45,13.38c0-0.19-0.01-0.35-0.04-0.48c-0.03-0.13-0.07-0.23-0.12-0.31s-0.11-0.14-0.19-0.17 s-0.16-0.05-0.25-0.05s-0.18,0.02-0.25,0.05s-0.14,0.09-0.19,0.17s-0.09,0.18-0.12,0.31s-0.04,0.29-0.04,0.48v0.97 c0,0.19,0.01,0.35,0.04,0.48s0.07,0.24,0.12,0.32s0.11,0.14,0.19,0.17s0.16,0.05,0.25,0.05s0.18-0.02,0.25-0.05 s0.14-0.09,0.19-0.17s0.09-0.19,0.11-0.32c0.03-0.13,0.04-0.29,0.04-0.48V13.38z'\nexport const matReplay5 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,5V1L7,6l5,5V7c3.31,0,6,2.69,6,6s-2.69,6-6,6s-6-2.69-6-6H4c0,4.42,3.58,8,8,8s8-3.58,8-8S16.42,5,12,5z&&M10.69,13.9l0.25-2.17h2.39v0.71h-1.7l-0.11,0.92c0.03-0.02,0.07-0.03,0.11-0.05s0.09-0.04,0.15-0.05 s0.12-0.03,0.18-0.04s0.13-0.02,0.2-0.02c0.21,0,0.39,0.03,0.55,0.1s0.3,0.16,0.41,0.28s0.2,0.27,0.25,0.45s0.09,0.38,0.09,0.6 c0,0.19-0.03,0.37-0.09,0.54s-0.15,0.32-0.27,0.45s-0.27,0.24-0.45,0.31s-0.39,0.12-0.64,0.12c-0.18,0-0.36-0.03-0.53-0.08 s-0.32-0.14-0.46-0.24s-0.24-0.24-0.32-0.39s-0.13-0.33-0.13-0.53h0.84c0.02,0.18,0.08,0.32,0.19,0.41s0.25,0.15,0.42,0.15 c0.11,0,0.2-0.02,0.27-0.06s0.14-0.1,0.18-0.17s0.08-0.15,0.11-0.25s0.03-0.2,0.03-0.31s-0.01-0.21-0.04-0.31 s-0.07-0.17-0.13-0.24s-0.13-0.12-0.21-0.15s-0.19-0.05-0.3-0.05c-0.08,0-0.15,0.01-0.2,0.02s-0.11,0.03-0.15,0.05 s-0.08,0.05-0.12,0.07s-0.07,0.06-0.1,0.09L10.69,13.9z'\nexport const matReply = 'M0 0h24v24H0z@@fill:none;&&M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z'\nexport const matReplyAll = 'M0 0h24v24H0z@@fill:none;&&M7 8V5l-7 7 7 7v-3l-4-4 4-4zm6 1V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z'\nexport const matReport = 'M0 0h24v24H0z@@fill:none;&&M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27L15.73 3zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3zm1-4.3h-2V7h2v6z'\nexport const matReportOff = 'M0 0h24v24H0z@@fill:none;&&M11 7h2v2.92l6.91 6.91 1.09-1.1V8.27L15.73 3H8.27L7.18 4.1 11 7.92zm11.27 14.73l-20-20.01L1 2.99l3.64 3.64L3 8.27v7.46L8.27 21h7.46l1.64-1.63L21 23l1.27-1.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3z'\nexport const matReportProblem = 'M0 0h24v24H0z@@fill:none;&&M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'\nexport const matRequestPage = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V8L14,2z M15,11h-4v1h3c0.55,0,1,0.45,1,1v3 c0,0.55-0.45,1-1,1h-1v1h-2v-1H9v-2h4v-1h-3c-0.55,0-1-0.45-1-1v-3c0-0.55,0.45-1,1-1h1V8h2v1h2V11z'\nexport const matRequestQuote = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,2H6C4.9,2,4.01,2.9,4.01,4L4,20c0,1.1,0.89,2,1.99,2H18c1.1,0,2-0.9,2-2V8L14,2z M15,12h-4v1h3c0.55,0,1,0.45,1,1v3 c0,0.55-0.45,1-1,1h-1v1h-2v-1H9v-2h4v-1h-3c-0.55,0-1-0.45-1-1v-3c0-0.55,0.45-1,1-1h1V9h2v1h2V12z M13,8V3.5L17.5,8H13z'\nexport const matRestaurant = 'M0 0h24v24H0z@@fill:none;&&M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z'\nexport const matRestaurantMenu = 'M0 0h24v24H0z@@fill:none;&&M8.1 13.34l2.83-2.83L3.91 3.5c-1.56 1.56-1.56 4.09 0 5.66l4.19 4.18zm6.78-1.81c1.53.71 3.68.21 5.27-1.38 1.91-1.91 2.28-4.65.81-6.12-1.46-1.46-4.2-1.1-6.12.81-1.59 1.59-2.09 3.74-1.38 5.27L3.7 19.87l1.41 1.41L12 14.41l6.88 6.88 1.41-1.41L13.41 13l1.47-1.47z'\nexport const matRestore = 'M0 0h24v24H0z@@fill:none;&&M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z'\nexport const matRestoreFromTrash = 'M0 0h24v24H0z@@fill:none;&&M19 4h-3.5l-1-1h-5l-1 1H5v2h14zM6 7v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm8 7v4h-4v-4H8l4-4 4 4h-2z'\nexport const matRestorePage = 'M0 0h24v24H0z@@fill:none;&&M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm-2 16c-2.05 0-3.81-1.24-4.58-3h1.71c.63.9 1.68 1.5 2.87 1.5 1.93 0 3.5-1.57 3.5-3.5S13.93 9.5 12 9.5c-1.35 0-2.52.78-3.1 1.9l1.6 1.6h-4V9l1.3 1.3C8.69 8.92 10.23 8 12 8c2.76 0 5 2.24 5 5s-2.24 5-5 5z'\nexport const matRiceBowl = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,12L22,12c0-5.52-4.48-10-10-10S2,6.48,2,12c0,3.69,2.47,6.86,6,8.25V22h8v-1.75C19.53,18.86,22,15.69,22,12z M20,12h-4 V5.08C18.39,6.47,20,9.05,20,12z M14,4.26V12h-4V4.26C10.64,4.1,11.31,4,12,4S13.36,4.1,14,4.26z M4,12c0-2.95,1.61-5.53,4-6.92V12 H4z'\nexport const matRingVolume = 'M0 0h24v24H0z@@fill:none;&&M23.71 16.67C20.66 13.78 16.54 12 12 12 7.46 12 3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71 0-.27-.11-.52-.29-.7zM21.16 6.26l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM13 2h-2v5h2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z'\nexport const matRoofing = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M13,18h-2v-2h2V18z M15,14H9v6h6V14L15,14z M19,9.3L19,9.3V4h-3v2.6v0L12,3L2,12h3l7-6.31L19,12h3L19,9.3z'\nexport const matRoom = 'M0 0h24v24H0z@@fill:none;&&M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'\nexport const matRoomPreferences = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,11.26V6h3v4h2V4h-5V3H5v16H3v2h9.26C11.47,19.87,11,18.49,11,17C11,14.62,12.19,12.53,14,11.26z M10,11h2v2h-2V11z M21.69,16.37l1.14-1l-1-1.73l-1.45,0.49c-0.32-0.27-0.68-0.48-1.08-0.63L19,12h-2l-0.3,1.49c-0.4,0.15-0.76,0.36-1.08,0.63 l-1.45-0.49l-1,1.73l1.14,1c-0.08,0.5-0.08,0.76,0,1.26l-1.14,1l1,1.73l1.45-0.49c0.32,0.27,0.68,0.48,1.08,0.63L17,22h2l0.3-1.49 c0.4-0.15,0.76-0.36,1.08-0.63l1.45,0.49l1-1.73l-1.14-1C21.77,17.13,21.77,16.87,21.69,16.37z M18,19c-1.1,0-2-0.9-2-2s0.9-2,2-2 s2,0.9,2,2S19.1,19,18,19z'\nexport const matRoomService = 'M0 0h24v24H0V0z@@fill:none;&&M2 17h20v2H2zm11.84-9.21c.1-.24.16-.51.16-.79 0-1.1-.9-2-2-2s-2 .9-2 2c0 .28.06.55.16.79C6.25 8.6 3.27 11.93 3 16h18c-.27-4.07-3.25-7.4-7.16-8.21z'\nexport const matRotate90DegreesCcw = 'M0 0h24v24H0z@@fill:none;&&M7.34 6.41L.86 12.9l6.49 6.48 6.49-6.48-6.5-6.49zM3.69 12.9l3.66-3.66L11 12.9l-3.66 3.66-3.65-3.66zm15.67-6.26C17.61 4.88 15.3 4 13 4V.76L8.76 5 13 9.24V6c1.79 0 3.58.68 4.95 2.05 2.73 2.73 2.73 7.17 0 9.9C16.58 19.32 14.79 20 13 20c-.97 0-1.94-.21-2.84-.61l-1.49 1.49C10.02 21.62 11.51 22 13 22c2.3 0 4.61-.88 6.36-2.64 3.52-3.51 3.52-9.21 0-12.72z'\nexport const matRotateLeft = 'M0 0h24v24H0z@@fill:none;&&M7.11 8.53L5.7 7.11C4.8 8.27 4.24 9.61 4.07 11h2.02c.14-.87.49-1.72 1.02-2.47zM6.09 13H4.07c.17 1.39.72 2.73 1.62 3.89l1.41-1.42c-.52-.75-.87-1.59-1.01-2.47zm1.01 5.32c1.16.9 2.51 1.44 3.9 1.61V17.9c-.87-.15-1.71-.49-2.46-1.03L7.1 18.32zM13 4.07V1L8.45 5.55 13 10V6.09c2.84.48 5 2.94 5 5.91s-2.16 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93s-3.05-7.44-7-7.93z'\nexport const matRotateRight = 'M0 0h24v24H0z@@fill:none;&&M15.55 5.55L11 1v3.07C7.06 4.56 4 7.92 4 12s3.05 7.44 7 7.93v-2.02c-2.84-.48-5-2.94-5-5.91s2.16-5.43 5-5.91V10l4.55-4.45zM19.93 11c-.17-1.39-.72-2.73-1.62-3.89l-1.42 1.42c.54.75.88 1.6 1.02 2.47h2.02zM13 17.9v2.02c1.39-.17 2.74-.71 3.9-1.61l-1.44-1.44c-.75.54-1.59.89-2.46 1.03zm3.89-2.42l1.42 1.41c.9-1.16 1.45-2.5 1.62-3.89h-2.02c-.14.87-.48 1.72-1.02 2.48z'\nexport const matRoundedCorner = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,19h2v2h-2V19z M19,17h2v-2h-2V17z M3,13h2v-2H3V13z M3,17h2v-2H3V17z M3,9h2V7H3V9z M3,5h2V3H3V5z M7,5h2V3H7V5z M15,21h2v-2h-2V21z M11,21h2v-2h-2V21z M15,21h2v-2h-2V21z M7,21h2v-2H7V21z M3,21h2v-2H3V21z M21,8c0-2.76-2.24-5-5-5h-5v2h5 c1.65,0,3,1.35,3,3v5h2V8z'\nexport const matRouter = 'M0 0h24v24H0z@@fill:none;&&M20.2 5.9l.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7zm-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1 .9 0 1.8.3 2.5 1l.8-.8zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zM8 18H6v-2h2v2zm3.5 0h-2v-2h2v2zm3.5 0h-2v-2h2v2z'\nexport const matRowing = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M8.5,14.5L4,19l1.5,1.5L9,17h2L8.5,14.5z M15,1c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S16.1,1,15,1z M21,21.01L18,24 l-2.99-3.01V19.5l-7.1-7.09C7.6,12.46,7.3,12.48,7,12.48v-2.16c1.66,0.03,3.61-0.87,4.67-2.04l1.4-1.55 C13.42,6.34,14.06,6,14.72,6h0.03C15.99,6.01,17,7.02,17,8.26v5.75c0,0.84-0.35,1.61-0.92,2.16l-3.58-3.58v-2.27 c-0.63,0.52-1.43,1.02-2.29,1.39L16.5,18H18L21,21.01z'\nexport const matRssFeed = 'M0 0h24v24H0z@@fill:none;&&M6.18 17.82 m-2.18, 0 a2.18,2.18 0 1,0 4.36,0 a2.18,2.18 0 1,0 -4.36,0&&M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z'\nexport const matRule = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.54,11L13,7.46l1.41-1.41l2.12,2.12l4.24-4.24l1.41,1.41L16.54,11z M11,7H2v2h9V7z M21,13.41L19.59,12L17,14.59 L14.41,12L13,13.41L15.59,16L13,18.59L14.41,20L17,17.41L19.59,20L21,18.59L18.41,16L21,13.41z M11,15H2v2h9V15z'\nexport const matRuleFolder = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M7.83,16L5,13.17 l1.41-1.41l1.41,1.41l3.54-3.54l1.41,1.41L7.83,16z M17.41,13L19,14.59L17.59,16L16,14.41L14.41,16L13,14.59L14.59,13L13,11.41 L14.41,10L16,11.59L17.59,10L19,11.41L17.41,13z'\nexport const matRunCircle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M13.5,6c0.55,0,1,0.45,1,1 c0,0.55-0.45,1-1,1s-1-0.45-1-1C12.5,6.45,12.95,6,13.5,6z M16,12c-0.7,0-2.01-0.54-2.91-1.76l-0.41,2.35L14,14.03V18h-1v-3.58 l-1.11-1.21l-0.52,2.64L7.6,15.08l0.2-0.98l2.78,0.57l0.96-4.89L10,10.35V12H9V9.65l3.28-1.21c0.49-0.18,1.03,0.06,1.26,0.53 C14.37,10.67,15.59,11,16,11V12z'\nexport const matRvHookup = 'M0 0h24v24H0z@@fill:none;&&M14 11h4v3h-4z@@fill:none;&&M20 17v-6c0-1.1-.9-2-2-2H7V7l-3 3 3 3v-2h4v3H4v3c0 1.1.9 2 2 2h2c0 1.66 1.34 3 3 3s3-1.34 3-3h8v-2h-2zm-9 3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm7-6h-4v-3h4v3zM17 2v2H9v2h8v2l3-3z'\nexport const matSanitizer = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.5,6.5C15.5,5.66,17,4,17,4s1.5,1.66,1.5,2.5C18.5,7.33,17.83,8,17,8S15.5,7.33,15.5,6.5z M19.5,15 c1.38,0,2.5-1.12,2.5-2.5c0-1.67-2.5-4.5-2.5-4.5S17,10.83,17,12.5C17,13.88,18.12,15,19.5,15z M13,14h-2v-2H9v2H7v2h2v2h2v-2h2V14z M16,12v10H4V12c0-2.97,2.16-5.43,5-5.91V4H7V2h6c1.13,0,2.15,0.39,2.99,1.01l-1.43,1.43C14.1,4.17,13.57,4,13,4h-2v2.09 C13.84,6.57,16,9.03,16,12z'\nexport const matSatellite = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.99h3C8 6.65 6.66 8 5 8V4.99zM5 12v-2c2.76 0 5-2.25 5-5.01h2C12 8.86 8.87 12 5 12zm0 6l3.5-4.5 2.5 3.01L14.5 12l4.5 6H5z'\nexport const matSave = 'M0 0h24v24H0z@@fill:none;&&M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z'\nexport const matSaveAlt = 'M0 0h24v24H0z@@fill:none;&&M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z'\nexport const matScanner = 'M0 0h24v24H0z@@fill:none;&&M19.8 10.7L4.2 5l-.7 1.9L17.6 12H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-5.5c0-.8-.5-1.6-1.2-1.8zM7 17H5v-2h2v2zm12 0H9v-2h10v2z'\nexport const matScatterPlot = 'M0 0h24v24H0V0z@@fill:none;&&M7 14 m-3, 0 a3,3 0 1,0 6,0 a3,3 0 1,0 -6,0&&M11 6 m-3, 0 a3,3 0 1,0 6,0 a3,3 0 1,0 -6,0&&M16.6 17.6 m-3, 0 a3,3 0 1,0 6,0 a3,3 0 1,0 -6,0'\nexport const matSchedule = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z&&M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z'\nexport const matSchool = 'M0 0h24v24H0z@@fill:none;&&M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3L1 9l11 6 9-4.91V17h2V9L12 3z'\nexport const matScience = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.8,18.4L14,10.67V6.5l1.35-1.69C15.61,4.48,15.38,4,14.96,4H9.04C8.62,4,8.39,4.48,8.65,4.81L10,6.5v4.17L4.2,18.4 C3.71,19.06,4.18,20,5,20h14C19.82,20,20.29,19.06,19.8,18.4z'\nexport const matScore = 'M0 0h24v24H0z@@fill:none;&&M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 2h1.5v3l2-3h1.7l-2 3 2 3h-1.7l-2-3v3H12V5zM7 7.25h2.5V6.5H7V5h4v3.75H8.5v.75H11V11H7V7.25zM19 13l-6 6-4-4-4 4v-2.5l4-4 4 4 6-6V13z'\nexport const matScreenLockLandscape = 'M0 0h24v24H0z@@fill:none;&&M21 5H3c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-2 12H5V7h14v10zm-9-1h4c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1v-1c0-1.11-.9-2-2-2-1.11 0-2 .9-2 2v1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1zm.8-6c0-.66.54-1.2 1.2-1.2.66 0 1.2.54 1.2 1.2v1h-2.4v-1z'\nexport const matScreenLockPortrait = 'M0 0h24v24H0z@@fill:none;&&M10 16h4c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1v-1c0-1.11-.9-2-2-2-1.11 0-2 .9-2 2v1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1zm.8-6c0-.66.54-1.2 1.2-1.2.66 0 1.2.54 1.2 1.2v1h-2.4v-1zM17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 18H7V5h10v14z'\nexport const matScreenLockRotation = 'M0 0h24v24H0z@@fill:none;&&M23.25 12.77l-2.57-2.57-1.41 1.41 2.22 2.22-5.66 5.66L4.51 8.17l5.66-5.66 2.1 2.1 1.41-1.41L11.23.75c-.59-.59-1.54-.59-2.12 0L2.75 7.11c-.59.59-.59 1.54 0 2.12l12.02 12.02c.59.59 1.54.59 2.12 0l6.36-6.36c.59-.59.59-1.54 0-2.12zM8.47 20.48C5.2 18.94 2.86 15.76 2.5 12H1c.51 6.16 5.66 11 11.95 11l.66-.03-3.81-3.82-1.33 1.33zM16 9h5c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1v-.5C21 1.12 19.88 0 18.5 0S16 1.12 16 2.5V3c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1zm.8-6.5c0-.94.76-1.7 1.7-1.7s1.7.76 1.7 1.7V3h-3.4v-.5z'\nexport const matScreenRotation = 'M0 0h24v24H0z@@fill:none;&&M16.48 2.52c3.27 1.55 5.61 4.72 5.97 8.48h1.5C23.44 4.84 18.29 0 12 0l-.66.03 3.81 3.81 1.33-1.32zm-6.25-.77c-.59-.59-1.54-.59-2.12 0L1.75 8.11c-.59.59-.59 1.54 0 2.12l12.02 12.02c.59.59 1.54.59 2.12 0l6.36-6.36c.59-.59.59-1.54 0-2.12L10.23 1.75zm4.6 19.44L2.81 9.17l6.36-6.36 12.02 12.02-6.36 6.36zm-7.31.29C4.25 19.94 1.91 16.76 1.55 13H.05C.56 19.16 5.71 24 12 24l.66-.03-3.81-3.81-1.33 1.32z'\nexport const matScreenShare = 'M0 0h24v24H0V0z@@fill:none;&&M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.11-.9-2-2-2H4c-1.11 0-2 .89-2 2v10c0 1.1.89 2 2 2H0v2h24v-2h-4zm-7-3.53v-2.19c-2.78 0-4.61.85-6 2.72.56-2.67 2.11-5.33 6-5.87V7l4 3.73-4 3.74z'\nexport const matSdCard = 'M0 0h24v24H0z@@fill:none;&&M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z'\nexport const matSdStorage = 'M0 0h24v24H0z@@fill:none;&&M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z'\nexport const matSearch = 'M0 0h24v24H0z@@fill:none;&&M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'\nexport const matSearchOff = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z&&M6.47 10.82 L4 13.29 L1.53 10.82 L0.82 11.53 L3.29 14 L0.82 16.47 L1.53 17.18 L4 14.71 L6.47 17.18 L7.18 16.47 L4.71 14 L7.18 11.53z'\nexport const matSecurity = 'M0 0h24v24H0z@@fill:none;&&M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z'\nexport const matSelectAll = 'M0 0h24v24H0z@@fill:none;&&M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z'\nexport const matSelfImprovement = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12 6 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M21,16v-2c-2.24,0-4.16-0.96-5.6-2.68l-1.34-1.6C13.68,9.26,13.12,9,12.53,9h-1.05c-0.59,0-1.15,0.26-1.53,0.72l-1.34,1.6 C7.16,13.04,5.24,14,3,14v2c2.77,0,5.19-1.17,7-3.25V15l-3.88,1.55C5.45,16.82,5,17.48,5,18.21C5,19.2,5.8,20,6.79,20H9v-0.5 c0-1.38,1.12-2.5,2.5-2.5h3c0.28,0,0.5,0.22,0.5,0.5S14.78,18,14.5,18h-3c-0.83,0-1.5,0.67-1.5,1.5V20h7.21 C18.2,20,19,19.2,19,18.21c0-0.73-0.45-1.39-1.12-1.66L14,15v-2.25C15.81,14.83,18.23,16,21,16z'\nexport const matSend = 'M0 0h24v24H0z@@fill:none;&&M2.01 21L23 12 2.01 3 2 10l15 2-15 2z'\nexport const matSensorDoor = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,2H6C4.9,2,4,2.9,4,4v18h16V4C20,2.9,19.1,2,18,2z M15.5,13.5c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5 S17,11.17,17,12S16.33,13.5,15.5,13.5z'\nexport const matSensorWindow = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,4v16H6V4H18 M18,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2L18,2z M7,19h10v-6H7 V19z M10,10h4v1h3V5H7v6h3V10z'\nexport const matSentimentDissatisfied = 'M0 0h24v24H0V0z@@fill:none;&&M15.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M8.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-3.5c.73 0 1.39.19 1.97.53.12-.14.86-.98 1.01-1.14-.85-.56-1.87-.89-2.98-.89-1.11 0-2.13.33-2.99.88.97 1.09.01.02 1.01 1.14.59-.33 1.25-.52 1.98-.52z'\nexport const matSentimentSatisfied = 'M0 0h24v24H0V0z@@fill:none;&&M15.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M8.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-4c-.73 0-1.38-.18-1.96-.52-.12.14-.86.98-1.01 1.15.86.55 1.87.87 2.97.87 1.11 0 2.12-.33 2.98-.88-.97-1.09-.01-.02-1.01-1.15-.59.35-1.24.53-1.97.53z'\nexport const matSentimentSatisfiedAlt = 'M0 0h24v24H0V0z@@fill:none;&&M0 0h24v24H0V0z@@fill:none;&&M15.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M8.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M15.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M8.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-2.5c2.33 0 4.32-1.45 5.12-3.5h-1.67c-.69 1.19-1.97 2-3.45 2s-2.75-.81-3.45-2H6.88c.8 2.05 2.79 3.5 5.12 3.5z'\nexport const matSentimentVeryDissatisfied = 'M0 0h24v24H0V0z@@fill:none;&&M15.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M8.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-6c-2.33 0-4.32 1.45-5.12 3.5h1.67c.69-1.19 1.97-2 3.45-2s2.75.81 3.45 2h1.67c-.8-2.05-2.79-3.5-5.12-3.5z'\nexport const matSentimentVerySatisfied = 'M0 0h24v24H0V0z@@fill:none;&&M15.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M8.5 9.5 m-1.5, 0 a1.5,1.5 0 1,0 3,0 a1.5,1.5 0 1,0 -3,0&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm-5-6c.78 2.34 2.72 4 5 4s4.22-1.66 5-4H7z'\nexport const matSetMeal = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.05,17.56L3.08,18.5L3,17l17.98-0.94L21.05,17.56z M21,19.48H3v1.5h18V19.48z M22,5v7c0,1.1-0.9,2-2,2H4 c-1.1,0-2-0.9-2-2V5c0-1.1,0.9-2,2-2h16C21.1,3,22,3.9,22,5z M20,6c-1.68,0-3.04,0.98-3.21,2.23C16.15,7.5,14.06,5.5,10.25,5.5 c-4.67,0-6.75,3-6.75,3s2.08,3,6.75,3c3.81,0,5.9-2,6.54-2.73C16.96,10.02,18.32,11,20,11V6z'\nexport const matSettings = 'M0,0h24v24H0V0z@@fill:none;&&M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z'\nexport const matSettingsApplications = 'M0 0h24v24H0z@@fill:none;&&M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69z'\nexport const matSettingsBackupRestore = 'M0 0h24v24H0z@@fill:none;&&M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.04 20.3 9.94 21 12 21c4.97 0 9-4.03 9-9s-4.03-9-9-9z'\nexport const matSettingsBluetooth = 'M0 0h24v24H0z@@fill:none;&&M11 24h2v-2h-2v2zm-4 0h2v-2H7v2zm8 0h2v-2h-2v2zm2.71-18.29L12 0h-1v7.59L6.41 3 5 4.41 10.59 10 5 15.59 6.41 17 11 12.41V20h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 3.83l1.88 1.88L13 7.59V3.83zm1.88 10.46L13 16.17v-3.76l1.88 1.88z'\nexport const matSettingsBrightness = 'M0 0h24v24H0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02zM8 16h2.5l1.5 1.5 1.5-1.5H16v-2.5l1.5-1.5-1.5-1.5V8h-2.5L12 6.5 10.5 8H8v2.5L6.5 12 8 13.5V16zm4-7c1.66 0 3 1.34 3 3s-1.34 3-3 3V9z'\nexport const matSettingsCell = 'M0 0h24v24H0z@@fill:none;&&M7 24h2v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM16 .01L8 0C6.9 0 6 .9 6 2v16c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V2c0-1.1-.9-1.99-2-1.99zM16 16H8V4h8v12z'\nexport const matSettingsEthernet = 'M0 0h24v24H0z@@fill:none;&&M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z'\nexport const matSettingsInputAntenna = 'M0 0h24v24H0z@@fill:none;&&M12 5c-3.87 0-7 3.13-7 7h2c0-2.76 2.24-5 5-5s5 2.24 5 5h2c0-3.87-3.13-7-7-7zm1 9.29c.88-.39 1.5-1.26 1.5-2.29 0-1.38-1.12-2.5-2.5-2.5S9.5 10.62 9.5 12c0 1.02.62 1.9 1.5 2.29v3.3L7.59 21 9 22.41l3-3 3 3L16.41 21 13 17.59v-3.3zM12 1C5.93 1 1 5.93 1 12h2c0-4.97 4.03-9 9-9s9 4.03 9 9h2c0-6.07-4.93-11-11-11z'\nexport const matSettingsInputComponent = 'M0 0h24v24H0z@@fill:none;&&M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2h-6v2z'\nexport const matSettingsInputComposite = 'M0 0h24v24H0z@@fill:none;&&M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2h-6v2z'\nexport const matSettingsInputHdmi = 'M0 0h24v24H0z@@fill:none;&&M18 7V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z'\nexport const matSettingsInputSvideo = 'M0 0h24v24H0z@@fill:none;&&M8 11.5c0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 13 6.5 13 8 12.33 8 11.5zm7-5c0-.83-.67-1.5-1.5-1.5h-3C9.67 5 9 5.67 9 6.5S9.67 8 10.5 8h3c.83 0 1.5-.67 1.5-1.5zM8.5 15c-.83 0-1.5.67-1.5 1.5S7.67 18 8.5 18s1.5-.67 1.5-1.5S9.33 15 8.5 15zM12 1C5.93 1 1 5.93 1 12s4.93 11 11 11 11-4.93 11-11S18.07 1 12 1zm0 20c-4.96 0-9-4.04-9-9s4.04-9 9-9 9 4.04 9 9-4.04 9-9 9zm5.5-11c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm-2 5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z'\nexport const matSettingsOverscan = 'M0 0h24v24H0z@@fill:none;&&M12.01 5.5L10 8h4l-1.99-2.5zM18 10v4l2.5-1.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7-13H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z'\nexport const matSettingsPhone = 'M0 0h24v24H0z@@fill:none;&&M13 9h-2v2h2V9zm4 0h-2v2h2V9zm3 6.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 9v2h2V9h-2z'\nexport const matSettingsPower = 'M0 0h24v24H0z@@fill:none;&&M7 24h2v-2H7v2zm4 0h2v-2h-2v2zm2-22h-2v10h2V2zm3.56 2.44l-1.45 1.45C16.84 6.94 18 8.83 18 11c0 3.31-2.69 6-6 6s-6-2.69-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 4.44C5.36 5.88 4 8.28 4 11c0 4.42 3.58 8 8 8s8-3.58 8-8c0-2.72-1.36-5.12-3.44-6.56zM15 24h2v-2h-2v2z'\nexport const matSettingsRemote = 'M0 0h24v24H0z@@fill:none;&&M15 9H9c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V10c0-.55-.45-1-1-1zm-3 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM7.05 6.05l1.41 1.41C9.37 6.56 10.62 6 12 6s2.63.56 3.54 1.46l1.41-1.41C15.68 4.78 13.93 4 12 4s-3.68.78-4.95 2.05zM12 0C8.96 0 6.21 1.23 4.22 3.22l1.41 1.41C7.26 3.01 9.51 2 12 2s4.74 1.01 6.36 2.64l1.41-1.41C17.79 1.23 15.04 0 12 0z'\nexport const matSettingsSystemDaydream = 'M0 0h24v24H0z@@fill:none;&&M9 16h6.5c1.38 0 2.5-1.12 2.5-2.5S16.88 11 15.5 11h-.05c-.24-1.69-1.69-3-3.45-3-1.4 0-2.6.83-3.16 2.02h-.16C7.17 10.18 6 11.45 6 13c0 1.66 1.34 3 3 3zM21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z'\nexport const matSettingsVoice = 'M0 0h24v24H0z@@fill:none;&&M7 24h2v-2H7v2zm5-11c1.66 0 2.99-1.34 2.99-3L15 4c0-1.66-1.34-3-3-3S9 2.34 9 4v6c0 1.66 1.34 3 3 3zm-1 11h2v-2h-2v2zm4 0h2v-2h-2v2zm4-14h-1.7c0 3-2.54 5.1-5.3 5.1S6.7 13 6.7 10H5c0 3.41 2.72 6.23 6 6.72V20h2v-3.28c3.28-.49 6-3.31 6-6.72z'\nexport const matShare = 'M0 0h24v24H0z@@fill:none;&&M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z'\nexport const matShop = 'M0 0h24v24H0z@@fill:none;&&M16 6V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H2v13c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6h-6zm-6-2h4v2h-4V4zM9 18V9l7.5 4L9 18z'\nexport const matShoppingBag = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,6h-2c0-2.21-1.79-4-4-4S8,3.79,8,6H6C4.9,6,4,6.9,4,8v12c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V8C20,6.9,19.1,6,18,6z M10,10c0,0.55-0.45,1-1,1s-1-0.45-1-1V8h2V10z M12,4c1.1,0,2,0.9,2,2h-4C10,4.9,10.9,4,12,4z M16,10c0,0.55-0.45,1-1,1 s-1-0.45-1-1V8h2V10z'\nexport const matShoppingBasket = 'M0 0h24v24H0z@@fill:none;&&M17.21 9l-4.38-6.56c-.19-.28-.51-.42-.83-.42-.32 0-.64.14-.83.43L6.79 9H2c-.55 0-1 .45-1 1 0 .09.01.18.04.27l2.54 9.27c.23.84 1 1.46 1.92 1.46h13c.92 0 1.69-.62 1.93-1.46l2.54-9.27L23 10c0-.55-.45-1-1-1h-4.79zM9 9l3-4.4L15 9H9zm3 8c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matShoppingCart = 'M0 0h24v24H0z@@fill:none;&&M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'\nexport const matShopTwo = 'M0 0h24v24H0z@@fill:none;&&M3 9H1v11c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2H3V9zm15-4V3c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H5v11c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5h-5zm-6-2h4v2h-4V3zm0 12V8l5.5 3-5.5 4z'\nexport const matShortText = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M4,9h16v2H4V9z M4,13h10v2H4V13z'\nexport const matShowChart = 'M0 0h24v24H0z@@fill:none;&&M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z'\nexport const matShuffle = 'M0 0h24v24H0z@@fill:none;&&M10.59 9.17L5.41 4 4 5.41l5.17 5.17 1.42-1.41zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4h-5.5zm.33 9.41l-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04-3.13-3.13z'\nexport const matShutterSpeed = 'M0 0h24v24H0V0z@@fill:none;&&M15 1H9v2h6V1zm4.03 6.39l1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM12 20c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-.32-5H6.35c.57 1.62 1.82 2.92 3.41 3.56l-.11-.06 2.03-3.5zm5.97-4c-.57-1.6-1.78-2.89-3.34-3.54L12.26 11h5.39zm-7.04 7.83c.45.11.91.17 1.39.17 1.34 0 2.57-.45 3.57-1.19l-2.11-3.9-2.85 4.92zM7.55 8.99C6.59 10.05 6 11.46 6 13c0 .34.04.67.09 1h4.72L7.55 8.99zm8.79 8.14C17.37 16.06 18 14.6 18 13c0-.34-.04-.67-.09-1h-4.34l2.77 5.13zm-3.01-9.98C12.9 7.06 12.46 7 12 7c-1.4 0-2.69.49-3.71 1.29l2.32 3.56 2.72-4.7z'\nexport const matSick = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,9c-1.1,0-2-0.9-2-2c0-1.1,2-4,2-4s2,2.9,2,4C23,8.1,22.1,9,21,9z M17.5,7c0-0.73,0.41-1.71,0.92-2.66 C16.68,2.88,14.44,2,11.99,2C6.47,2,2,6.48,2,12c0,5.52,4.47,10,9.99,10C17.52,22,22,17.52,22,12c0-0.55-0.06-1.09-0.14-1.62 C21.58,10.45,21.3,10.5,21,10.5C19.07,10.5,17.5,8.93,17.5,7z M15.62,7.38l1.06,1.06L15.62,9.5l1.06,1.06l-1.06,1.06L13.5,9.5 L15.62,7.38z M7.32,8.44l1.06-1.06L10.5,9.5l-2.12,2.12l-1.06-1.06L8.38,9.5L7.32,8.44z M15.44,17c-0.69-1.19-1.97-2-3.44-2 s-2.75,0.81-3.44,2H6.88c0.3-0.76,0.76-1.43,1.34-1.99L5.24,13.3c-0.45,0.26-1.01,0.28-1.49,0c-0.72-0.41-0.96-1.33-0.55-2.05 c0.41-0.72,1.33-0.96,2.05-0.55c0.48,0.28,0.74,0.78,0.74,1.29l3.58,2.07c0.73-0.36,1.55-0.56,2.43-0.56c2.33,0,4.32,1.45,5.12,3.5 H15.44z'\nexport const matSignalCellular4Bar = 'M0 0h24v24H0z@@fill:none;&&M2 22h20V2z'\nexport const matSignalCellularAlt = 'M0 0h24v24H0z@@fill:none;&&M17 4h3v16h-3zM5 14h3v6H5zm6-5h3v11h-3z'\nexport const matSignalCellularConnectedNoInternet4Bar = 'M0 0h24v24H0z@@fill:none;&&M20 18h2v-8h-2v8zm0 4h2v-2h-2v2zM2 22h16V8h4V2L2 22z'\nexport const matSignalCellularNoSim = 'M-618-2872H782V728H-618zM-1 0h26v24H-1zm1 0h24v24H0z@@fill:none;&&M18.99 5c0-1.1-.89-2-1.99-2h-7L7.66 5.34 19 16.68 18.99 5zM3.65 3.88L2.38 5.15 5 7.77V19c0 1.1.9 2 2 2h10.01c.35 0 .67-.1.96-.26l1.88 1.88 1.27-1.27L3.65 3.88z&&M.01 0h24v24h-24z@@fill:none;'\nexport const matSignalCellularNull = 'M0 0h24v24H0z@@fill:none;&&M20 6.83V20H6.83L20 6.83M22 2L2 22h20V2z'\nexport const matSignalCellularOff = 'M0 0h24v24H0z@@fill:none;&&M21 1l-8.59 8.59L21 18.18V1zM4.77 4.5L3.5 5.77l6.36 6.36L1 21h17.73l2 2L22 21.73 4.77 4.5z'\nexport const matSignalWifi4Bar = 'M0 0h24v24H0z@@fill:none;&&M12.01 21.49L23.64 7c-.45-.34-4.93-4-11.64-4C5.28 3 .81 6.66.36 7l11.63 14.49.01.01.01-.01z'\nexport const matSignalWifi4BarLock = 'M0 0h24v24H0V0z@@fill:none;&&M23 16v-1.5c0-1.4-1.1-2.5-2.5-2.5S18 13.1 18 14.5V16c-.5 0-1 .5-1 1v4c0 .5.5 1 1 1h5c.5 0 1-.5 1-1v-4c0-.5-.5-1-1-1zm-1 0h-3v-1.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5V16zm-6.5-1.5c0-2.8 2.2-5 5-5 .4 0 .7 0 1 .1L23.6 7c-.4-.3-4.9-4-11.6-4C5.3 3 .8 6.7.4 7L12 21.5l3.5-4.4v-2.6z'\nexport const matSignalWifiOff = 'M0 0h24v24H0z@@fill:none;&&M23.64 7c-.45-.34-4.93-4-11.64-4-1.5 0-2.89.19-4.15.48L18.18 13.8 23.64 7zm-6.6 8.22L3.27 1.44 2 2.72l2.05 2.06C1.91 5.76.59 6.82.36 7l11.63 14.49.01.01.01-.01 3.9-4.86 3.32 3.32 1.27-1.27-3.46-3.46z'\nexport const matSimCard = 'M0 0h24v24H0z@@fill:none;&&M19.99 4c0-1.1-.89-2-1.99-2h-8L4 8v12c0 1.1.9 2 2 2h12.01c1.1 0 1.99-.9 1.99-2l-.01-16zM9 19H7v-2h2v2zm8 0h-2v-2h2v2zm-8-4H7v-4h2v4zm4 4h-2v-4h2v4zm0-6h-2v-2h2v2zm4 2h-2v-4h2v4z'\nexport const matSingleBed = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,12c0-1.1-0.9-2-2-2V7c0-1.1-0.9-2-2-2H8C6.9,5,6,5.9,6,7v3c-1.1,0-2,0.9-2,2v5h1.33L6,19h1l0.67-2h8.67L17,19h1l0.67-2 H20V12z M16,10h-3V7h3V10z M8,7h3v3H8V7z M6,12h12v3H6V12z'\nexport const matSkipNext = 'M0 0h24v24H0z@@fill:none;&&M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z'\nexport const matSkipPrevious = 'M0 0h24v24H0z@@fill:none;&&M6 6h2v12H6zm3.5 6l8.5 6V6z'\nexport const matSlideshow = 'M0 0h24v24H0z@@fill:none;&&M10 8v8l5-4-5-4zm9-5H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z'\nexport const matSlowMotionVideo = 'M0 0h24v24H0V0z@@fill:none;&&M13.05 9.79L10 7.5v9l3.05-2.29L16 12zm0 0L10 7.5v9l3.05-2.29L16 12zm0 0L10 7.5v9l3.05-2.29L16 12zM11 4.07V2.05c-2.01.2-3.84 1-5.32 2.21L7.1 5.69c1.11-.86 2.44-1.44 3.9-1.62zM5.69 7.1L4.26 5.68C3.05 7.16 2.25 8.99 2.05 11h2.02c.18-1.46.76-2.79 1.62-3.9zM4.07 13H2.05c.2 2.01 1 3.84 2.21 5.32l1.43-1.43c-.86-1.1-1.44-2.43-1.62-3.89zm1.61 6.74C7.16 20.95 9 21.75 11 21.95v-2.02c-1.46-.18-2.79-.76-3.9-1.62l-1.42 1.43zM22 12c0 5.16-3.92 9.42-8.95 9.95v-2.02C16.97 19.41 20 16.05 20 12s-3.03-7.41-6.95-7.93V2.05C18.08 2.58 22 6.84 22 12z'\nexport const matSmartButton = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,9v6c0,1.1-0.9,2-2,2h-1l0-2h1V9H4v6h6v2H4c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h16C21.1,7,22,7.9,22,9z M14.5,19 l1.09-2.41L18,15.5l-2.41-1.09L14.5,12l-1.09,2.41L11,15.5l2.41,1.09L14.5,19z M17,14l0.62-1.38L19,12l-1.38-0.62L17,10l-0.62,1.38 L15,12l1.38,0.62L17,14z M14.5,19l1.09-2.41L18,15.5l-2.41-1.09L14.5,12l-1.09,2.41L11,15.5l2.41,1.09L14.5,19z M17,14l0.62-1.38 L19,12l-1.38-0.62L17,10l-0.62,1.38L15,12l1.38,0.62L17,14z'\nexport const matSmartphone = 'M0 0h24v24H0z@@fill:none;&&M17 1.01L7 1c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14z'\nexport const matSmokeFree = 'M0 0h24v24H0z@@fill:none;&&M2 6l6.99 7H2v3h9.99l7 7 1.26-1.25-17-17zm18.5 7H22v3h-1.5zM18 13h1.5v3H18zm.85-8.12c.62-.61 1-1.45 1-2.38h-1.5c0 1.02-.83 1.85-1.85 1.85v1.5c2.24 0 4 1.83 4 4.07V12H22V9.92c0-2.23-1.28-4.15-3.15-5.04zM14.5 8.7h1.53c1.05 0 1.97.74 1.97 2.05V12h1.5v-1.59c0-1.8-1.6-3.16-3.47-3.16H14.5c-1.02 0-1.85-.98-1.85-2s.83-1.75 1.85-1.75V2c-1.85 0-3.35 1.5-3.35 3.35s1.5 3.35 3.35 3.35zm2.5 7.23V13h-2.93z'\nexport const matSmokingRooms = 'M0 0h24v24H0z@@fill:none;&&M2 16h15v3H2zm18.5 0H22v3h-1.5zM18 16h1.5v3H18zm.85-8.27c.62-.61 1-1.45 1-2.38C19.85 3.5 18.35 2 16.5 2v1.5c1.02 0 1.85.83 1.85 1.85S17.52 7.2 16.5 7.2v1.5c2.24 0 4 1.83 4 4.07V15H22v-2.24c0-2.22-1.28-4.14-3.15-5.03zm-2.82 2.47H14.5c-1.02 0-1.85-.98-1.85-2s.83-1.75 1.85-1.75v-1.5c-1.85 0-3.35 1.5-3.35 3.35s1.5 3.35 3.35 3.35h1.53c1.05 0 1.97.74 1.97 2.05V15h1.5v-1.64c0-1.81-1.6-3.16-3.47-3.16z'\nexport const matSms = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM9 11H7V9h2v2zm4 0h-2V9h2v2zm4 0h-2V9h2v2z'\nexport const matSmsFailed = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 12h-2v-2h2v2zm0-4h-2V6h2v4z'\nexport const matSnippetFolder = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.88,10.5l1.62,1.62v3.38l-3,0v-5H15.88z M22,8v10c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2L2.01,6C2.01,4.9,2.9,4,4,4h6l2,2 h8C21.1,6,22,6.9,22,8z M19,11.5L16.5,9H13v8l6,0V11.5z'\nexport const matSnooze = 'M0 0h24v24H0z@@fill:none;&&M7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-3-9h3.63L9 15.2V17h6v-2h-3.63L15 10.8V9H9v2z'\nexport const matSoap = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9.12,5l-7.18,6.79C1.34,12.35,1,13.14,1,13.97V20c0,1.66,1.34,3,3,3h6.25H12h5.75c0.69,0,1.25-0.56,1.25-1.25 s-0.56-1.25-1.25-1.25H12v-1h7.75c0.69,0,1.25-0.56,1.25-1.25S20.44,17,19.75,17H12v-1h8.75c0.69,0,1.25-0.56,1.25-1.25 s-0.56-1.25-1.25-1.25H12v-1h6.75c0.69,0,1.25-0.56,1.25-1.25S19.44,10,18.75,10H8.86c0.64-1.11,1.48-2.58,1.49-2.61 c0.09-0.16,0.14-0.33,0.14-0.53c0-0.26-0.09-0.5-0.26-0.7C10.22,6.12,9.12,5,9.12,5L9.12,5z M14,6.25c0.41,0,0.75,0.34,0.75,0.75 S14.41,7.75,14,7.75S13.25,7.41,13.25,7S13.59,6.25,14,6.25 M14,4.75c-1.24,0-2.25,1.01-2.25,2.25S12.76,9.25,14,9.25 S16.25,8.24,16.25,7S15.24,4.75,14,4.75L14,4.75z M19.75,5.5c0.28,0,0.5,0.22,0.5,0.5s-0.22,0.5-0.5,0.5s-0.5-0.22-0.5-0.5 S19.47,5.5,19.75,5.5 M19.75,4c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S20.85,4,19.75,4L19.75,4z M16.5,1C15.67,1,15,1.67,15,2.5 S15.67,4,16.5,4C17.33,4,18,3.33,18,2.5S17.33,1,16.5,1z'\nexport const matSort = 'M0 0h24v24H0z@@fill:none;&&M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z'\nexport const matSortByAlpha = 'M0 0h24v24H0V0zm0 0h24v24H0V0zm.75.75h22.5v22.5H.75z@@fill:none;&&M14.94 4.66h-4.72l2.36-2.36zm-4.69 14.71h4.66l-2.33 2.33zM6.1 6.27L1.6 17.73h1.84l.92-2.45h5.11l.92 2.45h1.84L7.74 6.27H6.1zm-1.13 7.37l1.94-5.18 1.94 5.18H4.97zm10.76 2.5h6.12v1.59h-8.53v-1.29l5.92-8.56h-5.88v-1.6h8.3v1.26l-5.93 8.6z'\nexport const matSource = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M14,16H6v-2h8V16z M18,12H6v-2h12V12z'\nexport const matSouth = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,15l-1.41-1.41L13,18.17V2H11v16.17l-4.59-4.59L5,15l7,7L19,15z'\nexport const matSouthEast = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,9h-2v6.59L5.41,4L4,5.41L15.59,17H9v2h10V9z'\nexport const matSouthWest = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15,19v-2H8.41L20,5.41L18.59,4L7,15.59V9H5v10H15z'\nexport const matSpa = 'M0 0h24v24H0V0zm13.97 21.49c-.63.23-1.29.4-1.97.51.68-.12 1.33-.29 1.97-.51zM12 22c-.68-.12-1.33-.29-1.97-.51.64.22 1.29.39 1.97.51z@@fill:none;&&M8.55 12c-1.07-.71-2.25-1.27-3.53-1.61 1.28.34 2.46.9 3.53 1.61zm10.43-1.61c-1.29.34-2.49.91-3.57 1.64 1.08-.73 2.28-1.3 3.57-1.64z&&M15.49 9.63c-.18-2.79-1.31-5.51-3.43-7.63-2.14 2.14-3.32 4.86-3.55 7.63 1.28.68 2.46 1.56 3.49 2.63 1.03-1.06 2.21-1.94 3.49-2.63zm-6.5 2.65c-.14-.1-.3-.19-.45-.29.15.11.31.19.45.29zm6.42-.25c-.13.09-.27.16-.4.26.13-.1.27-.17.4-.26zM12 15.45C9.85 12.17 6.18 10 2 10c0 5.32 3.36 9.82 8.03 11.49.63.23 1.29.4 1.97.51.68-.12 1.33-.29 1.97-.51C18.64 19.82 22 15.32 22 10c-4.18 0-7.85 2.17-10 5.45z'\nexport const matSpaceBar = 'M0 0h24v24H0V0z@@fill:none;&&M18 9v4H6V9H4v6h16V9z'\nexport const matSpeaker = 'M0 0h24v24H0z@@fill:none;&&M17 2H7c-1.1 0-2 .9-2 2v16c0 1.1.9 1.99 2 1.99L17 22c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-5 2c1.1 0 2 .9 2 2s-.9 2-2 2c-1.11 0-2-.9-2-2s.89-2 2-2zm0 16c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'\nexport const matSpeakerGroup = 'M0 0h24v24H0z@@fill:none;&&M18.2 1H9.8C8.81 1 8 1.81 8 2.8v14.4c0 .99.81 1.79 1.8 1.79l8.4.01c.99 0 1.8-.81 1.8-1.8V2.8c0-.99-.81-1.8-1.8-1.8zM14 3c1.1 0 2 .89 2 2s-.9 2-2 2-2-.89-2-2 .9-2 2-2zm0 13.5c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z&&M14 12.5 m-2.5, 0 a2.5,2.5 0 1,0 5,0 a2.5,2.5 0 1,0 -5,0&&M6 5H4v16c0 1.1.89 2 2 2h10v-2H6V5z'\nexport const matSpeakerNotes = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 14H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z'\nexport const matSpeakerNotesOff = 'M0 0h24v24H0z@@fill:none;&&M10.54 11l-.54-.54L7.54 8 6 6.46 2.38 2.84 1.27 1.73 0 3l2.01 2.01L2 22l4-4h9l5.73 5.73L22 22.46 17.54 18l-7-7zM8 14H6v-2h2v2zm-2-3V9l2 2H6zm14-9H4.08L10 7.92V6h8v2h-7.92l1 1H18v2h-4.92l6.99 6.99C21.14 17.95 22 17.08 22 16V4c0-1.1-.9-2-2-2z'\nexport const matSpeakerPhone = 'M0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M7 7.07L8.43 8.5c.91-.91 2.18-1.48 3.57-1.48s2.66.57 3.57 1.48L17 7.07C15.72 5.79 13.95 5 12 5s-3.72.79-5 2.07zM12 1C8.98 1 6.24 2.23 4.25 4.21l1.41 1.41C7.28 4 9.53 3 12 3s4.72 1 6.34 2.62l1.41-1.41C17.76 2.23 15.02 1 12 1zm2.86 9.01L9.14 10C8.51 10 8 10.51 8 11.14v9.71c0 .63.51 1.14 1.14 1.14h5.71c.63 0 1.14-.51 1.14-1.14v-9.71c.01-.63-.5-1.13-1.13-1.13zM15 20H9v-8h6v8z'\nexport const matSpeed = 'M0 0h24v24H0z@@fill:none;&&M20.38 8.57l-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44zm-9.79 6.84a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z'\nexport const matSpellcheck = 'M0 0h24v24H0z@@fill:none;&&M12.45 16h2.09L9.43 3H7.57L2.46 16h2.09l1.12-3h5.64l1.14 3zm-6.02-5L8.5 5.48 10.57 11H6.43zm15.16.59l-8.09 8.09L9.83 16l-1.41 1.41 5.09 5.09L23 13l-1.41-1.41z'\nexport const matSports = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M11.23,6C9.57,6,8.01,6.66,6.87,7.73C6.54,6.73,5.61,6,4.5,6C3.12,6,2,7.12,2,8.5C2,9.88,3.12,11,4.5,11 c0.21,0,0.41-0.03,0.61-0.08c-0.05,0.25-0.09,0.51-0.1,0.78c-0.18,3.68,2.95,6.68,6.68,6.27c2.55-0.28,4.68-2.26,5.19-4.77 c0.15-0.71,0.15-1.4,0.06-2.06c-0.09-0.6,0.38-1.13,0.99-1.13H22V6H11.23z M4.5,9C4.22,9,4,8.78,4,8.5C4,8.22,4.22,8,4.5,8 S5,8.22,5,8.5C5,8.78,4.78,9,4.5,9z M11,15c-1.66,0-3-1.34-3-3s1.34-3,3-3s3,1.34,3,3S12.66,15,11,15z&&M11 12 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0'\nexport const matSportsBar = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,9h-1.56C17.79,8.41,18,7.73,18,7c0-2.21-1.79-4-4-4c-0.34,0-0.66,0.05-0.98,0.13C12.2,2.45,11.16,2.02,10,2.02 c-1.89,0-3.51,1.11-4.27,2.71C4.15,5.26,3,6.74,3,8.5c0,1.86,1.28,3.41,3,3.86L6,21h11v-2h2c1.1,0,2-0.9,2-2v-6C21,9.9,20.1,9,19,9z M7,10.5c-1.1,0-2-0.9-2-2c0-0.85,0.55-1.6,1.37-1.88l0.8-0.27l0.36-0.76C8,4.62,8.94,4.02,10,4.02c0.79,0,1.39,0.35,1.74,0.65 l0.78,0.65c0,0,0.64-0.32,1.47-0.32c1.1,0,2,0.9,2,2c0,0-3,0-3,0C9.67,7,9.15,10.5,7,10.5z M19,17h-2v-6h2V17z'\nexport const matSportsBaseball = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3.81,6.28C2.67,7.9,2,9.87,2,12s0.67,4.1,1.81,5.72C6.23,16.95,8,14.68,8,12S6.23,7.05,3.81,6.28z&&M20.19,6.28C17.77,7.05,16,9.32,16,12s1.77,4.95,4.19,5.72C21.33,16.1,22,14.13,22,12S21.33,7.9,20.19,6.28z&&M14,12c0-3.28,1.97-6.09,4.79-7.33C17.01,3.02,14.63,2,12,2S6.99,3.02,5.21,4.67C8.03,5.91,10,8.72,10,12 s-1.97,6.09-4.79,7.33C6.99,20.98,9.37,22,12,22s5.01-1.02,6.79-2.67C15.97,18.09,14,15.28,14,12z'\nexport const matSportsBasketball = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.09,11h4.86c-0.16-1.61-0.71-3.11-1.54-4.4C18.68,7.43,17.42,9.05,17.09,11z&&M6.91,11C6.58,9.05,5.32,7.43,3.59,6.6C2.76,7.89,2.21,9.39,2.05,11H6.91z&&M15.07,11c0.32-2.59,1.88-4.79,4.06-6c-1.6-1.63-3.74-2.71-6.13-2.95V11H15.07z&&M8.93,11H11V2.05C8.61,2.29,6.46,3.37,4.87,5C7.05,6.21,8.61,8.41,8.93,11z&&M15.07,13H13v8.95c2.39-0.24,4.54-1.32,6.13-2.95C16.95,17.79,15.39,15.59,15.07,13z&&M3.59,17.4c1.72-0.83,2.99-2.46,3.32-4.4H2.05C2.21,14.61,2.76,16.11,3.59,17.4z&&M17.09,13c0.33,1.95,1.59,3.57,3.32,4.4c0.83-1.29,1.38-2.79,1.54-4.4H17.09z&&M8.93,13c-0.32,2.59-1.88,4.79-4.06,6c1.6,1.63,3.74,2.71,6.13,2.95V13H8.93z'\nexport const matSportsCricket = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15.05,12.81L6.56,4.32c-0.39-0.39-1.02-0.39-1.41,0L2.32,7.15c-0.39,0.39-0.39,1.02,0,1.41l8.49,8.49 c0.39,0.39,1.02,0.39,1.41,0l2.83-2.83C15.44,13.83,15.44,13.2,15.05,12.81z&&M16.17 16.17 H18.17 V22.17 H16.17 V16.17 z@@@@matrix(0.7071 -0.7071 0.7071 0.7071 -8.5264 17.7562)&&M18.5 5.5 m-3.5, 0 a3.5,3.5 0 1,0 7,0 a3.5,3.5 0 1,0 -7,0'\nexport const matSportsEsports = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.58,16.09l-1.09-7.66C20.21,6.46,18.52,5,16.53,5H7.47C5.48,5,3.79,6.46,3.51,8.43l-1.09,7.66 C2.2,17.63,3.39,19,4.94,19h0c0.68,0,1.32-0.27,1.8-0.75L9,16h6l2.25,2.25c0.48,0.48,1.13,0.75,1.8,0.75h0 C20.61,19,21.8,17.63,21.58,16.09z M11,11H9v2H8v-2H6v-1h2V8h1v2h2V11z M15,10c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1 C16,9.55,15.55,10,15,10z M17,13c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1C18,12.55,17.55,13,17,13z'\nexport const matSportsFootball = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3.02,15.62c-0.08,2.42,0.32,4.34,0.67,4.69s2.28,0.76,4.69,0.67L3.02,15.62z&&M13.08,3.28C10.75,3.7,8.29,4.62,6.46,6.46s-2.76,4.29-3.18,6.62l7.63,7.63c2.34-0.41,4.79-1.34,6.62-3.18 s2.76-4.29,3.18-6.62L13.08,3.28z M9.9,15.5l-1.4-1.4l5.6-5.6l1.4,1.4L9.9,15.5z&&M20.98,8.38c0.08-2.42-0.32-4.34-0.67-4.69s-2.28-0.76-4.69-0.67L20.98,8.38z'\nexport const matSportsGolf = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,16c3.87,0,7-3.13,7-7c0-3.87-3.13-7-7-7S5,5.13,5,9C5,12.87,8.13,16,12,16z M12,4c2.76,0,5,2.24,5,5s-2.24,5-5,5 s-5-2.24-5-5S9.24,4,12,4z&&M10 8 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M14 8 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M12 6 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M7,19h2c1.1,0,2,0.9,2,2v1h2v-1c0-1.1,0.9-2,2-2h2v-2H7V19z'\nexport const matSportsHandball = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14.27,6C13.72,6.95,14.05,8.18,15,8.73c0.95,0.55,2.18,0.22,2.73-0.73c0.55-0.95,0.22-2.18-0.73-2.73 C16.05,4.72,14.82,5.05,14.27,6z&&M15.84,10.41c0,0-1.63-0.94-2.6-1.5c-2.38-1.38-3.2-4.44-1.82-6.82l-1.73-1C8.1,3.83,8.6,7.21,10.66,9.4l-5.15,8.92 l1.73,1l1.5-2.6l1.73,1l-3,5.2l1.73,1l6.29-10.89c1.14,1.55,1.33,3.69,0.31,5.46l1.73,1C19.13,16.74,18.81,12.91,15.84,10.41z&&M12.75,3.8c0.72,0.41,1.63,0.17,2.05-0.55c0.41-0.72,0.17-1.63-0.55-2.05c-0.72-0.41-1.63-0.17-2.05,0.55 C11.79,2.47,12.03,3.39,12.75,3.8z'\nexport const matSportsHockey = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M2,17v3l2,0v-4H3C2.45,16,2,16.45,2,17z&&M9,16H5v4l4.69-0.01c0.38,0,0.72-0.21,0.89-0.55l0.87-1.9l-1.59-3.48L9,16z&&M21.71,16.29C21.53,16.11,21.28,16,21,16h-1v4l2,0v-3C22,16.72,21.89,16.47,21.71,16.29z&&M13.6,12.84L17.65,4H14.3l-1.76,3.97l-0.49,1.1L12,9.21L9.7,4H6.35l4.05,8.84l1.52,3.32L12,16.34l1.42,3.1 c0.17,0.34,0.51,0.55,0.89,0.55L19,20v-4h-4L13.6,12.84z'\nexport const matSportsKabaddi = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.5 2.38 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M24,11.88v-4.7l-5.05-2.14c-0.97-0.41-2.09-0.06-2.65,0.84l0,0l-1,1.6c-0.67,1.18-1.91,2.06-3.41,2.32l0.06,0.06 c0.69,0.69,1.52,1.07,2.46,1.17c0.8-0.42,1.52-0.98,2.09-1.64l0.6,3l-1.16,1.1L15,14.38v0.76v6.74h2v-6l2.1-2l1.8,8H23l-2.18-11 l-0.62-3.1l1.8,0.7v3.4H24z&&M10.29,8.09c0.22,0.15,0.47,0.24,0.72,0.29c0.13,0.02,0.25,0.04,0.38,0.04s0.26-0.01,0.38-0.04 c0.13-0.02,0.25-0.06,0.37-0.11c0.24-0.1,0.47-0.24,0.66-0.44c0.49-0.49,0.67-1.17,0.55-1.8C13.28,5.66,13.1,5.29,12.8,5 c-0.19-0.19-0.42-0.34-0.66-0.44c-0.12-0.05-0.24-0.09-0.37-0.11s-0.25-0.04-0.38-0.04c-0.12,0-0.23,0.01-0.35,0.03 c-0.14,0.02-0.28,0.06-0.41,0.11C10.4,4.66,10.17,4.81,9.98,5C9.68,5.29,9.5,5.66,9.43,6.03c-0.12,0.63,0.06,1.31,0.55,1.8 C10.07,7.93,10.18,8.01,10.29,8.09z&&M11.24,10.56l-2-2c-0.1-0.1-0.2-0.18-0.31-0.26C8.71,8.16,8.46,8.06,8.21,8.02C8.08,7.99,7.96,7.98,7.83,7.98 c-0.51,0-1.02,0.2-1.41,0.59l-3.34,3.34c-0.41,0.41-0.62,0.98-0.58,1.54C2.5,13.63,2.54,13.82,2.61,14l1.07,2.95l-3.63,3.63 L1.46,22l4.24-4.24v-2.22L7,16.75v5.13h2v-6l-2.12-2.12l2.36-2.36l0.71,0.71l0,0c1.29,1.26,2.97,2.04,5.03,2.04l-0.14-2.07 C13.34,12.06,12.14,11.46,11.24,10.56z'\nexport const matSportsMma = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M7,20c0,0.55,0.45,1,1,1h8c0.55,0,1-0.45,1-1v-3H7V20z&&M18,7c-0.55,0-1,0.45-1,1V5c0-1.1-0.9-2-2-2H7C5.9,3,5,3.9,5,5v5.8c0,0.13,0.01,0.26,0.04,0.39l0.8,4 c0.09,0.47,0.5,0.8,0.98,0.8h10.36c0.45,0,0.89-0.36,0.98-0.8l0.8-4C18.99,11.06,19,10.93,19,10.8V8C19,7.45,18.55,7,18,7z M15,10 H7V7h8V10z'\nexport const matSportsMotorsports = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,11.39c0-0.65-0.39-1.23-0.98-1.48L5.44,7.55c-1.48,1.68-2.32,3.7-2.8,5.45h7.75C11.28,13,12,12.28,12,11.39z&&M21.96,11.22c-0.41-4.41-4.56-7.49-8.98-7.2c-2.51,0.16-4.44,0.94-5.93,2.04l4.74,2.01c1.33,0.57,2.2,1.87,2.2,3.32 c0,1.99-1.62,3.61-3.61,3.61H2.21C2,16.31,2,17.2,2,17.2V18c0,1.1,0.9,2,2,2h10C18.67,20,22.41,15.99,21.96,11.22z'\nexport const matSportsRugby = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20.49,3.51c-0.56-0.56-2.15-0.97-4.16-0.97c-3.08,0-7.15,0.96-9.98,3.79C1.66,11.03,2.1,19.07,3.51,20.49 c0.56,0.56,2.15,0.97,4.16,0.97c3.08,0,7.15-0.96,9.98-3.79C22.34,12.97,21.9,4.93,20.49,3.51z M7.76,7.76 c2.64-2.64,6.35-3.12,8.03-3.19c-2.05,0.94-4.46,2.45-6.61,4.61c-2.16,2.16-3.67,4.58-4.62,6.63C4.66,13.33,5.44,10.07,7.76,7.76z M16.24,16.24c-2.64,2.64-6.35,3.12-8.03,3.19c2.05-0.94,4.46-2.45,6.61-4.61c2.16-2.16,3.67-4.58,4.62-6.63 C19.34,10.67,18.56,13.93,16.24,16.24z'\nexport const matSportsSoccer = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M13,5.3l1.35-0.95 c1.82,0.56,3.37,1.76,4.38,3.34l-0.39,1.34l-1.35,0.46L13,6.7V5.3z M9.65,4.35L11,5.3v1.4L7.01,9.49L5.66,9.03L5.27,7.69 C6.28,6.12,7.83,4.92,9.65,4.35z M7.08,17.11l-1.14,0.1C4.73,15.81,4,13.99,4,12c0-0.12,0.01-0.23,0.02-0.35l1-0.73L6.4,11.4 l1.46,4.34L7.08,17.11z M14.5,19.59C13.71,19.85,12.87,20,12,20s-1.71-0.15-2.5-0.41l-0.69-1.49L9.45,17h5.11l0.64,1.11 L14.5,19.59z M14.27,15H9.73l-1.35-4.02L12,8.44l3.63,2.54L14.27,15z M18.06,17.21l-1.14-0.1l-0.79-1.37l1.46-4.34l1.39-0.47 l1,0.73C19.99,11.77,20,11.88,20,12C20,13.99,19.27,15.81,18.06,17.21z'\nexport const matSportsTennis = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19.52,2.49c-2.34-2.34-6.62-1.87-9.55,1.06c-1.6,1.6-2.52,3.87-2.54,5.46c-0.02,1.58,0.26,3.89-1.35,5.5l-4.24,4.24 l1.42,1.42l4.24-4.24c1.61-1.61,3.92-1.33,5.5-1.35s3.86-0.94,5.46-2.54C21.38,9.11,21.86,4.83,19.52,2.49z M10.32,11.68 c-1.53-1.53-1.05-4.61,1.06-6.72s5.18-2.59,6.72-1.06c1.53,1.53,1.05,4.61-1.06,6.72S11.86,13.21,10.32,11.68z&&M18,17c0.53,0,1.04,0.21,1.41,0.59c0.78,0.78,0.78,2.05,0,2.83C19.04,20.79,18.53,21,18,21s-1.04-0.21-1.41-0.59 c-0.78-0.78-0.78-2.05,0-2.83C16.96,17.21,17.47,17,18,17 M18,15c-1.02,0-2.05,0.39-2.83,1.17c-1.56,1.56-1.56,4.09,0,5.66 C15.95,22.61,16.98,23,18,23s2.05-0.39,2.83-1.17c1.56-1.56,1.56-4.09,0-5.66C20.05,15.39,19.02,15,18,15L18,15z'\nexport const matSportsVolleyball = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6,4.01C3.58,5.84,2,8.73,2,12c0,1.46,0.32,2.85,0.89,4.11L6,14.31V4.01z&&M11,11.42V2.05C9.94,2.16,8.93,2.43,8,2.84v10.32L11,11.42z&&M12,13.15l-8.11,4.68c0.61,0.84,1.34,1.59,2.18,2.2L15,14.89L12,13.15z&&M13,7.96v3.46l8.11,4.68c0.42-0.93,0.7-1.93,0.82-2.98L13,7.96z&&M8.07,21.2C9.28,21.71,10.6,22,12,22c3.34,0,6.29-1.65,8.11-4.16L17,16.04L8.07,21.2z&&M21.92,10.81c-0.55-4.63-4.26-8.3-8.92-8.76v3.6L21.92,10.81z'\nexport const matSquareFoot = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M17.66,17.66l-1.06,1.06l-0.71-0.71l1.06-1.06l-1.94-1.94l-1.06,1.06l-0.71-0.71l1.06-1.06l-1.94-1.94l-1.06,1.06 l-0.71-0.71l1.06-1.06L9.7,9.7l-1.06,1.06l-0.71-0.71l1.06-1.06L7.05,7.05L5.99,8.11L5.28,7.4l1.06-1.06L4,4v14c0,1.1,0.9,2,2,2 h14L17.66,17.66z M7,17v-5.76L12.76,17H7z'\nexport const matStackedLineChart = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M2,19.99l7.5-7.51l4,4l7.09-7.97L22,9.92l-8.5,9.56l-4-4l-6,6.01L2,19.99z M3.5,15.49l6-6.01l4,4L22,3.92l-1.41-1.41 l-7.09,7.97l-4-4L2,13.99L3.5,15.49z'\nexport const matStairs = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M18,8h-2.42v3.33H13v3.33h-2.58 V18H6v-2h2.42v-3.33H11V9.33h2.58V6H18V8z'\nexport const matStar = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0z@@fill:none;&&M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'\nexport const matStarBorder = 'M0 0h24v24H0z@@fill:none;&&M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z'\nexport const matStarHalf = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,9.24l-7.19-0.62L12,2L9.19,8.63L2,9.24l5.46,4.73L5.82,21L12,17.27L18.18,21l-1.63-7.03L22,9.24z M12,15.4V6.1 l1.71,4.04l4.38,0.38l-3.32,2.88l1,4.28L12,15.4z'\nexport const matStarOutline = 'M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z'\nexport const matStarRate = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14.43 10 L12 2 L9.57 10 L2 10 L8.18 14.41 L5.83 22 L12 17.31 L18.18 22 L15.83 14.41 L22 10z'\nexport const matStars = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm4.24 16L12 15.45 7.77 18l1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.73 3.23L16.23 18z'\nexport const matStayCurrentLandscape = 'M0 0h24v24H0z@@fill:none;&&M1.01 7L1 17c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2H3c-1.1 0-1.99.9-1.99 2zM19 7v10H5V7h14z'\nexport const matStayCurrentPortrait = 'M0 0h24v24H0z@@fill:none;&&M17 1.01L7 1c-1.1 0-1.99.9-1.99 2v18c0 1.1.89 2 1.99 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14z'\nexport const matStayPrimaryLandscape = 'M0 0h24v24H0z@@fill:none;&&M1.01 7L1 17c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2H3c-1.1 0-1.99.9-1.99 2zM19 7v10H5V7h14z'\nexport const matStayPrimaryPortrait = 'M0 0h24v24H0z@@fill:none;&&M17 1.01L7 1c-1.1 0-1.99.9-1.99 2v18c0 1.1.89 2 1.99 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14z'\nexport const matStickyNote2 = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H4.99C3.89,3,3,3.9,3,5l0.01,14c0,1.1,0.89,2,1.99,2h10l6-6V5C21,3.9,20.1,3,19,3z M7,8h10v2H7V8z M12,14H7v-2h5V14z M14,19.5V14h5.5L14,19.5z'\nexport const matStop = 'M0 0h24v24H0z@@fill:none;&&M6 6h12v12H6z'\nexport const matStopCircle = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M8,16h8V8H8V16z M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10 S17.52,2,12,2L12,2z@@fill-rule:evenodd;'\nexport const matStopScreenShare = 'M0 0h24v24H0V0z@@fill:none;&&M21.22 18.02l2 2H24v-2h-2.78zm.77-2l.01-10c0-1.11-.9-2-2-2H7.22l5.23 5.23c.18-.04.36-.07.55-.1V7.02l4 3.73-1.58 1.47 5.54 5.54c.61-.33 1.03-.99 1.03-1.74zM2.39 1.73L1.11 3l1.54 1.54c-.4.36-.65.89-.65 1.48v10c0 1.1.89 2 2 2H0v2h18.13l2.71 2.71 1.27-1.27L2.39 1.73zM7 15.02c.31-1.48.92-2.95 2.07-4.06l1.59 1.59c-1.54.38-2.7 1.18-3.66 2.47z'\nexport const matStorage = 'M0 0h24v24H0z@@fill:none;&&M2 20h20v-4H2v4zm2-3h2v2H4v-2zM2 4v4h20V4H2zm4 3H4V5h2v2zm-4 7h20v-4H2v4zm2-3h2v2H4v-2z'\nexport const matStore = 'M0 0h24v24H0z@@fill:none;&&M20 4H4v2h16V4zm1 10v-2l-1-5H4l-1 5v2h1v6h10v-6h4v6h2v-6h1zm-9 4H6v-4h6v4z'\nexport const matStorefront = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.9,8.89l-1.05-4.37c-0.22-0.9-1-1.52-1.91-1.52H5.05C4.15,3,3.36,3.63,3.15,4.52L2.1,8.89 c-0.24,1.02-0.02,2.06,0.62,2.88C2.8,11.88,2.91,11.96,3,12.06V19c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2v-6.94 c0.09-0.09,0.2-0.18,0.28-0.28C21.92,10.96,22.15,9.91,21.9,8.89z M18.91,4.99l1.05,4.37c0.1,0.42,0.01,0.84-0.25,1.17 C19.57,10.71,19.27,11,18.77,11c-0.61,0-1.14-0.49-1.21-1.14L16.98,5L18.91,4.99z M13,5h1.96l0.54,4.52 c0.05,0.39-0.07,0.78-0.33,1.07C14.95,10.85,14.63,11,14.22,11C13.55,11,13,10.41,13,9.69V5z M8.49,9.52L9.04,5H11v4.69 C11,10.41,10.45,11,9.71,11c-0.34,0-0.65-0.15-0.89-0.41C8.57,10.3,8.45,9.91,8.49,9.52z M4.04,9.36L5.05,5h1.97L6.44,9.86 C6.36,10.51,5.84,11,5.23,11c-0.49,0-0.8-0.29-0.93-0.47C4.03,10.21,3.94,9.78,4.04,9.36z M5,19v-6.03C5.08,12.98,5.15,13,5.23,13 c0.87,0,1.66-0.36,2.24-0.95c0.6,0.6,1.4,0.95,2.31,0.95c0.87,0,1.65-0.36,2.23-0.93c0.59,0.57,1.39,0.93,2.29,0.93 c0.84,0,1.64-0.35,2.24-0.95c0.58,0.59,1.37,0.95,2.24,0.95c0.08,0,0.15-0.02,0.23-0.03V19H5z'\nexport const matStoreMallDirectory = 'M0 0h24v24H0z@@fill:none;&&M20 4H4v2h16V4zm1 10v-2l-1-5H4l-1 5v2h1v6h10v-6h4v6h2v-6h1zm-9 4H6v-4h6v4z'\nexport const matStraighten = 'M0 0h24v24H0z@@fill:none;&&M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H3V8h2v4h2V8h2v4h2V8h2v4h2V8h2v4h2V8h2v8z'\nexport const matStreetview = 'M0 0h24v24H0z@@fill:none;&&M12.56 14.33c-.34.27-.56.7-.56 1.17V21h7c1.1 0 2-.9 2-2v-5.98c-.94-.33-1.95-.52-3-.52-2.03 0-3.93.7-5.44 1.83z&&M18 6 m-5, 0 a5,5 0 1,0 10,0 a5,5 0 1,0 -10,0&&M11.5 6c0-1.08.27-2.1.74-3H5c-1.1 0-2 .9-2 2v14c0 .55.23 1.05.59 1.41l9.82-9.82C12.23 9.42 11.5 7.8 11.5 6z'\nexport const matStrikethroughS = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6.85,7.08C6.85,4.37,9.45,3,12.24,3c1.64,0,3,0.49,3.9,1.28c0.77,0.65,1.46,1.73,1.46,3.24h-3.01 c0-0.31-0.05-0.59-0.15-0.85c-0.29-0.86-1.2-1.28-2.25-1.28c-1.86,0-2.34,1.02-2.34,1.7c0,0.48,0.25,0.88,0.74,1.21 C10.97,8.55,11.36,8.78,12,9H7.39C7.18,8.66,6.85,8.11,6.85,7.08z M21,12v-2H3v2h9.62c1.15,0.45,1.96,0.75,1.96,1.97 c0,1-0.81,1.67-2.28,1.67c-1.54,0-2.93-0.54-2.93-2.51H6.4c0,0.55,0.08,1.13,0.24,1.58c0.81,2.29,3.29,3.3,5.67,3.3 c2.27,0,5.3-0.89,5.3-4.05c0-0.3-0.01-1.16-0.48-1.94H21V12z'\nexport const matStroller = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16 20 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M6 20 m-2, 0 a2,2 0 1,0 4,0 a2,2 0 1,0 -4,0&&M22,7V6.48C22,4.56,20.52,3,18.65,3c-1.66,0-2.54,1.27-3.18,2.03l-8.8,10.32C6.12,16,6.58,17,7.43,17L15,17 c1.1,0,2-0.9,2-2V6.27C17.58,5.59,17.97,5,18.65,5C19.42,5,20,5.66,20,6.48V7H22z&&M14.3,4.1C13.03,3.4,11.56,3,10,3C8.03,3,6.21,3.64,4.72,4.72l4.89,4.89L14.3,4.1z'\nexport const matStyle = 'M0 0h24v24H0z@@fill:none;&&M2.53 19.65l1.34.56v-9.03l-2.43 5.86c-.41 1.02.08 2.19 1.09 2.61zm19.5-3.7L17.07 3.98c-.31-.75-1.04-1.21-1.81-1.23-.26 0-.53.04-.79.15L7.1 5.95c-.75.31-1.21 1.03-1.23 1.8-.01.27.04.54.15.8l4.96 11.97c.31.76 1.05 1.22 1.83 1.23.26 0 .52-.05.77-.15l7.36-3.05c1.02-.42 1.51-1.59 1.09-2.6zM7.88 8.75c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-2 11c0 1.1.9 2 2 2h1.45l-3.45-8.34v6.34z'\nexport const matSubdirectoryArrowLeft = 'M0 0h24v24H0V0z@@fill:none;&&M11 9l1.42 1.42L8.83 14H18V4h2v12H8.83l3.59 3.58L11 21l-6-6 6-6z'\nexport const matSubdirectoryArrowRight = 'M0 0h24v24H0V0z@@fill:none;&&M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z'\nexport const matSubject = 'M0 0h24v24H0z@@fill:none;&&M14 17H4v2h10v-2zm6-8H4v2h16V9zM4 15h16v-2H4v2zM4 5v2h16V5H4z'\nexport const matSubscript = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,18h-2v1h3v1h-4v-2c0-0.55,0.45-1,1-1h2v-1h-3v-1h3c0.55,0,1,0.45,1,1v1C23,17.55,22.55,18,22,18z M5.88,18h2.66 l3.4-5.42h0.12l3.4,5.42h2.66l-4.65-7.27L17.81,4h-2.68l-3.07,4.99h-0.12L8.85,4H6.19l4.32,6.73L5.88,18z'\nexport const matSubscriptions = 'M20 8H4V6h16v2zm-2-6H6v2h12V2zm4 10v8c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2v-8c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2zm-6 4l-6-3.27v6.53L16 16z&&M0 0h24v24H0z@@fill:none;'\nexport const matSubtitles = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z'\nexport const matSubtitlesOff = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,4H6.83l8,8H20v2h-3.17l4.93,4.93C21.91,18.65,22,18.34,22,18V6C22,4.9,21.1,4,20,4z&&M1.04,3.87l1.2,1.2C2.09,5.35,2,5.66,2,6v12c0,1.1,0.9,2,2,2h13.17l2.96,2.96l1.41-1.41L2.45,2.45L1.04,3.87z M8,12v2H4 v-2H8z M14,16.83V18H4v-2h9.17L14,16.83z'\nexport const matSubway = 'M0 0v24h24V0H0zm22 22H2V8.86C2 6.05 3.53 3.84 6.2 2.8 8 2.09 10.14 2 12 2c1.86 0 4 .09 5.8.8C20.47 3.84 22 6.05 22 8.86V22z@@fill:none;&&M15.5 16 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M8.5 16 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M7.01 9h10v5h-10zM17.8 2.8C16 2.09 13.86 2 12 2c-1.86 0-4 .09-5.8.8C3.53 3.84 2 6.05 2 8.86V22h20V8.86c0-2.81-1.53-5.02-4.2-6.06zm.2 13.08c0 1.45-1.18 2.62-2.63 2.62l1.13 1.12V20H15l-1.5-1.5h-2.83L9.17 20H7.5v-.38l1.12-1.12C7.18 18.5 6 17.32 6 15.88V9c0-2.63 3-3 6-3 3.32 0 6 .38 6 3v6.88z'\nexport const matSuperscript = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,7h-2v1h3v1h-4V7c0-0.55,0.45-1,1-1h2V5h-3V4h3c0.55,0,1,0.45,1,1v1C23,6.55,22.55,7,22,7z M5.88,20h2.66l3.4-5.42h0.12 l3.4,5.42h2.66l-4.65-7.27L17.81,6h-2.68l-3.07,4.99h-0.12L8.85,6H6.19l4.32,6.73L5.88,20z'\nexport const matSupervisedUserCircle = 'M0 0h24v24H0z@@fill:none;&&M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm3.61 6.34c1.07 0 1.93.86 1.93 1.93 0 1.07-.86 1.93-1.93 1.93-1.07 0-1.93-.86-1.93-1.93-.01-1.07.86-1.93 1.93-1.93zm-6-1.58c1.3 0 2.36 1.06 2.36 2.36 0 1.3-1.06 2.36-2.36 2.36s-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36zm0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68zM11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09z'\nexport const matSupervisorAccount = 'M0 0h24v24H0z@@fill:none;&&M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5zM9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3zm7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75zM9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z'\nexport const matSupport = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M19.46,9.12l-2.78,1.15 c-0.51-1.36-1.58-2.44-2.95-2.94l1.15-2.78C16.98,5.35,18.65,7.02,19.46,9.12z M12,15c-1.66,0-3-1.34-3-3s1.34-3,3-3s3,1.34,3,3 S13.66,15,12,15z M9.13,4.54l1.17,2.78c-1.38,0.5-2.47,1.59-2.98,2.97L4.54,9.13C5.35,7.02,7.02,5.35,9.13,4.54z M4.54,14.87 l2.78-1.15c0.51,1.38,1.59,2.46,2.97,2.96l-1.17,2.78C7.02,18.65,5.35,16.98,4.54,14.87z M14.88,19.46l-1.15-2.78 c1.37-0.51,2.45-1.59,2.95-2.97l2.78,1.17C18.65,16.98,16.98,18.65,14.88,19.46z'\nexport const matSupportAgent = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,12.22C21,6.73,16.74,3,12,3c-4.69,0-9,3.65-9,9.28C2.4,12.62,2,13.26,2,14v2c0,1.1,0.9,2,2,2h1v-6.1 c0-3.87,3.13-7,7-7s7,3.13,7,7V19h-8v2h8c1.1,0,2-0.9,2-2v-1.22c0.59-0.31,1-0.92,1-1.64v-2.3C22,13.14,21.59,12.53,21,12.22z&&M9 13 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M15 13 m-1, 0 a1,1 0 1,0 2,0 a1,1 0 1,0 -2,0&&M18,11.03C17.52,8.18,15.04,6,12.05,6c-3.03,0-6.29,2.51-6.03,6.45c2.47-1.01,4.33-3.21,4.86-5.89 C12.19,9.19,14.88,11,18,11.03z'\nexport const matSurroundSound = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7.76 16.24l-1.41 1.41C4.78 16.1 4 14.05 4 12c0-2.05.78-4.1 2.34-5.66l1.41 1.41C6.59 8.93 6 10.46 6 12s.59 3.07 1.76 4.24zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm5.66 1.66l-1.41-1.41C17.41 15.07 18 13.54 18 12s-.59-3.07-1.76-4.24l1.41-1.41C19.22 7.9 20 9.95 20 12c0 2.05-.78 4.1-2.34 5.66zM12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\nexport const matSwapCalls = 'M0 0h24v24H0z@@fill:none;&&M18 4l-4 4h3v7c0 1.1-.9 2-2 2s-2-.9-2-2V8c0-2.21-1.79-4-4-4S5 5.79 5 8v7H2l4 4 4-4H7V8c0-1.1.9-2 2-2s2 .9 2 2v7c0 2.21 1.79 4 4 4s4-1.79 4-4V8h3l-4-4z'\nexport const matSwapHoriz = 'M0 0h24v24H0z@@fill:none;&&M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z'\nexport const matSwapHorizontalCircle = 'M0 0h24v24H0V0z@@fill:none;&&M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12s4.48 10 10 10 10-4.48 10-10zm-7-5.5l3.5 3.5-3.5 3.5V11h-4V9h4V6.5zm-6 11L5.5 14 9 10.5V13h4v2H9v2.5z'\nexport const matSwapVert = 'M0 0h24v24H0z@@fill:none;&&M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z'\nexport const matSwapVerticalCircle = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM6.5 9L10 5.5 13.5 9H11v4H9V9H6.5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z'\nexport const matSwitchCamera = 'M0 0h24v24H0z@@fill:none;&&M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 11.5V13H9v2.5L5.5 12 9 8.5V11h6V8.5l3.5 3.5-3.5 3.5z'\nexport const matSwitchLeft = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M8.5,8.62v6.76L5.12,12L8.5,8.62 M10,5l-7,7l7,7V5L10,5z M14,5v14l7-7L14,5z'\nexport const matSwitchRight = 'M0 0 H24 V24 H0 V0 z@@fill:none;@@matrix(-1 -1.224647e-16 1.224647e-16 -1 24 24)&&M15.5,15.38V8.62L18.88,12L15.5,15.38 M14,19l7-7l-7-7V19L14,19z M10,19V5l-7,7L10,19z'\nexport const matSwitchVideo = 'M0 0h24v24H0z@@fill:none;&&M18 9.5V6c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-3.5l4 4v-13l-4 4zm-5 6V13H7v2.5L3.5 12 7 8.5V11h6V8.5l3.5 3.5-3.5 3.5z'\nexport const matSync = 'M0 0h24v24H0z@@fill:none;&&M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z'\nexport const matSyncAlt = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,8l-4-4v3H3v2h15v3L22,8z&&M2,16l4,4v-3h15v-2H6v-3L2,16z'\nexport const matSyncDisabled = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M10 6.35V4.26c-.8.21-1.55.54-2.23.96l1.46 1.46c.25-.12.5-.24.77-.33zm-7.14-.94l2.36 2.36C4.45 8.99 4 10.44 4 12c0 2.21.91 4.2 2.36 5.64L4 20h6v-6l-2.24 2.24C6.68 15.15 6 13.66 6 12c0-1 .25-1.94.68-2.77l8.08 8.08c-.25.13-.5.25-.77.34v2.09c.8-.21 1.55-.54 2.23-.96l2.36 2.36 1.27-1.27L4.14 4.14 2.86 5.41zM20 4h-6v6l2.24-2.24C17.32 8.85 18 10.34 18 12c0 1-.25 1.94-.68 2.77l1.46 1.46C19.55 15.01 20 13.56 20 12c0-2.21-.91-4.2-2.36-5.64L20 4z'\nexport const matSyncProblem = 'M0 0h24v24H0z@@fill:none;&&M3 12c0 2.21.91 4.2 2.36 5.64L3 20h6v-6l-2.24 2.24C5.68 15.15 5 13.66 5 12c0-2.61 1.67-4.83 4-5.65V4.26C5.55 5.15 3 8.27 3 12zm8 5h2v-2h-2v2zM21 4h-6v6l2.24-2.24C18.32 8.85 19 10.34 19 12c0 2.61-1.67 4.83-4 5.65v2.09c3.45-.89 6-4.01 6-7.74 0-2.21-.91-4.2-2.36-5.64L21 4zm-10 9h2V7h-2v6z'\nexport const matSystemUpdate = 'M0 0h24v24H0z@@fill:none;&&M17 1.01L7 1c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14zm-1-6h-3V8h-2v5H8l4 4 4-4z'\nexport const matSystemUpdateAlt = 'M0 .5h24v24H0z@@fill:none;&&M12 16.5l4-4h-3v-9h-2v9H8l4 4zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2z'\nexport const matTab = 'M0 0h24v24H0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h10v4h8v10z'\nexport const matTableChart = 'M0 0h24v24H0V0z@@fill:none;&&M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z'\nexport const matTableRows = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,7H2V2h20V7z M22,9.5H2v5h20V9.5z M22,17H2v5h20V17z'\nexport const matTablet = 'M0 0h24v24H0z@@fill:none;&&M21 4H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h18c1.1 0 1.99-.9 1.99-2L23 6c0-1.1-.9-2-2-2zm-2 14H5V6h14v12z'\nexport const matTabletAndroid = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18,0H6C4.34,0,3,1.34,3,3v18c0,1.66,1.34,3,3,3h12c1.66,0,3-1.34,3-3V3C21,1.34,19.66,0,18,0z M14,22h-4v-1h4V22z M19.25,19H4.75V3h14.5V19z'\nexport const matTabletMac = 'M18.5 0h-14C3.12 0 2 1.12 2 2.5v19C2 22.88 3.12 24 4.5 24h14c1.38 0 2.5-1.12 2.5-2.5v-19C21 1.12 19.88 0 18.5 0zm-7 23c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm7.5-4H4V3h15v16z'\nexport const matTableView = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,7H9C7.9,7,7,7.9,7,9v10c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V9C21,7.9,20.1,7,19,7z M19,9v2H9V9H19z M13,15v-2h2v2H13z M15,17v2h-2v-2H15z M11,15H9v-2h2V15z M17,13h2v2h-2V13z M9,17h2v2H9V17z M17,19v-2h2v2H17z M6,17H5c-1.1,0-2-0.9-2-2V5 c0-1.1,0.9-2,2-2h10c1.1,0,2,0.9,2,2v1h-2V5H5v10h1V17z'\nexport const matTabUnselected = 'M0 0h24v24H0z@@fill:none;&&M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-8 8h2v-2h-2v2zm4 0h2v-2h-2v2z'\nexport const matTagFaces = 'M0 0h24v24H0z@@fill:none;&&M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z'\nexport const matTapAndPlay = 'M0 0h24v24H0z@@fill:none;&&M2 16v2c2.76 0 5 2.24 5 5h2c0-3.87-3.13-7-7-7zm0 4v3h3c0-1.66-1.34-3-3-3zm0-8v2c4.97 0 9 4.03 9 9h2c0-6.08-4.92-11-11-11zM17 1.01L7 1c-1.1 0-2 .9-2 2v7.37c.69.16 1.36.37 2 .64V5h10v13h-3.03c.52 1.25.84 2.59.95 4H17c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99z'\nexport const matTapas = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,10V1h-8v9c0,1.86,1.28,3.41,3,3.86V21h-2v2h6v-2h-2v-7.14C20.72,13.41,22,11.86,22,10z M20,3v3h-4V3H20z M12.5,11.5 c0,1.38-1.12,2.5-2.5,2.5H8v9H6v-9H4c-1.38,0-2.5-1.12-2.5-2.5C1.5,10.12,2.62,9,4,9h2V8H4C2.62,8,1.5,6.88,1.5,5.5 C1.5,4.12,2.62,3,4,3h2V1h2v2h2c1.38,0,2.5,1.12,2.5,2.5C12.5,6.88,11.38,8,10,8H8v1h2C11.38,9,12.5,10.12,12.5,11.5z'\nexport const matTerrain = 'M0 0h24v24H0z@@fill:none;&&M14 6l-3.75 5 2.85 3.8-1.6 1.2C9.81 13.75 7 10 7 10l-6 8h22L14 6z'\nexport const matTextFields = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M2.5,4v3h5v12h3V7h5V4H2.5z M21.5,9h-9v3h3v7h3v-7h3V9z'\nexport const matTextFormat = 'M0 0h24v24H0z@@fill:none;&&M5 17v2h14v-2H5zm4.5-4.2h5l.9 2.2h2.1L12.75 4h-1.5L6.5 15h2.1l.9-2.2zM12 5.98L13.87 11h-3.74L12 5.98z'\nexport const matTextRotateUp = 'M0 0h24v24H0z@@fill:none;&&M3 12v1.5l11 4.75v-2.1l-2.2-.9v-5l2.2-.9v-2.1L3 12zm7 2.62l-5.02-1.87L10 10.88v3.74zm8-10.37l-3 3h2v12.5h2V7.25h2l-3-3z'\nexport const matTextRotateVertical = 'M0 0h24v24H0z@@fill:none;&&M15.75 5h-1.5L9.5 16h2.1l.9-2.2h5l.9 2.2h2.1L15.75 5zm-2.62 7L15 6.98 16.87 12h-3.74zM6 19.75l3-3H7V4.25H5v12.5H3l3 3z'\nexport const matTextRotationAngledown = 'M0 0h24v24H0z@@fill:none;&&M19.4 4.91l-1.06-1.06L7.2 8.27l1.48 1.48 2.19-.92 3.54 3.54-.92 2.19 1.48 1.48L19.4 4.91zm-6.81 3.1l4.87-2.23-2.23 4.87-2.64-2.64zM14.27 21v-4.24l-1.41 1.41-8.84-8.84-1.42 1.42 8.84 8.84L10.03 21h4.24z'\nexport const matTextRotationAngleup = 'M0 0h24v24H0z@@fill:none;&&M4.49 4.21L3.43 5.27 7.85 16.4l1.48-1.48-.92-2.19 3.54-3.54 2.19.92 1.48-1.48L4.49 4.21zm3.09 6.8L5.36 6.14l4.87 2.23-2.65 2.64zm12.99-1.68h-4.24l1.41 1.41-8.84 8.84L10.32 21l8.84-8.84 1.41 1.41V9.33z'\nexport const matTextRotationDown = 'M0 0h24v24H0z@@fill:none;&&M21 12v-1.5L10 5.75v2.1l2.2.9v5l-2.2.9v2.1L21 12zm-7-2.62l5.02 1.87L14 13.12V9.38zM6 19.75l3-3H7V4.25H5v12.5H3l3 3z'\nexport const matTextRotationNone = 'M0 0h24v24H0z@@fill:none;&&M12.75 3h-1.5L6.5 14h2.1l.9-2.2h5l.9 2.2h2.1L12.75 3zm-2.62 7L12 4.98 13.87 10h-3.74zm10.37 8l-3-3v2H5v2h12.5v2l3-3z'\nexport const matTextsms = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM9 11H7V9h2v2zm4 0h-2V9h2v2zm4 0h-2V9h2v2z'\nexport const matTextSnippet = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20.41,8.41l-4.83-4.83C15.21,3.21,14.7,3,14.17,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V9.83 C21,9.3,20.79,8.79,20.41,8.41z M7,7h7v2H7V7z M17,17H7v-2h10V17z M17,13H7v-2h10V13z'\nexport const matTexture = 'M0 0h24v24H0z@@fill:none;&&M19.51 3.08L3.08 19.51c.09.34.27.65.51.9.25.24.56.42.9.51L20.93 4.49c-.19-.69-.73-1.23-1.42-1.41zM11.88 3L3 11.88v2.83L14.71 3h-2.83zM5 3c-1.1 0-2 .9-2 2v2l4-4H5zm14 18c.55 0 1.05-.22 1.41-.59.37-.36.59-.86.59-1.41v-2l-4 4h2zm-9.71 0h2.83L21 12.12V9.29L9.29 21z'\nexport const matTheaters = 'M0 0h24v24H0z@@fill:none;&&M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z'\nexport const matThumbDown = 'M0 0h24v24H0z@@fill:none;&&M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z'\nexport const matThumbDownAlt = 'M24 24H0V0h24v24z@@fill:none;&&M22 4h-2c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h2V4zM2.17 11.12c-.11.25-.17.52-.17.8V13c0 1.1.9 2 2 2h5.5l-.92 4.65c-.05.22-.02.46.08.66.23.45.52.86.88 1.22L10 22l6.41-6.41c.38-.38.59-.89.59-1.42V6.34C17 5.05 15.95 4 14.66 4h-8.1c-.71 0-1.36.37-1.72.97l-2.67 6.15z'\nexport const matThumbsUpDown = 'M0 0h24v24H0z@@fill:none;&&M12 6c0-.55-.45-1-1-1H5.82l.66-3.18.02-.23c0-.31-.13-.59-.33-.8L5.38 0 .44 4.94C.17 5.21 0 5.59 0 6v6.5c0 .83.67 1.5 1.5 1.5h6.75c.62 0 1.15-.38 1.38-.91l2.26-5.29c.07-.17.11-.36.11-.55V6zm10.5 4h-6.75c-.62 0-1.15.38-1.38.91l-2.26 5.29c-.07.17-.11.36-.11.55V18c0 .55.45 1 1 1h5.18l-.66 3.18-.02.24c0 .31.13.59.33.8l.79.78 4.94-4.94c.27-.27.44-.65.44-1.06v-6.5c0-.83-.67-1.5-1.5-1.5z'\nexport const matThumbUp = 'M0 0h24v24H0V0z@@fill:none;&&M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z'\nexport const matThumbUpAlt = 'M24 24H0V0h24v24z@@fill:none;&&M2 20h2c.55 0 1-.45 1-1v-9c0-.55-.45-1-1-1H2v11zm19.83-7.12c.11-.25.17-.52.17-.8V11c0-1.1-.9-2-2-2h-5.5l.92-4.65c.05-.22.02-.46-.08-.66-.23-.45-.52-.86-.88-1.22L14 2 7.59 8.41C7.21 8.79 7 9.3 7 9.83v7.84C7 18.95 8.05 20 9.34 20h8.11c.7 0 1.36-.37 1.72-.97l2.66-6.15z'\nexport const matTimelapse = 'M0 0h24v24H0z@@fill:none;&&M16.24 7.76C15.07 6.59 13.54 6 12 6v6l-4.24 4.24c2.34 2.34 6.14 2.34 8.49 0 2.34-2.34 2.34-6.14-.01-8.48zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'\nexport const matTimeline = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M23,8c0,1.1-0.9,2-2,2c-0.18,0-0.35-0.02-0.51-0.07l-3.56,3.55C16.98,13.64,17,13.82,17,14c0,1.1-0.9,2-2,2s-2-0.9-2-2 c0-0.18,0.02-0.36,0.07-0.52l-2.55-2.55C10.36,10.98,10.18,11,10,11s-0.36-0.02-0.52-0.07l-4.55,4.56C4.98,15.65,5,15.82,5,16 c0,1.1-0.9,2-2,2s-2-0.9-2-2s0.9-2,2-2c0.18,0,0.35,0.02,0.51,0.07l4.56-4.55C8.02,9.36,8,9.18,8,9c0-1.1,0.9-2,2-2s2,0.9,2,2 c0,0.18-0.02,0.36-0.07,0.52l2.55,2.55C14.64,12.02,14.82,12,15,12s0.36,0.02,0.52,0.07l3.55-3.56C19.02,8.35,19,8.18,19,8 c0-1.1,0.9-2,2-2S23,6.9,23,8z'\nexport const matTimer = 'M0 0h24v24H0z@@fill:none;&&M15 1H9v2h6V1zm-4 13h2V8h-2v6zm8.03-6.61l1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM12 20c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\nexport const matTimer10 = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M0 7.72V9.4l3-1V18h2V6h-.25L0 7.72zm23.78 6.65c-.14-.28-.35-.53-.63-.74-.28-.21-.61-.39-1.01-.53s-.85-.27-1.35-.38c-.35-.07-.64-.15-.87-.23-.23-.08-.41-.16-.55-.25-.14-.09-.23-.19-.28-.3-.05-.11-.08-.24-.08-.39 0-.14.03-.28.09-.41.06-.13.15-.25.27-.34.12-.1.27-.18.45-.24s.4-.09.64-.09c.25 0 .47.04.66.11.19.07.35.17.48.29.13.12.22.26.29.42.06.16.1.32.1.49h1.95c0-.39-.08-.75-.24-1.09-.16-.34-.39-.63-.69-.88-.3-.25-.66-.44-1.09-.59C21.49 9.07 21 9 20.46 9c-.51 0-.98.07-1.39.21-.41.14-.77.33-1.06.57-.29.24-.51.52-.67.84-.16.32-.23.65-.23 1.01s.08.69.23.96c.15.28.36.52.64.73.27.21.6.38.98.53.38.14.81.26 1.27.36.39.08.71.17.95.26s.43.19.57.29c.13.1.22.22.27.34.05.12.07.25.07.39 0 .32-.13.57-.4.77-.27.2-.66.29-1.17.29-.22 0-.43-.02-.64-.08-.21-.05-.4-.13-.56-.24-.17-.11-.3-.26-.41-.44-.11-.18-.17-.41-.18-.67h-1.89c0 .36.08.71.24 1.05.16.34.39.65.7.93.31.27.69.49 1.15.66.46.17.98.25 1.58.25.53 0 1.01-.06 1.44-.19.43-.13.8-.31 1.11-.54.31-.23.54-.51.71-.83.17-.32.25-.67.25-1.06-.02-.4-.09-.74-.24-1.02zm-9.96-7.32c-.34-.4-.75-.7-1.23-.88-.47-.18-1.01-.27-1.59-.27-.58 0-1.11.09-1.59.27-.48.18-.89.47-1.23.88-.34.41-.6.93-.79 1.59-.18.65-.28 1.45-.28 2.39v1.92c0 .94.09 1.74.28 2.39.19.66.45 1.19.8 1.6.34.41.75.71 1.23.89.48.18 1.01.28 1.59.28.59 0 1.12-.09 1.59-.28.48-.18.88-.48 1.22-.89.34-.41.6-.94.78-1.6.18-.65.28-1.45.28-2.39v-1.92c0-.94-.09-1.74-.28-2.39-.18-.66-.44-1.19-.78-1.59zm-.92 6.17c0 .6-.04 1.11-.12 1.53-.08.42-.2.76-.36 1.02-.16.26-.36.45-.59.57-.23.12-.51.18-.82.18-.3 0-.58-.06-.82-.18s-.44-.31-.6-.57c-.16-.26-.29-.6-.38-1.02-.09-.42-.13-.93-.13-1.53v-2.5c0-.6.04-1.11.13-1.52.09-.41.21-.74.38-1 .16-.25.36-.43.6-.55.24-.11.51-.17.81-.17.31 0 .58.06.81.17.24.11.44.29.6.55.16.25.29.58.37.99.08.41.13.92.13 1.52v2.51z'\nexport const matTimer3 = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M11.61 12.97c-.16-.24-.36-.46-.62-.65-.25-.19-.56-.35-.93-.48.3-.14.57-.3.8-.5.23-.2.42-.41.57-.64.15-.23.27-.46.34-.71.08-.24.11-.49.11-.73 0-.55-.09-1.04-.28-1.46-.18-.42-.44-.77-.78-1.06-.33-.28-.73-.5-1.2-.64-.45-.13-.97-.2-1.53-.2-.55 0-1.06.08-1.52.24-.47.17-.87.4-1.2.69-.33.29-.6.63-.78 1.03-.2.39-.29.83-.29 1.29h1.98c0-.26.05-.49.14-.69.09-.2.22-.38.38-.52.17-.14.36-.25.58-.33.22-.08.46-.12.73-.12.61 0 1.06.16 1.36.47.3.31.44.75.44 1.32 0 .27-.04.52-.12.74-.08.22-.21.41-.38.57-.17.16-.38.28-.63.37-.25.09-.55.13-.89.13H6.72v1.57H7.9c.34 0 .64.04.91.11.27.08.5.19.69.35.19.16.34.36.44.61.1.24.16.54.16.87 0 .62-.18 1.09-.53 1.42-.35.33-.84.49-1.45.49-.29 0-.56-.04-.8-.13-.24-.08-.44-.2-.61-.36-.17-.16-.3-.34-.39-.56-.09-.22-.14-.46-.14-.72H4.19c0 .55.11 1.03.32 1.45.21.42.5.77.86 1.05s.77.49 1.24.63.96.21 1.48.21c.57 0 1.09-.08 1.58-.23.49-.15.91-.38 1.26-.68.36-.3.64-.66.84-1.1.2-.43.3-.93.3-1.48 0-.29-.04-.58-.11-.86-.08-.25-.19-.51-.35-.76zm9.26 1.4c-.14-.28-.35-.53-.63-.74-.28-.21-.61-.39-1.01-.53s-.85-.27-1.35-.38c-.35-.07-.64-.15-.87-.23-.23-.08-.41-.16-.55-.25-.14-.09-.23-.19-.28-.3-.05-.11-.08-.24-.08-.39s.03-.28.09-.41c.06-.13.15-.25.27-.34.12-.1.27-.18.45-.24s.4-.09.64-.09c.25 0 .47.04.66.11.19.07.35.17.48.29.13.12.22.26.29.42.06.16.1.32.1.49h1.95c0-.39-.08-.75-.24-1.09-.16-.34-.39-.63-.69-.88-.3-.25-.66-.44-1.09-.59-.43-.15-.92-.22-1.46-.22-.51 0-.98.07-1.39.21-.41.14-.77.33-1.06.57-.29.24-.51.52-.67.84-.16.32-.23.65-.23 1.01s.08.68.23.96c.15.28.37.52.64.73.27.21.6.38.98.53.38.14.81.26 1.27.36.39.08.71.17.95.26s.43.19.57.29c.13.1.22.22.27.34.05.12.07.25.07.39 0 .32-.13.57-.4.77-.27.2-.66.29-1.17.29-.22 0-.43-.02-.64-.08-.21-.05-.4-.13-.56-.24-.17-.11-.3-.26-.41-.44-.11-.18-.17-.41-.18-.67h-1.89c0 .36.08.71.24 1.05.16.34.39.65.7.93.31.27.69.49 1.15.66.46.17.98.25 1.58.25.53 0 1.01-.06 1.44-.19.43-.13.8-.31 1.11-.54.31-.23.54-.51.71-.83.17-.32.25-.67.25-1.06-.02-.4-.09-.74-.24-1.02z'\nexport const matTimerOff = 'M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M19.04 4.55l-1.42 1.42C16.07 4.74 14.12 4 12 4c-1.83 0-3.53.55-4.95 1.48l1.46 1.46C9.53 6.35 10.73 6 12 6c3.87 0 7 3.13 7 7 0 1.27-.35 2.47-.94 3.49l1.45 1.45C20.45 16.53 21 14.83 21 13c0-2.12-.74-4.07-1.97-5.61l1.42-1.42-1.41-1.42zM15 1H9v2h6V1zm-4 8.44l2 2V8h-2v1.44zM3.02 4L1.75 5.27 4.5 8.03C3.55 9.45 3 11.16 3 13c0 4.97 4.02 9 9 9 1.84 0 3.55-.55 4.98-1.5l2.5 2.5 1.27-1.27-7.71-7.71L3.02 4zM12 20c-3.87 0-7-3.13-7-7 0-1.28.35-2.48.95-3.52l9.56 9.56c-1.03.61-2.23.96-3.51.96z'\nexport const matTimeToLeave = 'M0 0h24v24H0z@@fill:none;&&M18.92 5.01C18.72 4.42 18.16 4 17.5 4h-11c-.66 0-1.21.42-1.42 1.01L3 11v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 15c-.83 0-1.5-.67-1.5-1.5S5.67 12 6.5 12s1.5.67 1.5 1.5S7.33 15 6.5 15zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 10l1.5-4.5h11L19 10H5z'\nexport const matTitle = 'M0 0h24v24H0V0z@@fill:none;&&M5 4v3h5.5v12h3V7H19V4z'\nexport const matToc = 'M0 0h24v24H0z@@fill:none;&&M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z'\nexport const matToday = 'M0 0h24v24H0z@@fill:none;&&M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'\nexport const matToggleOff = 'M0 0h24v24H0z@@fill:none;&&M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z'\nexport const matToggleOn = 'M0 0h24v24H0z@@fill:none;&&M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z'\nexport const matToll = 'M0 0h24v24H0V0z@@fill:none;&&M15 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z&&M3 12c0-2.61 1.67-4.83 4-5.65V4.26C3.55 5.15 1 8.27 1 12s2.55 6.85 6 7.74v-2.09c-2.33-.82-4-3.04-4-5.65z'\nexport const matTonality = 'M0 0h24v24H0z@@fill:none;&&M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.94-.49-7-3.85-7-7.93s3.05-7.44 7-7.93v15.86zm2-15.86c1.03.13 2 .45 2.87.93H13v-.93zM13 7h5.24c.25.31.48.65.68 1H13V7zm0 3h6.74c.08.33.15.66.19 1H13v-1zm0 9.93V19h2.87c-.87.48-1.84.8-2.87.93zM18.24 17H13v-1h5.92c-.2.35-.43.69-.68 1zm1.5-3H13v-1h6.93c-.04.34-.11.67-.19 1z'\nexport const matTopic = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M14,16H6v-2h8V16z M18,12H6v-2h12V12z'\nexport const matTouchApp = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,11.24V7.5C9,6.12,10.12,5,11.5,5S14,6.12,14,7.5v3.74c1.21-0.81,2-2.18,2-3.74C16,5.01,13.99,3,11.5,3S7,5.01,7,7.5 C7,9.06,7.79,10.43,9,11.24z M18.84,15.87l-4.54-2.26c-0.17-0.07-0.35-0.11-0.54-0.11H13v-6C13,6.67,12.33,6,11.5,6 S10,6.67,10,7.5v10.74c-3.6-0.76-3.54-0.75-3.67-0.75c-0.31,0-0.59,0.13-0.79,0.33l-0.79,0.8l4.94,4.94 C9.96,23.83,10.34,24,10.75,24h6.79c0.75,0,1.33-0.55,1.44-1.28l0.75-5.27c0.01-0.07,0.02-0.14,0.02-0.2 C19.75,16.63,19.37,16.09,18.84,15.87z'\nexport const matTour = 'M0 0h24v24H0z@@fill:none;&&M21 4H7V2H5v20h2v-8h14l-2-5 2-5zm-6 5c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z'\nexport const matToys = 'M0 0h24v24H0z@@fill:none;&&M12 12c0-3 2.5-5.5 5.5-5.5S23 9 23 12H12zm0 0c0 3-2.5 5.5-5.5 5.5S1 15 1 12h11zm0 0c-3 0-5.5-2.5-5.5-5.5S9 1 12 1v11zm0 0c3 0 5.5 2.5 5.5 5.5S15 23 12 23V12z'\nexport const matTrackChanges = 'M0 0h24v24H0V0z@@fill:none;&&M19.07 4.93l-1.41 1.41C19.1 7.79 20 9.79 20 12c0 4.42-3.58 8-8 8s-8-3.58-8-8c0-4.08 3.05-7.44 7-7.93v2.02C8.16 6.57 6 9.03 6 12c0 3.31 2.69 6 6 6s6-2.69 6-6c0-1.66-.67-3.16-1.76-4.24l-1.41 1.41C15.55 9.9 16 10.9 16 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.86 1.28-3.41 3-3.86v2.14c-.6.35-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0-.74-.4-1.38-1-1.72V2h-1C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10c0-2.76-1.12-5.26-2.93-7.07z'\nexport const matTraffic = 'M0 0h24v24H0z@@fill:none;&&M20 10h-3V8.86c1.72-.45 3-2 3-3.86h-3V4c0-.55-.45-1-1-1H8c-.55 0-1 .45-1 1v1H4c0 1.86 1.28 3.41 3 3.86V10H4c0 1.86 1.28 3.41 3 3.86V15H4c0 1.86 1.28 3.41 3 3.86V20c0 .55.45 1 1 1h8c.55 0 1-.45 1-1v-1.14c1.72-.45 3-2 3-3.86h-3v-1.14c1.72-.45 3-2 3-3.86zm-8 9c-1.11 0-2-.9-2-2s.89-2 2-2c1.1 0 2 .9 2 2s-.89 2-2 2zm0-5c-1.11 0-2-.9-2-2s.89-2 2-2c1.1 0 2 .9 2 2s-.89 2-2 2zm0-5c-1.11 0-2-.9-2-2 0-1.11.89-2 2-2 1.1 0 2 .89 2 2 0 1.1-.89 2-2 2z'\nexport const matTrain = 'M0 0h24v24H0V0z@@fill:none;&&M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm3.5-7H6V6h5v4zm2 0V6h5v4h-5zm3.5 7c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matTram = 'M0 0h24v24H0V0z@@fill:none;&&M19 16.94V8.5c0-2.79-2.61-3.4-6.01-3.49l.76-1.51H17V2H7v1.5h4.75l-.76 1.52C7.86 5.11 5 5.73 5 8.5v8.44c0 1.45 1.19 2.66 2.59 2.97L6 21.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 20h-.08c1.69 0 2.58-1.37 2.58-3.06zm-7 1.56c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5-4.5H7V9h10v5z'\nexport const matTransferWithinAStation = 'M0 0h24v24H0z@@fill:none;&&M16.49 15.5v-1.75L14 16.25l2.49 2.5V17H22v-1.5zm3.02 4.25H14v1.5h5.51V23L22 20.5 19.51 18zM9.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM5.75 8.9L3 23h2.1l1.75-8L9 17v6h2v-7.55L8.95 13.4l.6-3C10.85 12 12.8 13 15 13v-2c-1.85 0-3.45-1-4.35-2.45l-.95-1.6C9.35 6.35 8.7 6 8 6c-.25 0-.5.05-.75.15L2 8.3V13h2V9.65l1.75-.75'\nexport const matTransform = 'M0 0h24v24H0z@@fill:none;&&M22 18v-2H8V4h2L7 1 4 4h2v2H2v2h4v8c0 1.1.9 2 2 2h8v2h-2l3 3 3-3h-2v-2h4zM10 8h6v6h2V8c0-1.1-.9-2-2-2h-6v2z'\nexport const matTransitEnterexit = 'M0 0h24v24H0z@@fill:none;&&M16 18H6V8h3v4.77L15.98 6 18 8.03 11.15 15H16v3z'\nexport const matTranslate = 'M0 0h24v24H0z@@fill:none;&&M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z'\nexport const matTrendingDown = 'M0 0h24v24H0z@@fill:none;&&M16 18l2.29-2.29-4.88-4.88-4 4L2 7.41 3.41 6l6 6 4-4 6.3 6.29L22 12v6z'\nexport const matTrendingFlat = 'M0 0h24v24H0z@@fill:none;&&M22 12l-4-4v3H3v2h15v3z'\nexport const matTrendingUp = 'M0 0h24v24H0z@@fill:none;&&M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z'\nexport const matTripOrigin = 'M0 0h24v24H0z@@fill:none;&&M0 0h24v24H0z@@fill:none;&&M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z'\nexport const matTty = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,4h2v2h-2V4z M13,7h2v2h-2V7z M11,4h2v2h-2V4z M18,9h-2V7h2V9z M19,6h-2V4h2V6z M21,9h-2V7h2V9z M22,6h-2V4h2V6z M14.62,14.38L12.1,16.9c-2.5-1.43-4.57-3.5-6-6l2.52-2.52C8.86,8.14,8.96,7.8,8.9,7.48L8.16,3.8C8.07,3.34,7.66,3,7.18,3H3.03 C2.47,3,2,3.47,2.03,4.03C2.2,6.92,3.05,9.63,4.43,12c1.58,2.73,3.85,4.99,6.57,6.57c2.37,1.37,5.08,2.23,7.97,2.4 c0.56,0.03,1.03-0.44,1.03-1v-4.15c0-0.48-0.34-0.89-0.8-0.98l-3.67-0.73C15.2,14.04,14.86,14.14,14.62,14.38z M14,10h2v2h-2V10z M11,10h2v2h-2V10z M19,12h-2v-2h2V12z M22,12h-2v-2h2V12z'\nexport const matTune = 'M0 0h24v24H0z@@fill:none;&&M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'\nexport const matTurnedIn = 'M0 0h24v24H0z@@fill:none;&&M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z'\nexport const matTurnedInNot = 'M0 0h24v24H0z@@fill:none;&&M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z'\nexport const matTv = 'M0 0h24v24H0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.1-.9-2-2-2zm0 14H3V5h18v12z'\nexport const matTvOff = 'M0 0h24v24H0V0z@@fill:none;&&M1 3.54l1.53 1.53C1.65 5.28 1 6.06 1 7v12c0 1.1.9 2 2 2h15.46l2 2 1.26-1.27L2.27 2.27 1 3.54zM3 19V7h1.46l12 12H3zM21 5h-7.58l3.29-3.3L16 1l-4 4-4-4-.7.7L10.58 5H7.52l2 2H21v11.48l1.65 1.65c.22-.32.35-.71.35-1.13V7c0-1.11-.89-2-2-2z'\nexport const matTwoWheeler = 'M0 0 H24 V24 H0 V0 z@@fill:none;fill-rule:evenodd;&&M20,11c-0.18,0-0.36,0.03-0.53,0.05L17.41,9H20V6l-3.72,1.86L13.41,5H9v2h3.59l2,2H11l-4,2L5,9H0v2h4c-2.21,0-4,1.79-4,4 c0,2.21,1.79,4,4,4c2.21,0,4-1.79,4-4l2,2h3l3.49-6.1l1.01,1.01C16.59,12.64,16,13.75,16,15c0,2.21,1.79,4,4,4c2.21,0,4-1.79,4-4 C24,12.79,22.21,11,20,11z M4,17c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2c1.1,0,2,0.9,2,2C6,16.1,5.1,17,4,17z M20,17c-1.1,0-2-0.9-2-2 c0-1.1,0.9-2,2-2s2,0.9,2,2C22,16.1,21.1,17,20,17z'\nexport const matUmbrella = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14.5,6.92L13,5.77V3.88V3.4c0-0.26,0.22-0.48,0.5-0.48c0.28,0,0.5,0.21,0.5,0.48V4h2V3.4C16,2.07,14.88,1,13.5,1 C12.12,1,11,2.07,11,3.4v0.48v1.89L9.5,6.92L6,6.07l5.05,15.25C11.2,21.77,11.6,22,12,22s0.8-0.23,0.95-0.69L18,6.07L14.5,6.92z M13.28,8.5l0.76,0.58l0.92-0.23L13,14.8V8.29L13.28,8.5z M9.96,9.09l0.76-0.58L11,8.29v6.51L9.03,8.86L9.96,9.09z'\nexport const matUnarchive = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M20.55,5.22l-1.39-1.68C18.88,3.21,18.47,3,18,3H6C5.53,3,5.12,3.21,4.85,3.55L3.46,5.22C3.17,5.57,3,6.01,3,6.5V19 c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V6.5C21,6.01,20.83,5.57,20.55,5.22z M12,9.5l5.5,5.5H14v2h-4v-2H6.5L12,9.5z M5.12,5 l0.82-1h12l0.93,1H5.12z'\nexport const matUndo = 'M0 0h24v24H0z@@fill:none;&&M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z'\nexport const matUnfoldLess = 'M0 0h24v24H0z@@fill:none;&&M7.41 18.59L8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z'\nexport const matUnfoldMore = 'M0 0h24v24H0z@@fill:none;&&M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z'\nexport const matUnpublished = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21.19,21.19L2.81,2.81L1.39,4.22l2.27,2.27C2.61,8.07,2,9.96,2,12c0,5.52,4.48,10,10,10c2.04,0,3.93-0.61,5.51-1.66 l2.27,2.27L21.19,21.19z M10.59,16.6l-4.24-4.24l1.41-1.41l2.83,2.83l0.18-0.18l1.41,1.41L10.59,16.6z M13.59,10.76l-7.1-7.1 C8.07,2.61,9.96,2,12,2c5.52,0,10,4.48,10,10c0,2.04-0.61,3.93-1.66,5.51l-5.34-5.34l2.65-2.65l-1.41-1.41L13.59,10.76z'\nexport const matUnsubscribe = 'M18.5 13c-1.93 0-3.5 1.57-3.5 3.5s1.57 3.5 3.5 3.5 3.5-1.57 3.5-3.5-1.57-3.5-3.5-3.5zm2 4h-4v-1h4v1zm-6.95 0c-.02-.17-.05-.33-.05-.5 0-2.76 2.24-5 5-5 .92 0 1.76.26 2.5.69V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h8.55zM12 10.5L5 7V5l7 3.5L19 5v2l-7 3.5z'\nexport const matUpdate = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-0.1c-2.73,2.71-2.73,7.08,0,9.79s7.15,2.71,9.88,0 C18.32,15.65,19,14.08,19,12.1h2c0,1.98-0.88,4.55-2.64,6.29c-3.51,3.48-9.21,3.48-12.72,0c-3.5-3.47-3.53-9.11-0.02-12.58 s9.14-3.47,12.65,0L21,3V10.12z M12.5,8v4.25l3.5,2.08l-0.72,1.21L11,13V8H12.5z'\nexport const matUpgrade = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,18v2H8v-2H16z M11,7.99V16h2V7.99h3L12,4L8,7.99H11z'\nexport const matUsb = 'M0 0h24v24H0z@@fill:none;&&M15 7v4h1v2h-3V5h2l-3-4-3 4h2v8H8v-2.07c.7-.37 1.2-1.08 1.2-1.93 0-1.21-.99-2.2-2.2-2.2-1.21 0-2.2.99-2.2 2.2 0 .85.5 1.56 1.2 1.93V13c0 1.11.89 2 2 2h3v3.05c-.71.37-1.2 1.1-1.2 1.95 0 1.22.99 2.2 2.2 2.2 1.21 0 2.2-.98 2.2-2.2 0-.85-.49-1.58-1.2-1.95V15h3c1.11 0 2-.89 2-2v-2h1V7h-4z'\nexport const matVerified = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M23,12l-2.44-2.79l0.34-3.69l-3.61-0.82L15.4,1.5L12,2.96L8.6,1.5L6.71,4.69L3.1,5.5L3.44,9.2L1,12l2.44,2.79l-0.34,3.7 l3.61,0.82L8.6,22.5l3.4-1.47l3.4,1.46l1.89-3.19l3.61-0.82l-0.34-3.69L23,12z M10.09,16.72l-3.8-3.81l1.48-1.48l2.32,2.33 l5.85-5.87l1.48,1.48L10.09,16.72z'\nexport const matVerifiedUser = 'M0 0h24v24H0z@@fill:none;&&M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'\nexport const matVerticalAlignBottom = 'M0 0h24v24H0z@@fill:none;&&M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z'\nexport const matVerticalAlignCenter = 'M0 0h24v24H0z@@fill:none;&&M8 19h3v4h2v-4h3l-4-4-4 4zm8-14h-3V1h-2v4H8l4 4 4-4zM4 11v2h16v-2H4z'\nexport const matVerticalAlignTop = 'M0 0h24v24H0z@@fill:none;&&M8 11h3v10h2V11h3l-4-4-4 4zM4 3v2h16V3H4z'\nexport const matVerticalSplit = 'M0 0h24v24H0V0z@@fill:none;&&M3 15h8v-2H3v2zm0 4h8v-2H3v2zm0-8h8V9H3v2zm0-6v2h8V5H3zm10 0h8v14h-8V5z'\nexport const matVibration = 'M0 0h24v24H0z@@fill:none;&&M0 15h2V9H0v6zm3 2h2V7H3v10zm19-8v6h2V9h-2zm-3 8h2V7h-2v10zM16.5 3h-9C6.67 3 6 3.67 6 4.5v15c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5v-15c0-.83-.67-1.5-1.5-1.5zM16 19H8V5h8v14z'\nexport const matVideoCall = 'M0 0h24v24H0V0z@@fill:none;&&M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4zM14 13h-3v3H9v-3H6v-2h3V8h2v3h3v2z'\nexport const matVideocam = 'M0 0h24v24H0z@@fill:none;&&M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z'\nexport const matVideocamOff = 'M0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M21 6.5l-4 4V7c0-.55-.45-1-1-1H9.82L21 17.18V6.5zM3.27 2L2 3.27 4.73 6H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.21 0 .39-.08.54-.18L19.73 21 21 19.73 3.27 2z'\nexport const matVideogameAsset = 'M0 0v24h24V0H0zm23 16c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v8z@@fill:none;&&M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-10 7H8v3H6v-3H3v-2h3V8h2v3h3v2zm4.5 2c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4-3c-.83 0-1.5-.67-1.5-1.5S18.67 9 19.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'\nexport const matVideoLabel = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 13H3V5h18v11z'\nexport const matVideoLibrary = 'M0 0h24v24H0z@@fill:none;&&M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8 12.5v-9l6 4.5-6 4.5z'\nexport const matVideoSettings = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M3,6h18v5h2V6c0-1.1-0.9-2-2-2H3C1.9,4,1,4.9,1,6v12c0,1.1,0.9,2,2,2h9v-2H3V6z&&M15 12 L9 8 L9 16z&&M22.71,18.43c0.03-0.29,0.04-0.58,0.01-0.86l1.07-0.85c0.1-0.08,0.12-0.21,0.06-0.32l-1.03-1.79 c-0.06-0.11-0.19-0.15-0.31-0.11L21.23,15c-0.23-0.17-0.48-0.31-0.75-0.42l-0.2-1.36C20.26,13.09,20.16,13,20.03,13h-2.07 c-0.12,0-0.23,0.09-0.25,0.21l-0.2,1.36c-0.26,0.11-0.51,0.26-0.74,0.42l-1.28-0.5c-0.12-0.05-0.25,0-0.31,0.11l-1.03,1.79 c-0.06,0.11-0.04,0.24,0.06,0.32l1.07,0.86c-0.03,0.29-0.04,0.58-0.01,0.86l-1.07,0.85c-0.1,0.08-0.12,0.21-0.06,0.32l1.03,1.79 c0.06,0.11,0.19,0.15,0.31,0.11l1.27-0.5c0.23,0.17,0.48,0.31,0.75,0.42l0.2,1.36c0.02,0.12,0.12,0.21,0.25,0.21h2.07 c0.12,0,0.23-0.09,0.25-0.21l0.2-1.36c0.26-0.11,0.51-0.26,0.74-0.42l1.28,0.5c0.12,0.05,0.25,0,0.31-0.11l1.03-1.79 c0.06-0.11,0.04-0.24-0.06-0.32L22.71,18.43z M19,19.5c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5 S19.83,19.5,19,19.5z'\nexport const matViewAgenda = 'M0 0h24v24H0z@@fill:none;&&M20 13H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zm0-10H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1z'\nexport const matViewArray = 'M0 0h24v24H0z@@fill:none;&&M4 18h3V5H4v13zM18 5v13h3V5h-3zM8 18h9V5H8v13z'\nexport const matViewCarousel = 'M0 0h24v24H0z@@fill:none;&&M7 19h10V4H7v15zm-5-2h4V6H2v11zM18 6v11h4V6h-4z'\nexport const matViewColumn = 'M0 0h24v24H0z@@fill:none;&&M10 18h5V5h-5v13zm-6 0h5V5H4v13zM16 5v13h5V5h-5z'\nexport const matViewComfy = 'M0 0h24v24H0z@@fill:none;&&M3 9h4V5H3v4zm0 5h4v-4H3v4zm5 0h4v-4H8v4zm5 0h4v-4h-4v4zM8 9h4V5H8v4zm5-4v4h4V5h-4zm5 9h4v-4h-4v4zM3 19h4v-4H3v4zm5 0h4v-4H8v4zm5 0h4v-4h-4v4zm5 0h4v-4h-4v4zm0-14v4h4V5h-4z'\nexport const matViewCompact = 'M0 0h24v24H0z@@fill:none;&&M3 19h6v-7H3v7zm7 0h12v-7H10v7zM3 5v6h19V5H3z'\nexport const matViewDay = 'M0 0h24v24H0z@@fill:none;&&M2 21h19v-3H2v3zM20 8H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zM2 3v3h19V3H2z'\nexport const matViewHeadline = 'M0 0h24v24H0V0z@@fill:none;&&M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z'\nexport const matViewList = 'M0 0h24v24H0z@@fill:none;&&M4 14h4v-4H4v4zm0 5h4v-4H4v4zM4 9h4V5H4v4zm5 5h12v-4H9v4zm0 5h12v-4H9v4zM9 5v4h12V5H9z'\nexport const matViewModule = 'M0 0h24v24H0z@@fill:none;&&M4 11h5V5H4v6zm0 7h5v-6H4v6zm6 0h5v-6h-5v6zm6 0h5v-6h-5v6zm-6-7h5V5h-5v6zm6-6v6h5V5h-5z'\nexport const matViewQuilt = 'M0 0h24v24H0z@@fill:none;&&M10 18h5v-6h-5v6zm-6 0h5V5H4v13zm12 0h5v-6h-5v6zM10 5v6h11V5H10z'\nexport const matViewSidebar = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16,20H2V4h14V20z M18,8h4V4h-4V8z M18,20h4v-4h-4V20z M18,14h4v-4h-4V14z'\nexport const matViewStream = 'M0 0h24v24H0z@@fill:none;&&M4 18h17v-6H4v6zM4 5v6h17V5H4z'\nexport const matViewWeek = 'M0 0h24v24H0z@@fill:none;&&M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1z'\nexport const matVignette = 'M0 0h24v24H0V0z@@fill:none;&&M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 15c-4.42 0-8-2.69-8-6s3.58-6 8-6 8 2.69 8 6-3.58 6-8 6z'\nexport const matVisibility = 'M0 0h24v24H0z@@fill:none;&&M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'\nexport const matVisibilityOff = 'M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z@@fill:none;&&M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z'\nexport const matVoiceChat = 'M0 0h24v24H0z@@fill:none;&&M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12l-4-3.2V14H6V6h8v3.2L18 6v8z'\nexport const matVoicemail = 'M0 0h24v24H0z@@fill:none;&&M18.5 6C15.46 6 13 8.46 13 11.5c0 1.33.47 2.55 1.26 3.5H9.74c.79-.95 1.26-2.17 1.26-3.5C11 8.46 8.54 6 5.5 6S0 8.46 0 11.5 2.46 17 5.5 17h13c3.04 0 5.5-2.46 5.5-5.5S21.54 6 18.5 6zm-13 9C3.57 15 2 13.43 2 11.5S3.57 8 5.5 8 9 9.57 9 11.5 7.43 15 5.5 15zm13 0c-1.93 0-3.5-1.57-3.5-3.5S16.57 8 18.5 8 22 9.57 22 11.5 20.43 15 18.5 15z'\nexport const matVoiceOverOff = 'M0 0h24v24H0V0z@@fill:none;&&M12.99 9.18c0-.06.01-.12.01-.18 0-2.21-1.79-4-4-4-.06 0-.12.01-.18.01l4.17 4.17zm-6.1-3.56L4.27 3 3 4.27l2.62 2.62C5.23 7.5 5 8.22 5 9c0 2.21 1.79 4 4 4 .78 0 1.5-.23 2.11-.62L19.73 21 21 19.73l-8.62-8.62-5.49-5.49zM9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76-9.64l-1.68 1.69c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 2.02-5.07 0-7.27zM20.07 2l-1.63 1.63c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.89 3.91-9.95 0-14z'\nexport const matVolumeDown = 'M0 0h24v24H0z@@fill:none;&&M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z'\nexport const matVolumeMute = 'M0 0h24v24H0z@@fill:none;&&M7 9v6h4l5 5V4l-5 5H7z'\nexport const matVolumeOff = 'M0 0h24v24H0z@@fill:none;&&M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z'\nexport const matVolumeUp = 'M0 0h24v24H0z@@fill:none;&&M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'\nexport const matVpnKey = 'M0 0h24v24H0z@@fill:none;&&M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z'\nexport const matVpnLock = 'M0 0h24v24H0z@@fill:none;&&M22 4v-.5C22 2.12 20.88 1 19.5 1S17 2.12 17 3.5V4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h5c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zm-.8 0h-3.4v-.5c0-.94.76-1.7 1.7-1.7s1.7.76 1.7 1.7V4zm-2.28 8c.04.33.08.66.08 1 0 2.08-.8 3.97-2.1 5.39-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H7v-2h2c.55 0 1-.45 1-1V8h2c1.1 0 2-.9 2-2V3.46c-.95-.3-1.95-.46-3-.46C5.48 3 1 7.48 1 13s4.48 10 10 10 10-4.48 10-10c0-.34-.02-.67-.05-1h-2.03zM10 20.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L8 16v1c0 1.1.9 2 2 2v1.93z'\nexport const matWallpaper = 'M0 0h24v24H0z@@fill:none;&&M4 4h7V2H4c-1.1 0-2 .9-2 2v7h2V4zm6 9l-4 5h12l-3-4-2.03 2.71L10 13zm7-4.5c0-.83-.67-1.5-1.5-1.5S14 7.67 14 8.5s.67 1.5 1.5 1.5S17 9.33 17 8.5zM20 2h-7v2h7v7h2V4c0-1.1-.9-2-2-2zm0 18h-7v2h7c1.1 0 2-.9 2-2v-7h-2v7zM4 13H2v7c0 1.1.9 2 2 2h7v-2H4v-7z'\nexport const matWarning = 'M0 0h24v24H0z@@fill:none;&&M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'\nexport const matWash = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M18.5,8C19.88,8,21,6.88,21,5.5C21,3.83,18.5,1,18.5,1S16,3.83,16,5.5C16,6.88,17.12,8,18.5,8z M13.5,9 C14.33,9,15,8.33,15,7.5C15,6.66,13.5,5,13.5,5S12,6.66,12,7.5C12,8.33,12.67,9,13.5,9z M9.12,5l-7.18,6.79 C1.34,12.35,1,13.14,1,13.97V20c0,1.66,1.34,3,3,3h6.25H12h5.75c0.69,0,1.25-0.56,1.25-1.25s-0.56-1.25-1.25-1.25H12v-1h7.75 c0.69,0,1.25-0.56,1.25-1.25S20.44,17,19.75,17H12v-1h8.75c0.69,0,1.25-0.56,1.25-1.25s-0.56-1.25-1.25-1.25H12v-1h6.75 c0.69,0,1.25-0.56,1.25-1.25S19.44,10,18.75,10H8.86c0.64-1.11,1.48-2.58,1.49-2.61c0.09-0.16,0.14-0.33,0.14-0.53 c0-0.26-0.09-0.5-0.26-0.7C10.22,6.12,9.12,5,9.12,5L9.12,5z'\nexport const matWatch = 'M0 0h24v24H0z@@fill:none;opacity:.1;&&M20 12c0-2.54-1.19-4.81-3.04-6.27L16 0H8l-.95 5.73C5.19 7.19 4 9.45 4 12s1.19 4.81 3.05 6.27L8 24h8l.96-5.73C18.81 16.81 20 14.54 20 12zM6 12c0-3.31 2.69-6 6-6s6 2.69 6 6-2.69 6-6 6-6-2.69-6-6z'\nexport const matWatchLater = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10s10-4.5,10-10S17.5,2,12,2z M16.2,16.2L11,13V7h1.5v5.2l4.5,2.7L16.2,16.2z'\nexport const matWaterDamage = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M12,3L2,12h3v8h14v-8h3L12,3z M12,16c-1.1,0-2-0.9-2-2c0-1.1,2-4,2-4s2,2.9,2,4C14,15.1,13.1,16,12,16z'\nexport const matWaves = 'M17 16.99c-1.35 0-2.2.42-2.95.8-.65.33-1.18.6-2.05.6-.9 0-1.4-.25-2.05-.6-.75-.38-1.57-.8-2.95-.8s-2.2.42-2.95.8c-.65.33-1.17.6-2.05.6v1.95c1.35 0 2.2-.42 2.95-.8.65-.33 1.17-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.42 2.95-.8c.65-.33 1.18-.6 2.05-.6.9 0 1.4.25 2.05.6.75.38 1.58.8 2.95.8v-1.95c-.9 0-1.4-.25-2.05-.6-.75-.38-1.6-.8-2.95-.8zm0-4.45c-1.35 0-2.2.43-2.95.8-.65.32-1.18.6-2.05.6-.9 0-1.4-.25-2.05-.6-.75-.38-1.57-.8-2.95-.8s-2.2.43-2.95.8c-.65.32-1.17.6-2.05.6v1.95c1.35 0 2.2-.43 2.95-.8.65-.35 1.15-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.43 2.95-.8c.65-.35 1.15-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.58.8 2.95.8v-1.95c-.9 0-1.4-.25-2.05-.6-.75-.38-1.6-.8-2.95-.8zm2.95-8.08c-.75-.38-1.58-.8-2.95-.8s-2.2.42-2.95.8c-.65.32-1.18.6-2.05.6-.9 0-1.4-.25-2.05-.6-.75-.37-1.57-.8-2.95-.8s-2.2.42-2.95.8c-.65.33-1.17.6-2.05.6v1.93c1.35 0 2.2-.43 2.95-.8.65-.33 1.17-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.43 2.95-.8c.65-.32 1.18-.6 2.05-.6.9 0 1.4.25 2.05.6.75.38 1.58.8 2.95.8V5.04c-.9 0-1.4-.25-2.05-.58zM17 8.09c-1.35 0-2.2.43-2.95.8-.65.35-1.15.6-2.05.6s-1.4-.25-2.05-.6c-.75-.38-1.57-.8-2.95-.8s-2.2.43-2.95.8c-.65.35-1.15.6-2.05.6v1.95c1.35 0 2.2-.43 2.95-.8.65-.32 1.18-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.43 2.95-.8c.65-.32 1.18-.6 2.05-.6.9 0 1.4.25 2.05.6.75.38 1.58.8 2.95.8V9.49c-.9 0-1.4-.25-2.05-.6-.75-.38-1.6-.8-2.95-.8z'\nexport const matWbAuto = 'M0 0h24v24H0z@@fill:none;&&M6.85 12.65h2.3L8 9l-1.15 3.65zM22 7l-1.2 6.29L19.3 7h-1.6l-1.49 6.29L15 7h-.76C12.77 5.17 10.53 4 8 4c-4.42 0-8 3.58-8 8s3.58 8 8 8c3.13 0 5.84-1.81 7.15-4.43l.1.43H17l1.5-6.1L20 16h1.75l2.05-9H22zm-11.7 9l-.7-2H6.4l-.7 2H3.8L7 7h2l3.2 9h-1.9z'\nexport const matWbCloudy = 'M0 0h24v24H0z@@fill:none;&&M19.36 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.64-4.96z'\nexport const matWbIncandescent = 'M0 0h24v24H0z@@fill:none;&&M3.55 18.54l1.41 1.41 1.79-1.8-1.41-1.41-1.79 1.8zM11 22.45h2V19.5h-2v2.95zM4 10.5H1v2h3v-2zm11-4.19V1.5H9v4.81C7.21 7.35 6 9.28 6 11.5c0 3.31 2.69 6 6 6s6-2.69 6-6c0-2.22-1.21-4.15-3-5.19zm5 4.19v2h3v-2h-3zm-2.76 7.66l1.79 1.8 1.41-1.41-1.8-1.79-1.4 1.4z'\nexport const matWbIridescent = 'M0 0h24v24H0V0z@@fill:none;&&M5 14.5h14v-6H5v6zM11 .55V3.5h2V.55h-2zm8.04 2.5l-1.79 1.79 1.41 1.41 1.8-1.79-1.42-1.41zM13 22.45V19.5h-2v2.95h2zm7.45-3.91l-1.8-1.79-1.41 1.41 1.79 1.8 1.42-1.42zM3.55 4.46l1.79 1.79 1.41-1.41-1.79-1.79-1.41 1.41zm1.41 15.49l1.79-1.8-1.41-1.41-1.79 1.79 1.41 1.42z'\nexport const matWbSunny = 'M0 0h24v24H0z@@fill:none;&&M6.76 4.84l-1.8-1.79-1.41 1.41 1.79 1.79 1.42-1.41zM4 10.5H1v2h3v-2zm9-9.95h-2V3.5h2V.55zm7.45 3.91l-1.41-1.41-1.79 1.79 1.41 1.41 1.79-1.79zm-3.21 13.7l1.79 1.8 1.41-1.41-1.8-1.79-1.4 1.4zM20 10.5v2h3v-2h-3zm-8-5c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm-1 16.95h2V19.5h-2v2.95zm-7.45-3.91l1.41 1.41 1.79-1.8-1.41-1.41-1.79 1.8z'\nexport const matWc = 'M0 0h24v24H0V0z@@fill:none;&&M5.5 22v-7.5H4V9c0-1.1.9-2 2-2h3c1.1 0 2 .9 2 2v5.5H9.5V22h-4zM18 22v-6h3l-2.54-7.63C18.18 7.55 17.42 7 16.56 7h-.12c-.86 0-1.63.55-1.9 1.37L12 16h3v6h3zM7.5 6c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2zm9 0c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2z'\nexport const matWeb = 'M0 0h24v24H0z@@fill:none;&&M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 14H4v-4h11v4zm0-5H4V9h11v4zm5 5h-4V9h4v9z'\nexport const matWebAsset = 'M0 0h24v24H0z@@fill:none;&&M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm0 14H5V8h14v10z'\nexport const matWeekend = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M21,10c-1.1,0-2,0.9-2,2v3H5v-3c0-1.1-0.89-2-2-2s-2,0.9-2,2v5c0,1.1,0.9,2,2,2h18c1.1,0,2-0.9,2-2v-5 C23,10.9,22.1,10,21,10z M18,5H6C4.9,5,4,5.9,4,7v2.15c1.16,0.41,2,1.52,2,2.81V14h12v-2.03c0-1.3,0.84-2.4,2-2.81V7 C20,5.9,19.1,5,18,5z'\nexport const matWest = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M9,19l1.41-1.41L5.83,13H22V11H5.83l4.59-4.59L9,5l-7,7L9,19z'\nexport const matWhatshot = 'M0 0h24v24H0z@@fill:none;&&M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67zM11.71 19c-1.78 0-3.22-1.4-3.22-3.14 0-1.62 1.05-2.76 2.81-3.12 1.77-.36 3.6-1.21 4.62-2.58.39 1.29.59 2.65.59 4.04 0 2.65-2.15 4.8-4.8 4.8z'\nexport const matWheelchairPickup = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M4.5,4c0-1.11,0.89-2,2-2s2,0.89,2,2s-0.89,2-2,2S4.5,5.11,4.5,4z M10,10.95V9c0-1.1-0.9-2-2-2H5C3.9,7,3,7.9,3,9v6h2v7 h3.5v-0.11c-1.24-1.26-2-2.99-2-4.89C6.5,14.42,7.91,12.16,10,10.95z M16.5,17c0,1.65-1.35,3-3,3s-3-1.35-3-3 c0-1.11,0.61-2.06,1.5-2.58v-2.16C9.98,12.9,8.5,14.77,8.5,17c0,2.76,2.24,5,5,5s5-2.24,5-5H16.5z M19.54,14H15V8h-2v8h5.46 l2.47,3.71l1.66-1.11L19.54,14z'\nexport const matWhereToVote = 'M0 0h24v24H0V0z@@fill:none;&&M12 2c3.86 0 7 3.14 7 7 0 5.25-7 13-7 13S5 14.25 5 9c0-3.86 3.14-7 7-7zm-1.53 12L17 7.41 15.6 6l-5.13 5.18L8.4 9.09 7 10.5l3.47 3.5z'\nexport const matWidgets = 'M0 0h24v24H0z@@fill:none;&&M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z'\nexport const matWifi = 'M0 0h24v24H0z@@fill:none;&&M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z'\nexport const matWifiCalling = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M22,4.95C21.79,4.78,19.67,3,16.5,3c-3.18,0-5.29,1.78-5.5,1.95L16.5,12L22,4.95z&&M20,15.51c-1.24,0-2.45-0.2-3.57-0.57c-0.35-0.12-0.75-0.03-1.02,0.24l-2.2,2.2c-2.83-1.45-5.15-3.76-6.59-6.59l2.2-2.2 C9.1,8.31,9.18,7.92,9.07,7.57C8.7,6.45,8.5,5.25,8.5,4c0-0.55-0.45-1-1-1H4C3.45,3,3,3.45,3,4c0,9.39,7.61,17,17,17 c0.55,0,1-0.45,1-1v-3.49C21,15.96,20.55,15.51,20,15.51z'\nexport const matWifiLock = 'M0 0h24v24H0z@@fill:none;&&M20.5 9.5c.28 0 .55.04.81.08L24 6c-3.34-2.51-7.5-4-12-4S3.34 3.49 0 6l12 16 3.5-4.67V14.5c0-2.76 2.24-5 5-5zM23 16v-1.5c0-1.38-1.12-2.5-2.5-2.5S18 13.12 18 14.5V16c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h5c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1zm-1 0h-3v-1.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V16z'\nexport const matWifiOff = 'M24 .01c0-.01 0-.01 0 0L0 0v24h24V.01zM0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7l2-2zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53.96-.97zM2 3.05L5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79 2 3.05zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0z'\nexport const matWifiProtectedSetup = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M16.71,5.29L19,3h-8v8l2.3-2.3c1.97,1.46,3.25,3.78,3.25,6.42c0,1.31-0.32,2.54-0.88,3.63c2.33-1.52,3.88-4.14,3.88-7.13 C19.55,9.1,18.44,6.85,16.71,5.29z&&M7.46,8.88c0-1.31,0.32-2.54,0.88-3.63C6,6.77,4.46,9.39,4.46,12.38c0,2.52,1.1,4.77,2.84,6.33L5,21h8v-8l-2.3,2.3 C8.74,13.84,7.46,11.52,7.46,8.88z'\nexport const matWifiTethering = 'M0 0h24v24H0z@@fill:none;&&M12 11c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 2c0-3.31-2.69-6-6-6s-6 2.69-6 6c0 2.22 1.21 4.15 3 5.19l1-1.74c-1.19-.7-2-1.97-2-3.45 0-2.21 1.79-4 4-4s4 1.79 4 4c0 1.48-.81 2.75-2 3.45l1 1.74c1.79-1.04 3-2.97 3-5.19zM12 3C6.48 3 2 7.48 2 13c0 3.7 2.01 6.92 4.99 8.65l1-1.73C5.61 18.53 4 15.96 4 13c0-4.42 3.58-8 8-8s8 3.58 8 8c0 2.96-1.61 5.53-4 6.92l1 1.73c2.99-1.73 5-4.95 5-8.65 0-5.52-4.48-10-10-10z'\nexport const matWineBar = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M6,3l0,6c0,2.97,2.16,5.43,5,5.91V19H8v2h8v-2h-3v-4.09c2.84-0.48,5-2.94,5-5.91l0-6H6z M16,8H8l0-3h8C16,5,16,8,16,8z'\nexport const matWork = 'M0 0h24v24H0z@@fill:none;&&M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z'\nexport const matWorkOff = 'M0 0h24v24H0z@@fill:none;&&M23 21.74l-1.46-1.46L7.21 5.95 3.25 1.99 1.99 3.25l2.7 2.7h-.64c-1.11 0-1.99.89-1.99 2l-.01 11c0 1.11.89 2 2 2h15.64L21.74 23 23 21.74zM22 7.95c.05-1.11-.84-2-1.95-1.95h-4V3.95c0-1.11-.89-2-2-1.95h-4c-1.11-.05-2 .84-2 1.95v.32l13.95 14V7.95zM14.05 6H10V3.95h4.05V6z'\nexport const matWorkOutline = 'M0 0h24v24H0z@@fill:none;&&M14 6V4h-4v2h4zM4 8v11h16V8H4zm16-2c1.11 0 2 .89 2 2v11c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2l.01-11c0-1.11.88-2 1.99-2h4V4c0-1.11.89-2 2-2h4c1.11 0 2 .89 2 2v2h4z@@fill-rule:evenodd;'\nexport const matWrapText = 'M0 0h24v24H0z@@fill:none;&&M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3 3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z'\nexport const matWrongLocation = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M14,10V3.26C13.35,3.09,12.68,3,12,3c-4.2,0-8,3.22-8,8.2c0,3.32,2.67,7.25,8,11.8c5.33-4.55,8-8.48,8-11.8 c0-0.41-0.04-0.81-0.09-1.2H14z M12,13c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2s2,0.9,2,2C14,12.1,13.1,13,12,13z&&M22.54 2.88 L21.12 1.46 L19 3.59 L16.88 1.46 L15.46 2.88 L17.59 5 L15.46 7.12 L16.88 8.54 L19 6.41 L21.12 8.54 L22.54 7.12 L20.41 5z'\nexport const matWysiwyg = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M17,12H7v-2 h10V12z M13,16H7v-2h6V16z'\nexport const matYoutubeSearchedFor = 'M0 0h24v24H0V0zm0 0h24v24H0V0z@@fill:none;&&M17.01 14h-.8l-.27-.27c.98-1.14 1.57-2.61 1.57-4.23 0-3.59-2.91-6.5-6.5-6.5s-6.5 3-6.5 6.5H2l3.84 4 4.16-4H6.51C6.51 7 8.53 5 11.01 5s4.5 2.01 4.5 4.5c0 2.48-2.02 4.5-4.5 4.5-.65 0-1.26-.14-1.82-.38L7.71 15.1c.97.57 2.09.9 3.3.9 1.61 0 3.08-.59 4.22-1.57l.27.27v.79l5.01 4.99L22 19l-4.99-5z'\nexport const matZoomIn = 'M0 0h24v24H0V0z@@fill:none;&&M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z&&M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z'\nexport const matZoomOut = 'M0 0h24v24H0V0z@@fill:none;&&M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z'\nexport const matZoomOutMap = 'M0 0 H24 V24 H0 V0 z@@fill:none;&&M15,3l2.3,2.3l-2.89,2.87l1.42,1.42L18.7,6.7L21,9V3H15z M3,9l2.3-2.3l2.87,2.89l1.42-1.42L6.7,5.3L9,3H3V9z M9,21 l-2.3-2.3l2.89-2.87l-1.42-1.42L5.3,17.3L3,15v6H9z M21,15l-2.3,2.3l-2.87-2.89l-1.42,1.42l2.89,2.87L15,21h6V15z'","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\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","/* eslint-disable no-useless-escape */\n/* eslint-disable no-unused-expressions */\n/* eslint-disable no-mixed-operators */\n\nimport Vue from 'vue'\n\nexport const isSSR = typeof window === 'undefined'\nexport let fromSSR = false\nexport let onSSR = isSSR\n\nexport let iosEmulated = false\nexport let iosCorrection\n\nfunction getMatch (userAgent, platformMatch) {\n const match = /(edge|edga|edgios)\\/([\\w.]+)/.exec(userAgent) ||\n /(opr)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(vivaldi)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(chrome|crios)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(iemobile)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(version)(applewebkit)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(webkit)[\\/]([\\w.]+).*(version)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(firefox|fxios)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(webkit)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(opera)(?:.*version|)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(msie) ([\\w.]+)/.exec(userAgent) ||\n (userAgent.indexOf('trident') >= 0 && /(rv)(?::| )([\\w.]+)/.exec(userAgent)) ||\n (userAgent.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(userAgent)) ||\n []\n\n return {\n browser: match[5] || match[3] || match[1] || '',\n version: match[2] || match[4] || '0',\n versionNumber: match[4] || match[2] || '0',\n platform: platformMatch[0] || ''\n }\n}\n\nfunction getPlatformMatch (userAgent) {\n return /(ipad)/.exec(userAgent) ||\n /(ipod)/.exec(userAgent) ||\n /(windows phone)/.exec(userAgent) ||\n /(iphone)/.exec(userAgent) ||\n /(kindle)/.exec(userAgent) ||\n /(silk)/.exec(userAgent) ||\n /(android)/.exec(userAgent) ||\n /(win)/.exec(userAgent) ||\n /(mac)/.exec(userAgent) ||\n /(linux)/.exec(userAgent) ||\n /(cros)/.exec(userAgent) ||\n /(playbook)/.exec(userAgent) ||\n /(bb)/.exec(userAgent) ||\n /(blackberry)/.exec(userAgent) ||\n []\n}\n\nconst hasTouch = isSSR === false\n ? 'ontouchstart' in window || window.navigator.maxTouchPoints > 0\n : false\n\nfunction applyIosCorrection (is) {\n iosCorrection = { is: { ...is } }\n\n delete is.mac\n delete is.desktop\n\n const platform = Math.min(window.innerHeight, window.innerWidth) > 414\n ? 'ipad'\n : 'iphone'\n\n Object.assign(is, {\n mobile: true,\n ios: true,\n platform,\n [ platform ]: true\n })\n}\n\nfunction getPlatform (UA) {\n const\n userAgent = UA.toLowerCase(),\n platformMatch = getPlatformMatch(userAgent),\n matched = getMatch(userAgent, platformMatch),\n browser = {}\n\n if (matched.browser) {\n browser[matched.browser] = true\n browser.version = matched.version\n browser.versionNumber = parseInt(matched.versionNumber, 10)\n }\n\n if (matched.platform) {\n browser[matched.platform] = true\n }\n\n const knownMobiles = browser.android ||\n browser.ios ||\n browser.bb ||\n browser.blackberry ||\n browser.ipad ||\n browser.iphone ||\n browser.ipod ||\n browser.kindle ||\n browser.playbook ||\n browser.silk ||\n browser['windows phone']\n\n // These are all considered mobile platforms, meaning they run a mobile browser\n if (knownMobiles === true || userAgent.indexOf('mobile') > -1) {\n browser.mobile = true\n\n if (browser.edga || browser.edgios) {\n browser.edge = true\n matched.browser = 'edge'\n }\n else if (browser.crios) {\n browser.chrome = true\n matched.browser = 'chrome'\n }\n else if (browser.fxios) {\n browser.firefox = true\n matched.browser = 'firefox'\n }\n }\n // If it's not mobile we should consider it's desktop platform, meaning it runs a desktop browser\n // It's a workaround for anonymized user agents\n // (browser.cros || browser.mac || browser.linux || browser.win)\n else {\n browser.desktop = true\n }\n\n // Set iOS if on iPod, iPad or iPhone\n if (browser.ipod || browser.ipad || browser.iphone) {\n browser.ios = true\n }\n\n if (browser['windows phone']) {\n browser.winphone = true\n delete browser['windows phone']\n }\n\n // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers\n if (\n browser.chrome ||\n browser.opr ||\n browser.safari ||\n browser.vivaldi ||\n // we expect unknown, non iOS mobile browsers to be webkit based\n (\n browser.mobile === true &&\n browser.ios !== true &&\n knownMobiles !== true\n )\n ) {\n browser.webkit = true\n }\n\n // IE11 has a new token so we will assign it msie to avoid breaking changes\n if (browser.rv || browser.iemobile) {\n matched.browser = 'ie'\n browser.ie = true\n }\n\n // Blackberry browsers are marked as Safari on BlackBerry\n if (browser.safari && browser.blackberry || browser.bb) {\n matched.browser = 'blackberry'\n browser.blackberry = true\n }\n\n // Playbook browsers are marked as Safari on Playbook\n if (browser.safari && browser.playbook) {\n matched.browser = 'playbook'\n browser.playbook = true\n }\n\n // Opera 15+ are identified as opr\n if (browser.opr) {\n matched.browser = 'opera'\n browser.opera = true\n }\n\n // Stock Android browsers are marked as Safari on Android.\n if (browser.safari && browser.android) {\n matched.browser = 'android'\n browser.android = true\n }\n\n // Kindle browsers are marked as Safari on Kindle\n if (browser.safari && browser.kindle) {\n matched.browser = 'kindle'\n browser.kindle = true\n }\n\n // Kindle Silk browsers are marked as Safari on Kindle\n if (browser.safari && browser.silk) {\n matched.browser = 'silk'\n browser.silk = true\n }\n\n if (browser.vivaldi) {\n matched.browser = 'vivaldi'\n browser.vivaldi = true\n }\n\n // Assign the name and platform variable\n browser.name = matched.browser\n browser.platform = matched.platform\n\n if (isSSR === false) {\n if (userAgent.indexOf('electron') > -1) {\n browser.electron = true\n }\n else if (document.location.href.indexOf('-extension://') > -1) {\n browser.bex = true\n }\n else {\n if (window.Capacitor !== void 0) {\n browser.capacitor = true\n browser.nativeMobile = true\n browser.nativeMobileWrapper = 'capacitor'\n }\n else if (window._cordovaNative !== void 0 || window.cordova !== void 0) {\n browser.cordova = true\n browser.nativeMobile = true\n browser.nativeMobileWrapper = 'cordova'\n }\n\n if (\n hasTouch === true &&\n browser.mac === true &&\n (\n (browser.desktop === true && browser.safari === true) ||\n (\n browser.nativeMobile === true &&\n browser.android !== true &&\n browser.ios !== true &&\n browser.ipad !== true\n )\n )\n ) {\n /*\n * Correction needed for iOS since the default\n * setting on iPad is to request desktop view; if we have\n * touch support and the user agent says it's a\n * desktop, we infer that it's an iPhone/iPad with desktop view\n * so we must fix the false positives\n */\n applyIosCorrection(browser)\n }\n }\n\n fromSSR = browser.nativeMobile === void 0 &&\n browser.electron === void 0 &&\n document.querySelector('[data-server-rendered]') !== null\n\n if (fromSSR === true) {\n onSSR = true\n }\n }\n\n return browser\n}\n\nconst userAgent = isSSR !== true\n ? navigator.userAgent || navigator.vendor || window.opera\n : ''\n\nconst ssrClient = {\n has: {\n touch: false,\n webStorage: false\n },\n within: { iframe: false }\n}\n\n// We export \"client\" for hydration error-free parts,\n// like touch directives who do not (and must NOT) wait\n// for the client takeover;\n// Do NOT import this directly in your app, unless you really know\n// what you are doing.\nexport const client = isSSR === false\n ? {\n userAgent,\n is: getPlatform(userAgent),\n has: {\n touch: hasTouch,\n webStorage: (() => {\n try {\n if (window.localStorage) {\n return true\n }\n }\n catch (e) {}\n return false\n })()\n },\n within: {\n iframe: window.self !== window.top\n }\n }\n : ssrClient\n\nconst Platform = {\n install ($q, queues) {\n if (isSSR === true) {\n // we're on server-side, so we push\n // to the server queue instead of\n // applying directly\n queues.server.push((q, ctx) => {\n q.platform = this.parseSSR(ctx.ssr)\n })\n }\n else if (fromSSR === true) {\n // must match with server-side before\n // client taking over in order to prevent\n // hydration errors\n Object.assign(this, client, iosCorrection, ssrClient)\n\n // takeover should increase accuracy for\n // the rest of the props; we also avoid\n // hydration errors\n queues.takeover.push(q => {\n onSSR = fromSSR = false\n Object.assign(q.platform, client)\n iosCorrection = void 0\n })\n\n // we need to make platform reactive\n // for the takeover phase\n Vue.util.defineReactive($q, 'platform', this)\n }\n else {\n // we don't have any business with SSR, so\n // directly applying...\n Object.assign(this, client)\n $q.platform = this\n }\n }\n}\n\nif (isSSR === true) {\n Platform.parseSSR = (/* ssrContext */ ssr) => {\n const userAgent = ssr.req.headers['user-agent'] || ssr.req.headers['User-Agent'] || ''\n return {\n ...client,\n userAgent,\n is: getPlatform(userAgent)\n }\n }\n}\nelse {\n iosEmulated = client.is.ios === true &&\n window.navigator.vendor.toLowerCase().indexOf('apple') === -1\n}\n\nexport default Platform\n","import Vue from 'vue'\n\nimport { isSSR, fromSSR, client } from './Platform.js'\nimport { listenOpts, noop } from '../utils/event.js'\nimport debounce from '../utils/debounce.js'\n\nconst SIZE_LIST = ['sm', 'md', 'lg', 'xl']\nconst { passive } = listenOpts\n\nexport default {\n width: 0,\n height: 0,\n\n name: 'xs',\n\n sizes: {\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n },\n\n lt: {\n sm: true,\n md: true,\n lg: true,\n xl: true\n },\n gt: {\n xs: false,\n sm: false,\n md: false,\n lg: false\n },\n xs: true,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n\n setSizes: noop,\n setDebounce: noop,\n\n install ($q, queues, cfg) {\n if (isSSR === true) {\n $q.screen = this\n return\n }\n\n const { visualViewport } = window\n const target = visualViewport || window\n const scrollingElement = document.scrollingElement || document.documentElement\n const getSize = visualViewport === void 0 || client.is.mobile === true\n ? () => [\n Math.max(window.innerWidth, scrollingElement.clientWidth),\n Math.max(window.innerHeight, scrollingElement.clientHeight)\n ]\n : () => [\n visualViewport.width * visualViewport.scale + window.innerWidth - scrollingElement.clientWidth,\n visualViewport.height * visualViewport.scale + window.innerHeight - scrollingElement.clientHeight\n ]\n\n const classes = cfg.screen !== void 0 && cfg.screen.bodyClasses === true\n\n const update = force => {\n const [ w, h ] = getSize()\n\n if (h !== this.height) {\n this.height = h\n }\n\n if (w !== this.width) {\n this.width = w\n }\n else if (force !== true) {\n return\n }\n\n let s = this.sizes\n\n this.gt.xs = w >= s.sm\n this.gt.sm = w >= s.md\n this.gt.md = w >= s.lg\n this.gt.lg = w >= s.xl\n this.lt.sm = w < s.sm\n this.lt.md = w < s.md\n this.lt.lg = w < s.lg\n this.lt.xl = w < s.xl\n this.xs = this.lt.sm\n this.sm = this.gt.xs === true && this.lt.md === true\n this.md = this.gt.sm === true && this.lt.lg === true\n this.lg = this.gt.md === true && this.lt.xl === true\n this.xl = this.gt.lg\n\n s = (this.xs === true && 'xs') ||\n (this.sm === true && 'sm') ||\n (this.md === true && 'md') ||\n (this.lg === true && 'lg') ||\n 'xl'\n\n if (s !== this.name) {\n if (classes === true) {\n document.body.classList.remove(`screen--${this.name}`)\n document.body.classList.add(`screen--${s}`)\n }\n this.name = s\n }\n }\n\n let updateEvt, updateSizes = {}, updateDebounce = 16\n\n this.setSizes = sizes => {\n SIZE_LIST.forEach(name => {\n if (sizes[name] !== void 0) {\n updateSizes[name] = sizes[name]\n }\n })\n }\n this.setDebounce = deb => {\n updateDebounce = deb\n }\n\n const start = () => {\n const style = getComputedStyle(document.body)\n\n // if css props available\n if (style.getPropertyValue('--q-size-sm')) {\n SIZE_LIST.forEach(name => {\n this.sizes[name] = parseInt(style.getPropertyValue(`--q-size-${name}`), 10)\n })\n }\n\n this.setSizes = sizes => {\n SIZE_LIST.forEach(name => {\n if (sizes[name]) {\n this.sizes[name] = sizes[name]\n }\n })\n update(true)\n }\n\n this.setDebounce = delay => {\n updateEvt !== void 0 && target.removeEventListener('resize', updateEvt, passive)\n updateEvt = delay > 0\n ? debounce(update, delay)\n : update\n target.addEventListener('resize', updateEvt, passive)\n }\n\n this.setDebounce(updateDebounce)\n\n if (Object.keys(updateSizes).length > 0) {\n this.setSizes(updateSizes)\n updateSizes = void 0 // free up memory\n }\n else {\n update()\n }\n\n // due to optimizations, this would be left out otherwise\n classes === true && this.name === 'xs' &&\n document.body.classList.add(`screen--xs`)\n }\n\n if (fromSSR === true) {\n queues.takeover.push(start)\n }\n else {\n start()\n }\n\n Vue.util.defineReactive($q, 'screen', this)\n }\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');\n\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(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\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 // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\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(utils.merge(config || {}, {\n method: method,\n url: url\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(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","import { isSSR } from '../plugins/Platform.js'\n\nexport default function cache (vm, key, obj) {\n if (isSSR === true) return obj\n\n const k = `__qcache_${key}`\n return vm[k] === void 0\n ? (vm[k] = obj)\n : vm[k]\n}\n\nexport function cacheWithFn (vm, key, fn) {\n if (isSSR === true) return fn()\n\n const k = `__qcache_${key}`\n return vm[k] === void 0\n ? (vm[k] = fn())\n : vm[k]\n}\n\nexport function getPropCacheMixin (propName, proxyPropName) {\n return {\n data () {\n const target = {}\n const source = this[propName]\n\n for (const prop in source) {\n target[prop] = source[prop]\n }\n\n return { [proxyPropName]: target }\n },\n\n watch: {\n [propName] (newObj, oldObj) {\n const target = this[proxyPropName]\n\n if (oldObj !== void 0) {\n // we first delete obsolete events\n for (const prop in oldObj) {\n if (newObj[prop] === void 0) {\n this.$delete(target, prop)\n }\n }\n }\n\n for (const prop in newObj) {\n // we then update changed events\n if (target[prop] !== newObj[prop]) {\n this.$set(target, prop, newObj[prop])\n }\n }\n }\n }\n }\n}\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 wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://теÑÑ‚').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinner',\n\n mixins: [ mixin ],\n\n props: {\n thickness: {\n type: Number,\n default: 5\n }\n },\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner q-spinner-mat',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '25 25 50 50'\n }\n }, [\n h('circle', {\n staticClass: 'path',\n attrs: {\n 'cx': '50',\n 'cy': '50',\n 'r': '20',\n 'fill': 'none',\n 'stroke': 'currentColor',\n 'stroke-width': this.thickness,\n 'stroke-miterlimit': '10'\n }\n })\n ])\n }\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';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\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","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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\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 toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","import Vuex from 'vuex';\n\nfunction createDirectStore(options) {\n const original = new Vuex.Store(options);\n const store = {\n get state() {\n return original.state;\n },\n getters: toDirectGetters(options, original.getters),\n commit: toDirectCommit(options, original.commit),\n dispatch: toDirectDispatch(options, original.dispatch),\n original\n };\n original.direct = store;\n return {\n store,\n rootGetterContext: ([state, getters]) => getModuleGetterContext([state, getters, state, getters], options, options),\n moduleGetterContext: (args, moduleOptions) => getModuleGetterContext(args, moduleOptions, options),\n rootActionContext: (originalContext) => getModuleActionContext(originalContext, options, options),\n moduleActionContext: (originalContext, moduleOptions) => getModuleActionContext(originalContext, moduleOptions, options),\n };\n}\nfunction localGetterContext([state, getters], options) {\n return getModuleGetterContext([state, getters, undefined, undefined], options);\n}\nfunction localActionContext(originalContext, options) {\n return getModuleActionContext(originalContext, options);\n}\nfunction defineModule(options) {\n return options;\n}\nfunction defineModules() {\n return modules => modules;\n}\nfunction defineGetters() {\n return getters => getters;\n}\nfunction defineMutations() {\n return mutations => mutations;\n}\nfunction defineActions(actions) {\n return actions;\n}\nconst createModule = obsolete(defineModule, \"createModule\", \"defineModule\");\nconst createModules = obsolete(defineModules, \"createModules\", \"defineModules\");\nconst createGetters = obsolete(defineGetters, \"createGetters\", \"defineGetters\");\nconst createMutations = obsolete(defineMutations, \"createMutations\", \"defineMutations\");\nconst createActions = obsolete(defineActions, \"createActions\", \"defineActions\");\nfunction obsolete(fn, oldName, newName) {\n return ((...args) => {\n // tslint:disable-next-line:no-console\n console.warn(`Function '${oldName}' is obsolete, please use '${newName}'.`);\n return fn(...args);\n });\n}\nvar directVuex = {\n createDirectStore, defineModule, defineModules, defineGetters, defineMutations, defineActions,\n localGetterContext, localActionContext,\n createModule, createModules, createGetters, createMutations, createActions\n};\n// Getters\nconst gettersCache = new WeakMap();\nfunction toDirectGetters(options, originalGetters) {\n let getters = gettersCache.get(originalGetters);\n // console.log(\">> to-getters\", getters ? \"FROM_CACHE\" : \"CREATE\", options)\n if (!getters) {\n getters = gettersFromOptions({}, options, originalGetters);\n gettersCache.set(originalGetters, getters);\n }\n return getters;\n}\nfunction gettersFromOptions(result, options, originalGetters, hierarchy = []) {\n if (options.getters)\n createDirectGetters(result, options.getters, originalGetters, hierarchy);\n if (options.modules) {\n for (const moduleName of Object.keys(options.modules)) {\n const moduleOptions = options.modules[moduleName];\n if (moduleOptions.namespaced)\n result[moduleName] = gettersFromOptions({}, moduleOptions, originalGetters, [...hierarchy, moduleName]);\n else\n gettersFromOptions(result, moduleOptions, originalGetters, hierarchy);\n }\n }\n return result;\n}\nfunction createDirectGetters(result, gettersImpl, originalGetters, hierarchy) {\n const prefix = !hierarchy || hierarchy.length === 0 ? \"\" : `${hierarchy.join(\"/\")}/`;\n for (const name of Object.keys(gettersImpl)) {\n Object.defineProperties(result, {\n [name]: {\n get: () => originalGetters[`${prefix}${name}`]\n }\n });\n }\n}\n// Mutations\nconst commitCache = new WeakMap();\nfunction toDirectCommit(options, originalCommit) {\n let commit = commitCache.get(originalCommit);\n // console.log(\">> to-commit\", commit ? \"FROM_CACHE\" : \"CREATE\", options)\n if (!commit) {\n commit = commitFromOptions({}, options, originalCommit);\n commitCache.set(originalCommit, commit);\n }\n return commit;\n}\nconst rootCommitCache = new WeakMap();\nfunction toDirectRootCommit(rootOptions, originalCommit) {\n let commit = rootCommitCache.get(originalCommit);\n // console.log(\">> to-rootCommit\", commit ? \"FROM_CACHE\" : \"CREATE\", rootOptions)\n if (!commit) {\n const origCall = (mutation, payload) => originalCommit(mutation, payload, { root: true });\n commit = commitFromOptions({}, rootOptions, origCall);\n rootCommitCache.set(originalCommit, commit);\n }\n return commit;\n}\nfunction commitFromOptions(result, options, originalCommitCall, hierarchy = []) {\n if (options.mutations)\n createDirectMutations(result, options.mutations, originalCommitCall, hierarchy);\n if (options.modules) {\n for (const moduleName of Object.keys(options.modules)) {\n const moduleOptions = options.modules[moduleName];\n if (moduleOptions.namespaced)\n result[moduleName] = commitFromOptions({}, moduleOptions, originalCommitCall, [...hierarchy, moduleName]);\n else\n commitFromOptions(result, moduleOptions, originalCommitCall, hierarchy);\n }\n }\n return result;\n}\nfunction createDirectMutations(result, mutationsImpl, originalCommitCall, hierarchy) {\n const prefix = !hierarchy || hierarchy.length === 0 ? \"\" : `${hierarchy.join(\"/\")}/`;\n for (const name of Object.keys(mutationsImpl))\n result[name] = (payload) => originalCommitCall(`${prefix}${name}`, payload);\n}\n// Actions\nconst dispatchCache = new WeakMap();\nfunction toDirectDispatch(options, originalDispatch) {\n let dispatch = dispatchCache.get(originalDispatch);\n // console.log(\">> to-dispatch\", dispatch ? \"FROM_CACHE\" : \"CREATE\", options)\n if (!dispatch) {\n dispatch = dispatchFromOptions({}, options, originalDispatch);\n dispatchCache.set(originalDispatch, dispatch);\n }\n return dispatch;\n}\nconst rootDispatchCache = new WeakMap();\nfunction toDirectRootDispatch(rootOptions, originalDispatch) {\n let dispatch = rootDispatchCache.get(originalDispatch);\n // console.log(\">> to-rootDispatch\", dispatch ? \"FROM_CACHE\" : \"CREATE\", rootOptions)\n if (!dispatch) {\n const origCall = (mutation, payload) => originalDispatch(mutation, payload, { root: true });\n dispatch = dispatchFromOptions({}, rootOptions, origCall);\n rootDispatchCache.set(originalDispatch, dispatch);\n }\n return dispatch;\n}\nfunction dispatchFromOptions(result, options, originalDispatchCall, hierarchy = []) {\n if (options.actions)\n createDirectActions(result, options.actions, originalDispatchCall, hierarchy);\n if (options.modules) {\n for (const moduleName of Object.keys(options.modules)) {\n const moduleOptions = options.modules[moduleName];\n if (moduleOptions.namespaced)\n result[moduleName] = dispatchFromOptions({}, moduleOptions, originalDispatchCall, [...hierarchy, moduleName]);\n else\n dispatchFromOptions(result, moduleOptions, originalDispatchCall, hierarchy);\n }\n }\n return result;\n}\nfunction createDirectActions(result, actionsImpl, originalDispatchCall, hierarchy) {\n const prefix = !hierarchy || hierarchy.length === 0 ? \"\" : `${hierarchy.join(\"/\")}/`;\n for (const name of Object.keys(actionsImpl))\n result[name] = (payload) => originalDispatchCall(`${prefix}${name}`, payload);\n}\n// GetterContext\nconst getterContextCache = new WeakMap();\nfunction getModuleGetterContext(args, options, rootOptions) {\n const [state, getters, rootState, rootGetters] = args;\n let context = actionContextCache.get(state);\n // console.log(\">> to-getterContext\", context ? \"FROM_CACHE\" : \"CREATE\", options)\n if (!context) {\n if (rootOptions) {\n context = {\n get rootState() {\n return rootState;\n },\n get rootGetters() {\n return toDirectGetters(rootOptions, rootGetters);\n },\n get state() {\n return state;\n },\n get getters() {\n return toDirectGetters(options, getters);\n }\n };\n }\n else {\n context = {\n get state() {\n return state;\n },\n get getters() {\n return toDirectGetters(options, getters);\n }\n };\n }\n if (state) // Can be undefined in unit tests\n getterContextCache.set(state, context);\n }\n return context;\n}\n// ActionContext\nconst actionContextCache = new WeakMap();\nfunction getModuleActionContext(originalContext, options, rootOptions) {\n let context = actionContextCache.get(originalContext.state);\n // console.log(\">> to-actionContext\", context ? \"FROM_CACHE\" : \"CREATE\", options)\n if (!context) {\n if (rootOptions) {\n context = {\n get rootState() {\n return originalContext.rootState;\n },\n get rootGetters() {\n return toDirectGetters(rootOptions, originalContext.rootGetters);\n },\n get rootCommit() {\n return toDirectRootCommit(rootOptions, originalContext.commit);\n },\n get rootDispatch() {\n return toDirectRootDispatch(rootOptions, originalContext.dispatch);\n },\n get state() {\n return originalContext.state;\n },\n get getters() {\n return toDirectGetters(options, originalContext.getters);\n },\n get commit() {\n return toDirectCommit(options, originalContext.commit);\n },\n get dispatch() {\n return toDirectDispatch(options, originalContext.dispatch);\n }\n };\n }\n else {\n context = {\n get state() {\n return originalContext.state;\n },\n get getters() {\n return toDirectGetters(options, originalContext.getters);\n },\n get commit() {\n return toDirectCommit(options, originalContext.commit);\n },\n get dispatch() {\n return toDirectDispatch(options, originalContext.dispatch);\n }\n };\n }\n if (originalContext.state) // Can be undefined in unit tests\n actionContextCache.set(originalContext.state, context);\n }\n return context;\n}\n\nexport default directVuex;\nexport { createActions, createDirectStore, createGetters, createModule, createModules, createMutations, defineActions, defineGetters, defineModule, defineModules, defineMutations, localActionContext, localGetterContext };\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","export default function (fn, wait = 250, immediate) {\n let timeout\n\n function debounced (/* ...args */) {\n const args = arguments\n\n const later = () => {\n timeout = void 0\n if (immediate !== true) {\n fn.apply(this, args)\n }\n }\n\n clearTimeout(timeout)\n if (immediate === true && timeout === void 0) {\n fn.apply(this, args)\n }\n timeout = setTimeout(later, wait)\n }\n\n debounced.cancel = () => {\n clearTimeout(timeout)\n }\n\n return debounced\n}\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QList',\n\n mixins: [ ListenersMixin, DarkMixin ],\n\n props: {\n bordered: Boolean,\n dense: Boolean,\n separator: Boolean,\n padding: Boolean\n },\n\n computed: {\n classes () {\n return 'q-list' +\n (this.bordered === true ? ' q-list--bordered' : '') +\n (this.dense === true ? ' q-list--dense' : '') +\n (this.separator === true ? ' q-list--separator' : '') +\n (this.isDark === true ? ' q-list--dark' : '') +\n (this.padding === true ? ' q-list--padding' : '')\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\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","// `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 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","export default {\n isoName: 'en-us',\n nativeName: 'English (US)',\n label: {\n clear: 'Clear',\n ok: 'OK',\n cancel: 'Cancel',\n close: 'Close',\n set: 'Set',\n select: 'Select',\n reset: 'Reset',\n remove: 'Remove',\n update: 'Update',\n create: 'Create',\n search: 'Search',\n filter: 'Filter',\n refresh: 'Refresh'\n },\n date: {\n days: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n daysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n firstDayOfWeek: 0, // 0-6, 0 - Sunday, 1 Monday, ...\n format24h: false,\n pluralDay: 'days'\n },\n table: {\n noData: 'No data available',\n noResults: 'No matching records found',\n loading: 'Loading...',\n selectedRecords: function (rows) {\n return rows === 1\n ? '1 record selected.'\n : (rows === 0 ? 'No' : rows) + ' records selected.'\n },\n recordsPerPage: 'Records per page:',\n allRows: 'All',\n pagination: function (start, end, total) {\n return start + '-' + end + ' of ' + total\n },\n columns: 'Columns'\n },\n editor: {\n url: 'URL',\n bold: 'Bold',\n italic: 'Italic',\n strikethrough: 'Strikethrough',\n underline: 'Underline',\n unorderedList: 'Unordered List',\n orderedList: 'Ordered List',\n subscript: 'Subscript',\n superscript: 'Superscript',\n hyperlink: 'Hyperlink',\n toggleFullscreen: 'Toggle Fullscreen',\n quote: 'Quote',\n left: 'Left align',\n center: 'Center align',\n right: 'Right align',\n justify: 'Justify align',\n print: 'Print',\n outdent: 'Decrease indentation',\n indent: 'Increase indentation',\n removeFormat: 'Remove formatting',\n formatting: 'Formatting',\n fontSize: 'Font Size',\n align: 'Align',\n hr: 'Insert Horizontal Rule',\n undo: 'Undo',\n redo: 'Redo',\n heading1: 'Heading 1',\n heading2: 'Heading 2',\n heading3: 'Heading 3',\n heading4: 'Heading 4',\n heading5: 'Heading 5',\n heading6: 'Heading 6',\n paragraph: 'Paragraph',\n code: 'Code',\n size1: 'Very small',\n size2: 'A bit small',\n size3: 'Normal',\n size4: 'Medium-large',\n size5: 'Big',\n size6: 'Very big',\n size7: 'Maximum',\n defaultFont: 'Default Font',\n viewSource: 'View Source'\n },\n tree: {\n noNodes: 'No nodes available',\n noResults: 'No matching nodes found'\n }\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\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","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","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","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","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\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\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\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)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\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\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\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","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\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 = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\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} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\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 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","/* 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","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2019 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 '<Root>'\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)) + \">\") : \"<Anonymous>\") +\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]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\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)$/;\n\nfunction assertType (value, type) {\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 valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\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(/^\\s*function (\\w+)/);\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 var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\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\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.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,' +\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<VNode>. 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. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecesarry `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","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","'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\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\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';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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 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","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\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() {\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 };\n };\n return error;\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';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\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","import Ripple from '../directives/Ripple.js'\n\nexport default {\n directives: {\n Ripple\n },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true\n }\n }\n}\n","module.exports = {};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flat');\n","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\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","var global = require('../internals/global');\n\nmodule.exports = global;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\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 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","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\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 (!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","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\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","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\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 var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = [\n 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath'\n ];\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys);\n\n var otherKeys = Object\n .keys(config2)\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\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","'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 bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\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 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 hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\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\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(\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(\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(\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';\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 DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModule = require('../internals/object-define-property');\nvar regExpFlags = require('../internals/regexp-flags');\nvar UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;\n\n// `RegExp.prototype.flags` getter\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nif (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {\n objectDefinePropertyModule.f(RegExp.prototype, 'flags', {\n configurable: true,\n get: regExpFlags\n });\n}\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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 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","import { isSSR, client } from './plugins/Platform.js'\nimport { noop } from './utils/event.js'\n\nconst getTrue = () => true\n\nfunction filterInvalidPath (path) {\n return typeof path === 'string' &&\n path !== '' &&\n path !== '/' &&\n path !== '#/'\n}\n\nfunction normalizeExitPath (path) {\n path.startsWith('#') === true && (path = path.substr(1))\n path.startsWith('/') === false && (path = '/' + path)\n path.endsWith('/') === true && (path = path.substr(0, path.length - 1))\n return '#' + path\n}\n\nfunction getShouldExitFn (cfg) {\n if (cfg.backButtonExit === false) {\n return () => false\n }\n\n if (cfg.backButtonExit === '*') {\n return getTrue\n }\n\n // Add default root path\n const exitPaths = [ '#/' ]\n\n // Add custom exit paths\n Array.isArray(cfg.backButtonExit) === true && exitPaths.push(\n ...cfg.backButtonExit.filter(filterInvalidPath).map(normalizeExitPath)\n )\n\n return () => exitPaths.includes(window.location.hash)\n}\n\nexport default {\n __history: [],\n add: noop,\n remove: noop,\n\n install (cfg) {\n if (isSSR === true) {\n return\n }\n\n const { cordova, capacitor } = client.is\n\n if (cordova !== true && capacitor !== true) {\n return\n }\n\n const qConf = cfg[cordova === true ? 'cordova' : 'capacitor']\n\n if (qConf !== void 0 && qConf.backButton === false) {\n return\n }\n\n // if the '@capacitor/app' plugin is not installed\n // then we got nothing to do\n if (\n // if we're on Capacitor mode\n capacitor === true &&\n // and it's also not in Capacitor's main instance\n (window.Capacitor === void 0 || window.Capacitor.Plugins.App === void 0)\n ) {\n return\n }\n\n this.add = entry => {\n if (entry.condition === void 0) {\n entry.condition = getTrue\n }\n this.__history.push(entry)\n }\n\n this.remove = entry => {\n const index = this.__history.indexOf(entry)\n if (index >= 0) {\n this.__history.splice(index, 1)\n }\n }\n\n const shouldExit = getShouldExitFn(\n Object.assign(\n { backButtonExit: true },\n qConf\n )\n )\n\n const backHandler = () => {\n if (this.__history.length) {\n const entry = this.__history[this.__history.length - 1]\n\n if (entry.condition() === true) {\n this.__history.pop()\n entry.handler()\n }\n }\n else if (shouldExit() === true) {\n navigator.app.exitApp()\n }\n else {\n window.history.back()\n }\n }\n\n if (cordova === true) {\n document.addEventListener('deviceready', () => {\n document.addEventListener('backbutton', backHandler, false)\n })\n }\n else {\n window.Capacitor.Plugins.App.addListener('backButton', backHandler)\n }\n }\n}\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","import { sizes } from '../../mixins/size.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default {\n mixins: [ ListenersMixin ],\n\n props: {\n color: String,\n size: {\n type: [Number, String],\n default: '1em'\n }\n },\n\n computed: {\n cSize () {\n return this.size in sizes\n ? `${sizes[this.size]}px`\n : this.size\n },\n\n classes () {\n if (this.color) {\n return `text-${this.color}`\n }\n }\n }\n}\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\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","/*!\n * Quasar Framework v1.18.5\n * (c) 2015-present Razvan Stoenescu\n * Released under the MIT License.\n */\nfunction objectOrFunction(e){var t=typeof e;return null!==e&&(\"object\"===t||\"function\"===t)}function isFunction(e){return\"function\"==typeof e}\"undefined\"!=typeof window&&function(e){[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty(\"remove\")||Object.defineProperty(e,\"remove\",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})});try{new MouseEvent(\"test\")}catch(r){var t=function(t,r){r=r||{bubbles:!1,cancelable:!1};var n=document.createEvent(\"MouseEvent\");return n.initMouseEvent(t,r.bubbles,r.cancelable,e,0,r.screenX||0,r.screenY||0,r.clientX||0,r.clientY||0,r.ctrlKey||!1,r.altKey||!1,r.shiftKey||!1,r.metaKey||!1,r.button||0,r.relatedTarget||null),n};t.prototype=Event.prototype,e.MouseEvent=t}\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(e,t){var r=arguments;if(null===e||void 0===e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(e),o=1;o<arguments.length;o++){var i=r[o];if(null!==i&&void 0!==i)for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])}return n},writable:!0,configurable:!0}),String.prototype.startsWith||Object.defineProperty(String.prototype,\"startsWith\",{value:function(e,t){var r=t>0?0|t:0;return this.substring(r,r+e.length)===e}}),String.prototype.endsWith||(String.prototype.endsWith=function(e,t){return(void 0===t||t>this.length)&&(t=this.length),this.substring(t-e.length,t)===e}),Number.isInteger||(Number.isInteger=function(e){return\"number\"==typeof e&&isFinite(e)&&Math.floor(e)===e}),Array.prototype.includes||(Array.prototype.includes=function(e){return!!~this.indexOf(e)}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(e){if(null==this)throw TypeError('\"this\" is null or not defined');var t=Object(this),r=t.length>>>0;if(\"function\"!=typeof e)throw TypeError(\"predicate must be a function\");for(var n=arguments[1],o=0;o<r;){var i=t[o];if(e.call(n,i,o,t))return i;o++}},configurable:!0,writable:!0}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,\"findIndex\",{value:function(e){if(null==this)throw new TypeError(\"Array.prototype.findIndex called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");for(var t=Object(this),r=t.length>>>0,n=arguments[1],o=0;o<r;o++)if(e.call(n,t[o],o,t))return o;return-1}}),\"classList\"in SVGElement.prototype||Object.defineProperty(SVGElement.prototype,\"classList\",{get:function(){var e=this;return{contains:function(t){return-1!==e.className.baseVal.split(\" \").indexOf(t)},add:function(t){return e.setAttribute(\"class\",e.getAttribute(\"class\")+\" \"+t)},remove:function(t){var r=e.getAttribute(\"class\").replace(new RegExp(\"(\\\\s|^)\".concat(t,\"(\\\\s|$)\"),\"g\"),\"$2\");e.classList.contains(t)&&e.setAttribute(\"class\",r)},toggle:function(e){this.contains(e)?this.remove(e):this.add(e)}}}})}(window);var _isArray=void 0,isArray=_isArray=Array.isArray?Array.isArray:function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},len=0,vertxNext=void 0,customSchedulerFn=void 0,asap=function(e,t){queue[len]=e,queue[len+1]=t,2===(len+=2)&&(customSchedulerFn?customSchedulerFn(flush):scheduleFlush())};function setScheduler(e){customSchedulerFn=e}function setAsap(e){asap=e}var browserWindow=\"undefined\"!=typeof window?window:void 0,browserGlobal=browserWindow||{},BrowserMutationObserver=browserGlobal.MutationObserver||browserGlobal.WebKitMutationObserver,isNode=\"undefined\"==typeof self&&\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process),isWorker=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function useNextTick(){return function(){return process.nextTick(flush)}}function useVertxTimer(){return void 0!==vertxNext?function(){vertxNext(flush)}:useSetTimeout()}function useMutationObserver(){var e=0,t=new BrowserMutationObserver(flush),r=document.createTextNode(\"\");return t.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}function useMessageChannel(){var e=new MessageChannel;return e.port1.onmessage=flush,function(){return e.port2.postMessage(0)}}function useSetTimeout(){var e=setTimeout;return function(){return e(flush,1)}}var queue=new Array(1e3);function flush(){for(var e=0;e<len;e+=2){(0,queue[e])(queue[e+1]),queue[e]=void 0,queue[e+1]=void 0}len=0}function attemptVertx(){try{var e=Function(\"return this\")().require(\"vertx\");return vertxNext=e.runOnLoop||e.runOnContext,useVertxTimer()}catch(e){return useSetTimeout()}}var scheduleFlush=void 0;function then(e,t){var r=this,n=new this.constructor(noop);void 0===n[PROMISE_ID]&&makePromise(n);var o=r._state;if(o){var i=arguments[o-1];asap(function(){return invokeCallback(o,n,i,r._result)})}else subscribe(r,n,e,t);return n}function resolve$1(e){if(e&&\"object\"==typeof e&&e.constructor===this)return e;var t=new this(noop);return resolve(t,e),t}scheduleFlush=isNode?useNextTick():BrowserMutationObserver?useMutationObserver():isWorker?useMessageChannel():void 0===browserWindow&&\"function\"==typeof require?attemptVertx():useSetTimeout();var PROMISE_ID=Math.random().toString(36).substring(2);function noop(){}var PENDING=void 0,FULFILLED=1,REJECTED=2,TRY_CATCH_ERROR={error:null};function selfFulfillment(){return new TypeError(\"You cannot resolve a promise with itself\")}function cannotReturnOwn(){return new TypeError(\"A promises callback cannot return that same promise.\")}function getThen(e){try{return e.then}catch(e){return TRY_CATCH_ERROR.error=e,TRY_CATCH_ERROR}}function tryThen(e,t,r,n){try{e.call(t,r,n)}catch(e){return e}}function handleForeignThenable(e,t,r){asap(function(e){var n=!1,o=tryThen(r,t,function(r){n||(n=!0,t!==r?resolve(e,r):fulfill(e,r))},function(t){n||(n=!0,reject(e,t))},\"Settle: \"+(e._label||\" unknown promise\"));!n&&o&&(n=!0,reject(e,o))},e)}function handleOwnThenable(e,t){t._state===FULFILLED?fulfill(e,t._result):t._state===REJECTED?reject(e,t._result):subscribe(t,void 0,function(t){return resolve(e,t)},function(t){return reject(e,t)})}function handleMaybeThenable(e,t,r){t.constructor===e.constructor&&r===then&&t.constructor.resolve===resolve$1?handleOwnThenable(e,t):r===TRY_CATCH_ERROR?(reject(e,TRY_CATCH_ERROR.error),TRY_CATCH_ERROR.error=null):void 0===r?fulfill(e,t):isFunction(r)?handleForeignThenable(e,t,r):fulfill(e,t)}function resolve(e,t){e===t?reject(e,selfFulfillment()):objectOrFunction(t)?handleMaybeThenable(e,t,getThen(t)):fulfill(e,t)}function publishRejection(e){e._onerror&&e._onerror(e._result),publish(e)}function fulfill(e,t){e._state===PENDING&&(e._result=t,e._state=FULFILLED,0!==e._subscribers.length&&asap(publish,e))}function reject(e,t){e._state===PENDING&&(e._state=REJECTED,e._result=t,asap(publishRejection,e))}function subscribe(e,t,r,n){var o=e._subscribers,i=o.length;e._onerror=null,o[i]=t,o[i+FULFILLED]=r,o[i+REJECTED]=n,0===i&&e._state&&asap(publish,e)}function publish(e){var t=e._subscribers,r=e._state;if(0!==t.length){for(var n=void 0,o=void 0,i=e._result,s=0;s<t.length;s+=3)n=t[s],o=t[s+r],n?invokeCallback(r,n,o,i):o(i);e._subscribers.length=0}}function tryCatch(e,t){try{return e(t)}catch(e){return TRY_CATCH_ERROR.error=e,TRY_CATCH_ERROR}}function invokeCallback(e,t,r,n){var o=isFunction(r),i=void 0,s=void 0,u=void 0,l=void 0;if(o){if((i=tryCatch(r,n))===TRY_CATCH_ERROR?(l=!0,s=i.error,i.error=null):u=!0,t===i)return void reject(t,cannotReturnOwn())}else i=n,u=!0;t._state!==PENDING||(o&&u?resolve(t,i):l?reject(t,s):e===FULFILLED?fulfill(t,i):e===REJECTED&&reject(t,i))}function initializePromise(e,t){try{t(function(t){resolve(e,t)},function(t){reject(e,t)})}catch(t){reject(e,t)}}var uid=0;function nextId(){return uid++}function makePromise(e){e[PROMISE_ID]=id++,e._state=void 0,e._result=void 0,e._subscribers=[]}function validationError(){return new Error(\"Array Methods must be provided an Array\")}var Enumerator=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(noop),this.promise[PROMISE_ID]||makePromise(this.promise),isArray(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?fulfill(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&fulfill(this.promise,this._result))):reject(this.promise,validationError())}return e.prototype._enumerate=function(e){for(var t=0;this._state===PENDING&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var r=this._instanceConstructor,n=r.resolve;if(n===resolve$1){var o=getThen(e);if(o===then&&e._state!==PENDING)this._settledAt(e._state,t,e._result);else if(\"function\"!=typeof o)this._remaining--,this._result[t]=e;else if(r===Promise$2){var i=new r(noop);handleMaybeThenable(i,e,o),this._willSettleAt(i,t)}else this._willSettleAt(new r(function(t){return t(e)}),t)}else this._willSettleAt(n(e),t)},e.prototype._settledAt=function(e,t,r){var n=this.promise;n._state===PENDING&&(this._remaining--,e===REJECTED?reject(n,r):this._result[t]=r),0===this._remaining&&fulfill(n,this._result)},e.prototype._willSettleAt=function(e,t){var r=this;subscribe(e,void 0,function(e){return r._settledAt(FULFILLED,t,e)},function(e){return r._settledAt(REJECTED,t,e)})},e}();function all(e){return new Enumerator(this,e).promise}function race(e){var t=this;return isArray(e)?new t(function(r,n){for(var o=e.length,i=0;i<o;i++)t.resolve(e[i]).then(r,n)}):new t(function(e,t){return t(new TypeError(\"You must pass an array to race.\"))})}function reject$1(e){var t=new this(noop);return reject(t,e),t}function needsResolver(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}function needsNew(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}var Promise$2=function(){function e(t){this[PROMISE_ID]=nextId(),this._result=this._state=void 0,this._subscribers=[],noop!==t&&(\"function\"!=typeof t&&needsResolver(),this instanceof e?initializePromise(this,t):needsNew())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this.constructor;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})},e}();function polyfill(){var e=void 0;if(\"undefined\"!=typeof global)e=global;else if(\"undefined\"!=typeof self)e=self;else try{e=Function(\"return this\")()}catch(e){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var t=e.Promise;if(t){var r=null;try{r=Object.prototype.toString.call(t.resolve())}catch(e){}if(\"[object Promise]\"===r&&!t.cast)return}e.Promise=Promise$2}Promise$2.prototype.then=then,Promise$2.all=all,Promise$2.race=race,Promise$2.resolve=resolve$1,Promise$2.reject=reject$1,Promise$2._setScheduler=setScheduler,Promise$2._setAsap=setAsap,Promise$2._asap=asap,polyfill();","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","/**\n * vue-class-component v7.2.5\n * (c) 2015-present Evan You\n * @license MIT\n */\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _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}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function (key) {\n forwardMetadata(to, from, key);\n });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function (metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\n\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function' ? target : target.constructor;\n\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n\n if (typeof index !== 'number') {\n index = undefined;\n }\n\n Ctor.__decorators__.push(function (options) {\n return factory(options, key, index);\n });\n };\n}\nfunction mixins() {\n for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n Ctors[_key] = arguments[_key];\n }\n\n return Vue.extend({\n mixins: Ctors\n });\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n\n return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n // override _init to prevent to init as Vue instance\n var originalInit = Component.prototype._init;\n\n Component.prototype._init = function () {\n var _this = this;\n\n // proxy to actual vm\n var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n\n keys.forEach(function (key) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return vm[key];\n },\n set: function set(value) {\n vm[key] = value;\n },\n configurable: true\n });\n });\n }; // should be acquired class property values\n\n\n var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n Component.prototype._init = originalInit; // create plain data object\n\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' + 'when class property is used.');\n }\n }\n\n return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n } // hooks\n\n\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n if (descriptor.value !== void 0) {\n // methods\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n // typescript decorated data\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component);\n }\n }); // decorate options\n\n var decorators = Component.__decorators__;\n\n if (decorators) {\n decorators.forEach(function (fn) {\n return fn(options);\n });\n delete Component.__decorators__;\n } // find super\n\n\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component);\n }\n\n return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n // Skip the properties that should not be overwritten\n if (shouldIgnore[key]) {\n return;\n } // Some browsers does not allow reconfigure built-in properties\n\n\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n // the sub class properties may be inherited properties from the super class in TypeScript.\n // We need to exclude such properties to prevent to overwrite\n // the component options object which stored on the extended constructor (See #192).\n // If the value is a referenced value (object or function),\n // we can check equality of them and exclude it if they have the same reference.\n // If it is a primitive value, it will be forwarded for safety.\n\n if (!hasProto) {\n // Only `cid` is explicitly exluded from property forwarding\n // because we cannot detect whether it is a inherited property or not\n // on the no `__proto__` environment even though the property is reserved.\n if (key === 'cid') {\n return;\n }\n\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n } // Warn if the users manually declare reserved properties\n\n\n if (process.env.NODE_ENV !== 'production' && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\".concat(key, \"' declared on class '\").concat(Original.name, \"' \") + 'conflicts with reserved property name of Vue internal. ' + 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\nexport default Component;\nexport { createDecorator, mixins };\n","/** vue-property-decorator verson 8.5.1 MIT LICENSE copyright 2020 kaorun343 */\n/// <reference types='reflect-metadata'/>\n'use strict';\nimport Vue from 'vue';\nimport Component, { createDecorator, mixins } from 'vue-class-component';\nexport { Component, Vue, mixins as Mixins };\n/** Used for keying reactive provide/inject properties */\nvar reactiveInjectKey = '__reactiveInject__';\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function Inject(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[key] = options || key;\n }\n });\n}\n/**\n * decorator of a reactive inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function InjectReactive(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n var fromKey_1 = !!options ? options.from || options : key;\n var defaultVal_1 = (!!options && options.default) || undefined;\n if (!componentOptions.computed)\n componentOptions.computed = {};\n componentOptions.computed[key] = function () {\n var obj = this[reactiveInjectKey];\n return obj ? obj[fromKey_1] : defaultVal_1;\n };\n componentOptions.inject[reactiveInjectKey] = reactiveInjectKey;\n }\n });\n}\nfunction produceProvide(original) {\n var provide = function () {\n var _this = this;\n var rv = typeof original === 'function' ? original.call(this) : original;\n rv = Object.create(rv || null);\n // set reactive services (propagates previous services if necessary)\n rv[reactiveInjectKey] = this[reactiveInjectKey] || {};\n for (var i in provide.managed) {\n rv[provide.managed[i]] = this[i];\n }\n var _loop_1 = function (i) {\n rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide`\n Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], {\n enumerable: true,\n get: function () { return _this[i]; },\n });\n };\n var this_1 = this;\n for (var i in provide.managedReactive) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n provide.managedReactive = {};\n return provide;\n}\nfunction needToProduceProvide(original) {\n return (typeof original !== 'function' ||\n (!original.managed && !original.managedReactive));\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function Provide(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of a reactive provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function ProvideReactive(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n // inject parent reactive services (if any)\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject = componentOptions.inject || {};\n componentOptions.inject[reactiveInjectKey] = {\n from: reactiveInjectKey,\n default: {},\n };\n }\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managedReactive[k] = key || k;\n });\n}\n/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) &&\n typeof options !== 'function' &&\n typeof options.type === 'undefined') {\n var type = Reflect.getMetadata('design:type', target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\n/**\n * decorator of model\n * @param event event name\n * @param options options\n * @return PropertyDecorator\n */\nexport function Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a synced prop\n * @param propName the name to interface with from outside, must be different from decorated property\n * @param options the options for the synced prop\n * @return PropertyDecorator | void\n */\nexport function PropSync(propName, options) {\n if (options === void 0) { options = {}; }\n // @ts-ignore\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[propName] = options;\n (componentOptions.computed || (componentOptions.computed = {}))[k] = {\n get: function () {\n return this[propName];\n },\n set: function (value) {\n // @ts-ignore\n this.$emit(\"update:\" + propName, value);\n },\n };\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n }\n else if (typeof watch[path] === 'undefined') {\n watch[path] = [];\n }\n watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nexport function Emit(event) {\n return function (_target, propertyKey, descriptor) {\n var key = hyphenate(propertyKey);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var emit = function (returnValue) {\n var emitName = event || key;\n if (returnValue === undefined) {\n if (args.length === 0) {\n _this.$emit(emitName);\n }\n else if (args.length === 1) {\n _this.$emit(emitName, args[0]);\n }\n else {\n _this.$emit.apply(_this, [emitName].concat(args));\n }\n }\n else {\n if (args.length === 0) {\n _this.$emit(emitName, returnValue);\n }\n else if (args.length === 1) {\n _this.$emit(emitName, returnValue, args[0]);\n }\n else {\n _this.$emit.apply(_this, [emitName, returnValue].concat(args));\n }\n }\n };\n var returnValue = original.apply(this, args);\n if (isPromise(returnValue)) {\n returnValue.then(emit);\n }\n else {\n emit(returnValue);\n }\n return returnValue;\n };\n };\n}\n/**\n * decorator of a ref prop\n * @param refKey the ref key defined in template\n */\nexport function Ref(refKey) {\n return createDecorator(function (options, key) {\n options.computed = options.computed || {};\n options.computed[key] = {\n cache: false,\n get: function () {\n return this.$refs[refKey || key];\n },\n };\n });\n}\nfunction isPromise(obj) {\n return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\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","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new NativeArrayBuffer(); // eslint-disable-line no-new\n new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\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","'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","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","export const sizes = {\n xs: 18,\n sm: 24,\n md: 32,\n lg: 38,\n xl: 46\n}\n\nexport function getSizeMixin (sizes) {\n return {\n props: {\n size: String\n },\n\n computed: {\n sizeStyle () {\n if (this.size !== void 0) {\n return { fontSize: this.size in sizes ? `${sizes[this.size]}px` : this.size }\n }\n }\n }\n }\n}\n\nexport default getSizeMixin(sizes)\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport TagMixin from '../../mixins/tag.js'\nimport RouterLinkMixin from '../../mixins/router-link.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { uniqueSlot } from '../../utils/slot.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/key-composition.js'\n\nexport default Vue.extend({\n name: 'QItem',\n\n mixins: [ DarkMixin, RouterLinkMixin, TagMixin, ListenersMixin ],\n\n props: {\n active: Boolean,\n\n clickable: Boolean,\n dense: Boolean,\n insetLevel: Number,\n\n tabindex: [ String, Number ],\n\n focused: Boolean,\n manualFocus: Boolean\n },\n\n computed: {\n isActionable () {\n return this.clickable === true ||\n this.hasLink === true ||\n this.tag === 'label'\n },\n\n isClickable () {\n return this.disable !== true && this.isActionable === true\n },\n\n classes () {\n return {\n 'q-item--clickable q-link cursor-pointer': this.isClickable,\n 'q-focusable q-hoverable': this.isClickable === true && this.manualFocus === false,\n\n 'q-manual-focusable': this.isClickable === true && this.manualFocus === true,\n 'q-manual-focusable--focused': this.isClickable === true && this.focused === true,\n\n 'q-item--dense': this.dense,\n 'q-item--dark': this.isDark,\n 'q-item--active': this.active,\n [this.activeClass]: this.active === true && this.hasRouterLink !== true && this.activeClass !== void 0,\n\n 'disabled': this.disable\n }\n },\n\n style () {\n if (this.insetLevel !== void 0) {\n const dir = this.$q.lang.rtl === true ? 'Right' : 'Left'\n return {\n ['padding' + dir]: (16 + this.insetLevel * 56) + 'px'\n }\n }\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n click: this.__onClick,\n keyup: this.__onKeyup\n }\n }\n },\n\n methods: {\n __getContent (h) {\n const child = uniqueSlot(this, 'default', [])\n this.isClickable === true && child.unshift(\n h('div', { staticClass: 'q-focus-helper', attrs: { tabindex: -1 }, ref: 'blurTarget' })\n )\n return child\n },\n\n __onClick (e) {\n if (this.isClickable === true) {\n if (this.$refs.blurTarget !== void 0) {\n if (e.qKeyEvent !== true && document.activeElement === this.$el) {\n this.$refs.blurTarget.focus()\n }\n else if (document.activeElement === this.$refs.blurTarget) {\n this.$el.focus()\n }\n }\n\n this.$emit('click', e)\n }\n },\n\n __onKeyup (e) {\n if (this.isClickable === true && isKeyCode(e, 13) === true) {\n stopAndPrevent(e)\n\n // for ripple\n e.qKeyEvent = true\n\n // for click trigger\n const evt = new MouseEvent('click', e)\n evt.qKeyEvent = true\n this.$el.dispatchEvent(evt)\n }\n\n this.$emit('keyup', e)\n }\n },\n\n render (h) {\n const data = {\n staticClass: 'q-item q-item-type row no-wrap',\n class: this.classes,\n style: this.style,\n attrs: {},\n [ this.hasRouterLink === true ? 'nativeOn' : 'on' ]: this.onEvents\n }\n\n if (this.isClickable === true) {\n data.attrs.tabindex = this.tabindex || '0'\n }\n else if (this.isActionable === true) {\n data.attrs['aria-disabled'] = 'true'\n }\n\n if (this.hasLink === true) {\n data.props = this.linkProps.props\n Object.assign(data.attrs, this.linkProps.attrs)\n }\n\n return h(\n this.linkTag,\n data,\n this.__getContent(h)\n )\n }\n})\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","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\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 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","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","import { css } from '../utils/dom.js'\nimport { position, stop, addEvt, cleanEvt } from '../utils/event.js'\nimport { isKeyCode } from '../utils/key-composition.js'\nimport { client } from '../plugins/Platform.js'\nimport throttle from '../utils/throttle.js'\nimport { $q } from '../install.js'\n\nfunction showRipple (evt, el, ctx, forceCenter) {\n ctx.modifiers.stop === true && stop(evt)\n\n const color = ctx.modifiers.color\n let center = ctx.modifiers.center\n center = center === true || forceCenter === true\n\n const\n node = document.createElement('span'),\n innerNode = document.createElement('span'),\n pos = position(evt),\n { left, top, width, height } = el.getBoundingClientRect(),\n diameter = Math.sqrt(width * width + height * height),\n radius = diameter / 2,\n centerX = `${(width - diameter) / 2}px`,\n x = center ? centerX : `${pos.left - left - radius}px`,\n centerY = `${(height - diameter) / 2}px`,\n y = center ? centerY : `${pos.top - top - radius}px`\n\n innerNode.className = 'q-ripple__inner'\n css(innerNode, {\n height: `${diameter}px`,\n width: `${diameter}px`,\n transform: `translate3d(${x},${y},0) scale3d(.2,.2,1)`,\n opacity: 0\n })\n\n node.className = `q-ripple${color ? ' text-' + color : ''}`\n node.setAttribute('dir', 'ltr')\n node.appendChild(innerNode)\n el.appendChild(node)\n\n const abort = () => {\n node.remove()\n clearTimeout(timer)\n }\n ctx.abort.push(abort)\n\n let timer = setTimeout(() => {\n innerNode.classList.add('q-ripple__inner--enter')\n innerNode.style.transform = `translate3d(${centerX},${centerY},0) scale3d(1,1,1)`\n innerNode.style.opacity = 0.2\n\n timer = setTimeout(() => {\n innerNode.classList.remove('q-ripple__inner--enter')\n innerNode.classList.add('q-ripple__inner--leave')\n innerNode.style.opacity = 0\n\n timer = setTimeout(() => {\n node.remove()\n ctx.abort.splice(ctx.abort.indexOf(abort), 1)\n }, 275)\n }, 250)\n }, 50)\n}\n\nfunction updateModifiers (ctx, { modifiers, value, arg }) {\n const cfg = Object.assign({}, $q.config.ripple, modifiers, value)\n ctx.modifiers = {\n early: cfg.early === true,\n stop: cfg.stop === true,\n center: cfg.center === true,\n color: cfg.color || arg,\n keyCodes: [].concat(cfg.keyCodes || 13)\n }\n}\n\nfunction destroy (el) {\n const ctx = el.__qripple\n if (ctx !== void 0) {\n ctx.abort.forEach(fn => { fn() })\n cleanEvt(ctx, 'main')\n delete el._qripple\n }\n}\n\nexport default {\n name: 'ripple',\n\n inserted (el, binding) {\n if (el.__qripple !== void 0) {\n destroy(el)\n el.__qripple_destroyed = true\n }\n\n const ctx = {\n enabled: binding.value !== false,\n modifiers: {},\n abort: [],\n\n start (evt) {\n if (\n ctx.enabled === true &&\n evt.qSkipRipple !== true &&\n // on ENTER in form IE emits a PointerEvent with negative client cordinates\n (client.is.ie !== true || evt.clientX >= 0) &&\n (\n ctx.modifiers.early === true\n ? ['mousedown', 'touchstart'].includes(evt.type) === true\n : evt.type === 'click'\n )\n ) {\n showRipple(evt, el, ctx, evt.qKeyEvent === true)\n }\n },\n\n keystart: throttle(evt => {\n if (\n ctx.enabled === true &&\n evt.qSkipRipple !== true &&\n isKeyCode(evt, ctx.modifiers.keyCodes) === true &&\n evt.type === `key${ctx.modifiers.early === true ? 'down' : 'up'}`\n ) {\n showRipple(evt, el, ctx, true)\n }\n }, 300)\n }\n\n updateModifiers(ctx, binding)\n\n el.__qripple = ctx\n\n addEvt(ctx, 'main', [\n [ el, 'mousedown', 'start', 'passive' ],\n [ el, 'touchstart', 'start', 'passive' ],\n [ el, 'click', 'start', 'passive' ],\n [ el, 'keydown', 'keystart', 'passive' ],\n [ el, 'keyup', 'keystart', 'passive' ]\n ])\n },\n\n update (el, binding) {\n const ctx = el.__qripple\n if (ctx !== void 0 && binding.oldValue !== binding.value) {\n ctx.enabled = binding.value !== false\n\n if (ctx.enabled === true && Object(binding.value) === binding.value) {\n updateModifiers(ctx, binding)\n }\n }\n },\n\n unbind (el) {\n if (el.__qripple_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qripple_destroyed\n }\n }\n}\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","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\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 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","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 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","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\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 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 toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","import { setBrand } from './utils/colors.js'\nimport { noop } from './utils/event.js'\nimport { onKeyDownComposition } from './utils/key-composition.js'\nimport { isSSR, fromSSR, client, iosCorrection } from './plugins/Platform.js'\n\nfunction getMobilePlatform (is) {\n if (is.ios === true) return 'ios'\n if (is.android === true) return 'android'\n}\n\nfunction getBodyClasses ({ is, has, within }, cfg) {\n const cls = [\n is.desktop === true ? 'desktop' : 'mobile',\n `${has.touch === false ? 'no-' : ''}touch`\n ]\n\n if (is.mobile === true) {\n const mobile = getMobilePlatform(is)\n mobile !== void 0 && cls.push('platform-' + mobile)\n }\n\n if (is.nativeMobile === true) {\n const type = is.nativeMobileWrapper\n\n cls.push(type)\n cls.push('native-mobile')\n\n if (\n is.ios === true &&\n (cfg[type] === void 0 || cfg[type].iosStatusBarPadding !== false)\n ) {\n cls.push('q-ios-padding')\n }\n }\n else if (is.electron === true) {\n cls.push('electron')\n }\n else if (is.bex === true) {\n cls.push('bex')\n }\n\n within.iframe === true && cls.push('within-iframe')\n\n return cls\n}\n\n// SSR takeover corrections\nfunction clientUpdate () {\n const classes = document.body.className\n let newCls = classes\n\n if (iosCorrection !== void 0) {\n newCls = newCls.replace('desktop', 'platform-ios mobile')\n }\n\n if (client.has.touch === true) {\n newCls = newCls.replace('no-touch', 'touch')\n }\n\n if (client.within.iframe === true) {\n newCls += ' within-iframe'\n }\n\n if (classes !== newCls) {\n document.body.className = newCls\n }\n}\n\nfunction setColors (brand) {\n for (const color in brand) {\n setBrand(color, brand[color])\n }\n}\n\nexport default {\n install (queues, cfg) {\n if (isSSR === true) {\n queues.server.push((q, ctx) => {\n const\n cls = getBodyClasses(q.platform, cfg),\n fn = ctx.ssr.setBodyClasses\n\n if (cfg.screen !== void 0 && cfg.screen.bodyClass === true) {\n cls.push('screen--xs')\n }\n\n if (typeof fn === 'function') {\n fn(cls)\n }\n else {\n ctx.ssr.Q_BODY_CLASSES = cls.join(' ')\n }\n })\n\n return\n }\n\n if (fromSSR === true) {\n clientUpdate()\n }\n else {\n const cls = getBodyClasses(client, cfg)\n\n if (client.is.ie === true && client.is.versionNumber === 11) {\n cls.forEach(c => document.body.classList.add(c))\n }\n else {\n document.body.classList.add.apply(document.body.classList, cls)\n }\n }\n\n cfg.brand !== void 0 && setColors(cfg.brand)\n\n if (client.is.ios === true) {\n // needed for iOS button active state\n document.body.addEventListener('touchstart', noop)\n }\n\n window.addEventListener('keydown', onKeyDownComposition, true)\n }\n}\n","import { version } from '../package.json'\nimport Platform, { isSSR } from './plugins/Platform.js'\nimport Screen from './plugins/Screen.js'\nimport Dark from './plugins/Dark.js'\nimport History from './history.js'\nimport Lang from './lang.js'\nimport Body from './body.js'\nimport IconSet from './icon-set.js'\n\nconst autoInstalled = [\n Platform, Screen, Dark\n]\n\nexport const queues = {\n server: [], // on SSR update\n takeover: [] // on client takeover\n}\n\nexport const $q = {\n version,\n config: {}\n}\n\nexport default function (Vue, opts = {}) {\n if (this.__qInstalled === true) { return }\n this.__qInstalled = true\n\n const cfg = $q.config = Object.freeze(opts.config || {})\n\n // required plugins\n Platform.install($q, queues)\n Body.install(queues, cfg)\n Dark.install($q, queues, cfg)\n Screen.install($q, queues, cfg)\n History.install(cfg)\n Lang.install($q, queues, opts.lang)\n IconSet.install($q, queues, opts.iconSet)\n\n if (isSSR === true) {\n Vue.mixin({\n beforeCreate () {\n this.$q = this.$root.$options.$q\n }\n })\n }\n else {\n Vue.prototype.$q = $q\n }\n\n opts.components && Object.keys(opts.components).forEach(key => {\n const c = opts.components[key]\n if (typeof c === 'function') {\n Vue.component(c.options.name, c)\n }\n })\n\n opts.directives && Object.keys(opts.directives).forEach(key => {\n const d = opts.directives[key]\n if (d.name !== void 0 && d.unbind !== void 0) {\n Vue.directive(d.name, d)\n }\n })\n\n if (opts.plugins) {\n const param = { $q, queues, cfg }\n Object.keys(opts.plugins).forEach(key => {\n const p = opts.plugins[key]\n if (typeof p.install === 'function' && autoInstalled.includes(p) === false) {\n p.install(param)\n }\n })\n }\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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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","'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';\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","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","const routerLinkProps = {\n // router-link\n to: [String, Object],\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: {\n type: String,\n default: 'q-router-link--active'\n },\n exactActiveClass: {\n type: String,\n default: 'q-router-link--exact-active'\n },\n\n // regular <a> link\n href: String,\n target: String,\n\n // state\n disable: Boolean\n}\n\n// external props: type, tag\n// external: fallbackTag\n\nexport default {\n props: routerLinkProps,\n\n computed: {\n hasHrefLink () {\n return this.disable !== true && this.href !== void 0\n },\n\n hasRouterLinkProps () {\n return this.$router !== void 0 &&\n this.disable !== true &&\n this.hasHrefLink !== true &&\n this.to !== void 0 && this.to !== null && this.to !== ''\n },\n\n linkRoute () {\n if (this.hasRouterLinkProps === true) {\n // we protect from accessing this.$route without\n // actually needing it so that we won't trigger\n // unnecessary updates\n\n try {\n return this.append === true\n ? this.$router.resolve(this.to, this.$route, true)\n : this.$router.resolve(this.to)\n }\n catch (err) {}\n }\n\n return null\n },\n\n hasRouterLink () {\n return this.linkRoute !== null\n },\n\n hasLink () {\n return this.hasHrefLink === true || this.hasRouterLink === true\n },\n\n linkTag () {\n if (this.hasRouterLink === true) {\n return 'router-link'\n }\n\n return this.type === 'a' || this.hasLink === true\n ? 'a'\n : (this.tag || this.fallbackTag || 'div')\n },\n\n linkProps () {\n return this.hasHrefLink === true\n ? {\n attrs: {\n href: this.href,\n target: this.target\n }\n }\n : (\n this.hasRouterLink === true\n ? {\n props: {\n to: this.to,\n exact: this.exact,\n append: this.append,\n replace: this.replace,\n activeClass: this.activeClass,\n exactActiveClass: this.exactActiveClass\n },\n attrs: {\n href: this.linkRoute.href,\n target: this.target\n }\n }\n : {}\n )\n }\n }\n}\n","import { getPropCacheMixin } from '../utils/cache.js'\nexport default getPropCacheMixin('$listeners', 'qListeners')\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 createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8ClampedArray` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\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","/* eslint-disable no-new */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\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 this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\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 * 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","export default {\n name: 'material-icons',\n type: {\n positive: 'check_circle',\n negative: 'warning',\n info: 'info',\n warning: 'priority_high'\n },\n arrow: {\n up: 'arrow_upward',\n right: 'arrow_forward',\n down: 'arrow_downward',\n left: 'arrow_back',\n dropdown: 'arrow_drop_down'\n },\n chevron: {\n left: 'chevron_left',\n right: 'chevron_right'\n },\n colorPicker: {\n spectrum: 'gradient',\n tune: 'tune',\n palette: 'style'\n },\n pullToRefresh: {\n icon: 'refresh'\n },\n carousel: {\n left: 'chevron_left',\n right: 'chevron_right',\n up: 'keyboard_arrow_up',\n down: 'keyboard_arrow_down',\n navigationIcon: 'lens'\n },\n chip: {\n remove: 'cancel',\n selected: 'check'\n },\n datetime: {\n arrowLeft: 'chevron_left',\n arrowRight: 'chevron_right',\n now: 'access_time',\n today: 'today'\n },\n editor: {\n bold: 'format_bold',\n italic: 'format_italic',\n strikethrough: 'strikethrough_s',\n underline: 'format_underlined',\n unorderedList: 'format_list_bulleted',\n orderedList: 'format_list_numbered',\n subscript: 'vertical_align_bottom',\n superscript: 'vertical_align_top',\n hyperlink: 'link',\n toggleFullscreen: 'fullscreen',\n quote: 'format_quote',\n left: 'format_align_left',\n center: 'format_align_center',\n right: 'format_align_right',\n justify: 'format_align_justify',\n print: 'print',\n outdent: 'format_indent_decrease',\n indent: 'format_indent_increase',\n removeFormat: 'format_clear',\n formatting: 'text_format',\n fontSize: 'format_size',\n align: 'format_align_left',\n hr: 'remove',\n undo: 'undo',\n redo: 'redo',\n heading: 'format_size',\n code: 'code',\n size: 'format_size',\n font: 'font_download',\n viewSource: 'code'\n },\n expansionItem: {\n icon: 'keyboard_arrow_down',\n denseIcon: 'arrow_drop_down'\n },\n fab: {\n icon: 'add',\n activeIcon: 'close'\n },\n field: {\n clear: 'cancel',\n error: 'error'\n },\n pagination: {\n first: 'first_page',\n prev: 'keyboard_arrow_left',\n next: 'keyboard_arrow_right',\n last: 'last_page'\n },\n rating: {\n icon: 'grade'\n },\n stepper: {\n done: 'check',\n active: 'edit',\n error: 'warning'\n },\n tabs: {\n left: 'chevron_left',\n right: 'chevron_right',\n up: 'keyboard_arrow_up',\n down: 'keyboard_arrow_down'\n },\n table: {\n arrowUp: 'arrow_upward',\n warning: 'warning',\n firstPage: 'first_page',\n prevPage: 'chevron_left',\n nextPage: 'chevron_right',\n lastPage: 'last_page'\n },\n tree: {\n icon: 'play_arrow'\n },\n uploader: {\n done: 'done',\n clear: 'clear',\n add: 'add_box',\n upload: 'cloud_upload',\n removeQueue: 'clear_all',\n removeUploaded: 'done_all'\n }\n}\n","import Vue from 'vue'\n\nimport { isSSR } from './plugins/Platform.js'\nimport materialIcons from '../icon-set/material-icons.js'\n\nexport default {\n install ($q, queues, iconSet) {\n const initialSet = iconSet || materialIcons\n\n this.set = (setObject, ssrContext) => {\n const def = { ...setObject }\n\n if (isSSR === true) {\n if (ssrContext === void 0) {\n console.error('SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)')\n return\n }\n\n def.set = ssrContext.$q.iconSet.set\n ssrContext.$q.iconSet = def\n }\n else {\n def.set = this.set\n $q.iconSet = def\n }\n }\n\n if (isSSR === true) {\n queues.server.push((q, ctx) => {\n q.iconSet = {}\n q.iconSet.set = setObject => {\n this.set(setObject, ctx.ssr)\n }\n\n q.iconSet.set(initialSet)\n })\n }\n else {\n Vue.util.defineReactive($q, 'iconMapFn', void 0)\n Vue.util.defineReactive($q, 'iconSet', {})\n\n this.set(initialSet)\n }\n }\n}\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 DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar 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","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","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\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","const\n alignMap = {\n left: 'start',\n center: 'center',\n right: 'end',\n between: 'between',\n around: 'around',\n evenly: 'evenly',\n stretch: 'stretch'\n },\n alignValues = Object.keys(alignMap)\n\nexport default {\n props: {\n align: {\n type: String,\n validator: v => alignValues.includes(v)\n }\n },\n\n computed: {\n alignClass () {\n const align = this.align === void 0\n ? (this.vertical === true ? 'stretch' : 'left')\n : this.align\n\n return `${this.vertical === true ? 'items' : 'justify'}-${alignMap[align]}`\n }\n }\n}\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\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 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","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport BtnMixin from '../../mixins/btn.js'\n\nimport { mergeSlot } from '../../utils/slot.js'\nimport { stop, prevent, stopAndPrevent, listenOpts, noop } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/key-composition.js'\n\nconst { passiveCapture } = listenOpts\n\nlet\n touchTarget = void 0,\n keyboardTarget = void 0,\n mouseTarget = void 0\n\nconst iconAttrs = { role: 'img', 'aria-hidden': 'true' }\n\nexport default Vue.extend({\n name: 'QBtn',\n\n mixins: [ BtnMixin ],\n\n props: {\n percentage: Number,\n darkPercentage: Boolean\n },\n\n computed: {\n hasLabel () {\n return this.label !== void 0 && this.label !== null && this.label !== ''\n },\n\n computedRipple () {\n return this.ripple === false\n ? false\n : {\n keyCodes: this.hasLink === true ? [ 13, 32 ] : [ 13 ],\n ...(this.ripple === true ? {} : this.ripple)\n }\n },\n\n percentageStyle () {\n const val = Math.max(0, Math.min(100, this.percentage))\n if (val > 0) {\n return { transition: 'transform 0.6s', transform: `translateX(${val - 100}%)` }\n }\n },\n\n onEvents () {\n if (this.loading === true) {\n return {\n mousedown: this.__onLoadingEvt,\n touchstart: this.__onLoadingEvt,\n click: this.__onLoadingEvt,\n keydown: this.__onLoadingEvt,\n keyup: this.__onLoadingEvt\n }\n }\n\n if (this.isActionable === true) {\n const on = {\n ...this.qListeners,\n click: this.click,\n keydown: this.__onKeydown,\n mousedown: this.__onMousedown\n }\n\n if (this.$q.platform.has.touch === true) {\n on.touchstart = this.__onTouchstart\n }\n\n return on\n }\n\n return {\n // needed; especially for disabled <a> tags\n click: stopAndPrevent\n }\n },\n\n directives () {\n if (this.disable !== true && this.ripple !== false) {\n return [{\n name: 'ripple',\n value: this.computedRipple,\n modifiers: { center: this.round }\n }]\n }\n }\n },\n\n methods: {\n click (e) {\n if (e !== void 0) {\n if (e.defaultPrevented === true) {\n return\n }\n\n const el = document.activeElement\n // focus button if it came from ENTER on form\n // prevent the new submit (already done)\n if (\n this.type === 'submit' &&\n (\n (this.$q.platform.is.ie === true && (e.clientX < 0 || e.clientY < 0)) ||\n (\n el !== document.body &&\n this.$el.contains(el) === false &&\n // required for iOS and desktop Safari\n el.contains(this.$el) === false\n )\n )\n ) {\n this.$el.focus()\n\n const onClickCleanup = () => {\n document.removeEventListener('keydown', stopAndPrevent, true)\n document.removeEventListener('keyup', onClickCleanup, passiveCapture)\n this.$el !== void 0 && this.$el.removeEventListener('blur', onClickCleanup, passiveCapture)\n }\n\n document.addEventListener('keydown', stopAndPrevent, true)\n document.addEventListener('keyup', onClickCleanup, passiveCapture)\n this.$el.addEventListener('blur', onClickCleanup, passiveCapture)\n }\n\n if (this.hasRouterLink === true) {\n if (\n e.ctrlKey === true ||\n e.shiftKey === true ||\n e.altKey === true ||\n e.metaKey === true\n ) {\n // if it has meta keys, let vue-router link\n // handle this by its own\n return\n }\n\n stopAndPrevent(e)\n }\n }\n\n const go = () => {\n // vue-router now throwing error if navigating\n // to the same route that the user is currently at\n // https://github.com/vuejs/vue-router/issues/2872\n this.$router[this.replace === true ? 'replace' : 'push'](this.linkRoute.route, void 0, noop)\n }\n\n this.$emit('click', e, go)\n this.hasRouterLink === true && e.navigate !== false && go()\n },\n\n __onKeydown (e) {\n if (isKeyCode(e, [ 13, 32 ]) === true) {\n stopAndPrevent(e)\n\n if (keyboardTarget !== this.$el) {\n keyboardTarget !== void 0 && this.__cleanup()\n\n // focus external button if the focus helper was focused before\n this.$el.focus()\n\n keyboardTarget = this.$el\n this.$el.classList.add('q-btn--active')\n document.addEventListener('keyup', this.__onPressEnd, true)\n this.$el.addEventListener('blur', this.__onPressEnd, passiveCapture)\n }\n }\n\n this.$emit('keydown', e)\n },\n\n __onTouchstart (e) {\n if (touchTarget !== this.$el) {\n touchTarget !== void 0 && this.__cleanup()\n touchTarget = this.$el\n const target = this.touchTargetEl = e.target\n target.addEventListener('touchcancel', this.__onPressEnd, passiveCapture)\n target.addEventListener('touchend', this.__onPressEnd, passiveCapture)\n }\n\n // avoid duplicated mousedown event\n // triggering another early ripple\n this.avoidMouseRipple = true\n clearTimeout(this.mouseTimer)\n this.mouseTimer = setTimeout(() => {\n this.avoidMouseRipple = false\n }, 200)\n\n this.$emit('touchstart', e)\n },\n\n __onMousedown (e) {\n if (mouseTarget !== this.$el) {\n mouseTarget !== void 0 && this.__cleanup()\n mouseTarget = this.$el\n this.$el.classList.add('q-btn--active')\n document.addEventListener('mouseup', this.__onPressEnd, passiveCapture)\n }\n\n e.qSkipRipple = this.avoidMouseRipple === true\n this.$emit('mousedown', e)\n },\n\n __onPressEnd (e) {\n // needed for IE (because it emits blur when focusing button from focus helper)\n if (e !== void 0 && e.type === 'blur' && document.activeElement === this.$el) {\n return\n }\n\n if (e !== void 0 && e.type === 'keyup') {\n if (keyboardTarget === this.$el && isKeyCode(e, [ 13, 32 ]) === true) {\n // for click trigger\n const evt = new MouseEvent('click', e)\n evt.qKeyEvent = true\n e.defaultPrevented === true && prevent(evt)\n e.cancelBubble === true && stop(evt)\n this.$el.dispatchEvent(evt)\n\n stopAndPrevent(e)\n\n // for ripple\n e.qKeyEvent = true\n }\n\n this.$emit('keyup', e)\n }\n\n this.__cleanup()\n },\n\n __cleanup (destroying) {\n const blurTarget = this.$refs.blurTarget\n\n if (\n destroying !== true &&\n (touchTarget === this.$el || mouseTarget === this.$el) &&\n blurTarget !== void 0 &&\n blurTarget !== document.activeElement\n ) {\n blurTarget.setAttribute('tabindex', -1)\n blurTarget.focus()\n }\n\n if (touchTarget === this.$el) {\n const target = this.touchTargetEl\n target.removeEventListener('touchcancel', this.__onPressEnd, passiveCapture)\n target.removeEventListener('touchend', this.__onPressEnd, passiveCapture)\n touchTarget = this.touchTargetEl = void 0\n }\n\n if (mouseTarget === this.$el) {\n document.removeEventListener('mouseup', this.__onPressEnd, passiveCapture)\n mouseTarget = void 0\n }\n\n if (keyboardTarget === this.$el) {\n document.removeEventListener('keyup', this.__onPressEnd, true)\n this.$el !== void 0 && this.$el.removeEventListener('blur', this.__onPressEnd, passiveCapture)\n keyboardTarget = void 0\n }\n\n this.$el !== void 0 && this.$el.classList.remove('q-btn--active')\n },\n\n __onLoadingEvt (evt) {\n stopAndPrevent(evt)\n evt.qSkipRipple = true\n }\n },\n\n beforeDestroy () {\n this.__cleanup(true)\n },\n\n render (h) {\n let inner = []\n\n this.icon !== void 0 && inner.push(\n h(QIcon, {\n attrs: iconAttrs,\n props: { name: this.icon, left: this.stack === false && this.hasLabel === true }\n })\n )\n\n this.hasLabel === true && inner.push(\n h('span', { staticClass: 'block' }, [ this.label ])\n )\n\n inner = mergeSlot(inner, this, 'default')\n\n if (this.iconRight !== void 0 && this.round === false) {\n inner.push(\n h(QIcon, {\n attrs: iconAttrs,\n props: { name: this.iconRight, right: this.stack === false && this.hasLabel === true }\n })\n )\n }\n\n const child = [\n h('span', {\n staticClass: 'q-focus-helper',\n ref: 'blurTarget'\n })\n ]\n\n if (this.loading === true && this.percentage !== void 0) {\n child.push(\n h('span', {\n staticClass: 'q-btn__progress absolute-full overflow-hidden'\n }, [\n h('span', {\n staticClass: 'q-btn__progress-indicator fit block',\n class: this.darkPercentage === true ? 'q-btn__progress--dark' : '',\n style: this.percentageStyle\n })\n ])\n )\n }\n\n child.push(\n h('span', {\n staticClass: 'q-btn__wrapper col row q-anchor--skip',\n style: this.wrapperStyle\n }, [\n h('span', {\n staticClass: 'q-btn__content text-center col items-center q-anchor--skip',\n class: this.innerClasses\n }, inner)\n ])\n )\n\n this.loading !== null && child.push(\n h('transition', {\n props: { name: 'q-transition--fade' }\n }, this.loading === true ? [\n h('span', {\n key: 'loading',\n staticClass: 'absolute-full flex flex-center'\n }, this.$scopedSlots.loading !== void 0 ? this.$scopedSlots.loading() : [ h(QSpinner) ])\n ] : void 0)\n )\n\n return h(this.hasLink === true || this.type === 'a' ? 'a' : 'button', {\n staticClass: 'q-btn q-btn-item non-selectable no-outline',\n class: this.classes,\n style: this.style,\n attrs: this.attrs,\n on: this.onEvents,\n directives: this.directives\n }, child)\n }\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","'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","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/array-iteration').every;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\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 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","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\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 redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\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 id: id++,\n frozen: undefined\n });\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 data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\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","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}","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","'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","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.github.io/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","import { $q, queues } from './install.js'\n\nconst mixin = {\n mounted () {\n queues.takeover.forEach(run => {\n run(this.$q)\n })\n }\n}\n\nexport default function (ctx) {\n if (ctx.ssr) {\n const q = {\n ...$q,\n ssrContext: ctx.ssr\n }\n\n Object.assign(ctx.ssr, {\n Q_HEAD_TAGS: '',\n Q_BODY_ATTRS: '',\n Q_BODY_TAGS: ''\n })\n\n ctx.app.$q = ctx.ssr.$q = q\n\n queues.server.forEach(run => {\n run(q, ctx)\n })\n }\n else {\n const mixins = ctx.app.mixins || []\n if (mixins.includes(mixin) === false) {\n ctx.app.mixins = mixins.concat(mixin)\n }\n }\n}\n","import install from './install.js'\nimport { version } from '../package.json'\nimport lang from './lang.js'\nimport iconSet from './icon-set.js'\nimport ssrUpdate from './ssr-update.js'\n\nexport default {\n version,\n install,\n lang,\n iconSet,\n ssrUpdate\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\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');\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\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 || '';\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 // Listen for ready state\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\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? 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(resolve, reject, response);\n\n // Clean up request\n request = null;\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 = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, '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 var cookies = require('./../helpers/cookies');\n\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 (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\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) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\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","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\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","export default {\n props: {\n dark: {\n type: Boolean,\n default: null\n }\n },\n\n computed: {\n isDark () {\n return this.dark === null\n ? this.$q.dark.isActive\n : this.dark\n }\n }\n}\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","module.exports = require('./lib/axios');","const reRGBA = /^rgb(a)?\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),?([01]?\\.?\\d*?)?\\)$/\n\nexport function rgbToHex ({ r, g, b, a }) {\n const alpha = a !== void 0\n\n r = Math.round(r)\n g = Math.round(g)\n b = Math.round(b)\n\n if (\n r > 255 ||\n g > 255 ||\n b > 255 ||\n (alpha && a > 100)\n ) {\n throw new TypeError('Expected 3 numbers below 256 (and optionally one below 100)')\n }\n\n a = alpha\n ? (Math.round(255 * a / 100) | 1 << 8).toString(16).slice(1)\n : ''\n\n return '#' + ((b | g << 8 | r << 16) | 1 << 24).toString(16).slice(1) + a\n}\n\nexport function rgbToString ({ r, g, b, a }) {\n return `rgb${a !== void 0 ? 'a' : ''}(${r},${g},${b}${a !== void 0 ? ',' + (a / 100) : ''})`\n}\n\nexport function hexToRgb (hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n hex = hex.replace(/^#/, '')\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]\n }\n else if (hex.length === 4) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3]\n }\n\n const num = parseInt(hex, 16)\n\n return hex.length > 6\n ? { r: num >> 24 & 255, g: num >> 16 & 255, b: num >> 8 & 255, a: Math.round((num & 255) / 2.55) }\n : { r: num >> 16, g: num >> 8 & 255, b: num & 255 }\n}\n\nexport function hsvToRgb ({ h, s, v, a }) {\n let r, g, b\n s = s / 100\n v = v / 100\n\n h = h / 360\n const\n i = Math.floor(h * 6),\n f = h * 6 - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s)\n\n switch (i % 6) {\n case 0:\n r = v\n g = t\n b = p\n break\n case 1:\n r = q\n g = v\n b = p\n break\n case 2:\n r = p\n g = v\n b = t\n break\n case 3:\n r = p\n g = q\n b = v\n break\n case 4:\n r = t\n g = p\n b = v\n break\n case 5:\n r = v\n g = p\n b = q\n break\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n a\n }\n}\n\nexport function rgbToHsv ({ r, g, b, a }) {\n const\n max = Math.max(r, g, b),\n min = Math.min(r, g, b),\n d = max - min,\n s = (max === 0 ? 0 : d / max),\n v = max / 255\n let h\n\n switch (max) {\n case min:\n h = 0\n break\n case r:\n h = (g - b) + d * (g < b ? 6 : 0)\n h /= 6 * d\n break\n case g:\n h = (b - r) + d * 2\n h /= 6 * d\n break\n case b:\n h = (r - g) + d * 4\n h /= 6 * d\n break\n }\n\n return {\n h: Math.round(h * 360),\n s: Math.round(s * 100),\n v: Math.round(v * 100),\n a\n }\n}\n\nexport function textToRgb (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n const color = str.replace(/ /g, '')\n\n const m = reRGBA.exec(color)\n\n if (m === null) {\n return hexToRgb(color)\n }\n\n const rgb = {\n r: Math.min(255, parseInt(m[2], 10)),\n g: Math.min(255, parseInt(m[3], 10)),\n b: Math.min(255, parseInt(m[4], 10))\n }\n\n if (m[1]) {\n const alpha = parseFloat(m[5])\n rgb.a = Math.min(1, isNaN(alpha) === true ? 1 : alpha) * 100\n }\n\n return rgb\n}\n\n/* works as darken if percent < 0 */\nexport function lighten (color, percent) {\n if (typeof color !== 'string') {\n throw new TypeError('Expected a string as color')\n }\n if (typeof percent !== 'number') {\n throw new TypeError('Expected a numeric percent')\n }\n\n const rgb = textToRgb(color),\n t = percent < 0 ? 0 : 255,\n p = Math.abs(percent) / 100,\n R = rgb.r,\n G = rgb.g,\n B = rgb.b\n\n return '#' + (\n 0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 +\n (Math.round((t - G) * p) + G) * 0x100 +\n (Math.round((t - B) * p) + B)\n ).toString(16).slice(1)\n}\n\nexport function luminosity (color) {\n if (typeof color !== 'string' && (!color || color.r === void 0)) {\n throw new TypeError('Expected a string or a {r, g, b} object as color')\n }\n\n const\n rgb = typeof color === 'string' ? textToRgb(color) : color,\n r = rgb.r / 255,\n g = rgb.g / 255,\n b = rgb.b / 255,\n R = r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4),\n G = g <= 0.03928 ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4),\n B = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4)\n return 0.2126 * R + 0.7152 * G + 0.0722 * B\n}\n\nexport function brightness (color) {\n if (typeof color !== 'string' && (!color || color.r === void 0)) {\n throw new TypeError('Expected a string or a {r, g, b} object as color')\n }\n\n const rgb = typeof color === 'string'\n ? textToRgb(color)\n : color\n\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000\n}\n\nexport function blend (fgColor, bgColor) {\n if (typeof fgColor !== 'string' && (!fgColor || fgColor.r === void 0)) {\n throw new TypeError('Expected a string or a {r, g, b[, a]} object as fgColor')\n }\n\n if (typeof bgColor !== 'string' && (!bgColor || bgColor.r === void 0)) {\n throw new TypeError('Expected a string or a {r, g, b[, a]} object as bgColor')\n }\n\n const\n rgb1 = typeof fgColor === 'string' ? textToRgb(fgColor) : fgColor,\n r1 = rgb1.r / 255,\n g1 = rgb1.g / 255,\n b1 = rgb1.b / 255,\n a1 = rgb1.a !== void 0 ? rgb1.a / 100 : 1,\n rgb2 = typeof bgColor === 'string' ? textToRgb(bgColor) : bgColor,\n r2 = rgb2.r / 255,\n g2 = rgb2.g / 255,\n b2 = rgb2.b / 255,\n a2 = rgb2.a !== void 0 ? rgb2.a / 100 : 1,\n a = a1 + a2 * (1 - a1),\n r = Math.round(((r1 * a1 + r2 * a2 * (1 - a1)) / a) * 255),\n g = Math.round(((g1 * a1 + g2 * a2 * (1 - a1)) / a) * 255),\n b = Math.round(((b1 * a1 + b2 * a2 * (1 - a1)) / a) * 255)\n\n const ret = { r, g, b, a: Math.round(a * 100) }\n return typeof fgColor === 'string'\n ? rgbToHex(ret)\n : ret\n}\n\nexport function changeAlpha (color, offset) {\n if (typeof color !== 'string') {\n throw new TypeError('Expected a string as color')\n }\n\n if (offset === void 0 || offset < -1 || offset > 1) {\n throw new TypeError('Expected offset to be between -1 and 1')\n }\n\n const { r, g, b, a } = textToRgb(color)\n const alpha = a !== void 0 ? a / 100 : 0\n\n return rgbToHex({\n r, g, b, a: Math.round(Math.min(1, Math.max(0, alpha + offset)) * 100)\n })\n}\n\nexport function setBrand (color, value, element = document.body) {\n if (typeof color !== 'string') {\n throw new TypeError('Expected a string as color')\n }\n if (typeof value !== 'string') {\n throw new TypeError('Expected a string as value')\n }\n if (!(element instanceof Element)) {\n throw new TypeError('Expected a DOM element')\n }\n\n element.style.setProperty(`--q-color-${color}`, value)\n}\n\nexport function getBrand (color, element = document.body) {\n if (typeof color !== 'string') {\n throw new TypeError('Expected a string as color')\n }\n if (!(element instanceof Element)) {\n throw new TypeError('Expected a DOM element')\n }\n\n return getComputedStyle(element).getPropertyValue(`--q-color-${color}`).trim() || null\n}\n\nexport function getPaletteColor (colorName) {\n if (typeof colorName !== 'string') {\n throw new TypeError('Expected a string as color')\n }\n\n const el = document.createElement('div')\n\n el.className = `text-${colorName} invisible fixed no-pointer-events`\n document.body.appendChild(el)\n\n const result = getComputedStyle(el).getPropertyValue('color')\n\n el.remove()\n\n return rgbToHex(textToRgb(result))\n}\n\n// TODO: remove in v2\nexport const stringToRgb = textToRgb\n\nexport default {\n rgbToHex,\n hexToRgb,\n hsvToRgb,\n rgbToHsv,\n textToRgb,\n lighten,\n luminosity,\n brightness,\n blend,\n changeAlpha,\n setBrand,\n getBrand,\n getPaletteColor\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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor\n$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\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\nvar utils = require('./../utils');\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 /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","module.exports = false;\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\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 toString.call(val) === '[object Array]';\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 (typeof FormData !== 'undefined') && (val instanceof 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) && (val.buffer instanceof ArrayBuffer);\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 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 typeof URLSearchParams !== 'undefined' && val instanceof 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.replace(/^\\s*/, '').replace(/\\s*$/, '');\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 (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\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 * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\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\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 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 deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\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","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fixed` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.fixed\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {\n fixed: function fixed() {\n return createHTML(this, 'tt', '', '');\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","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import AlignMixin from './align.js'\nimport RippleMixin from './ripple.js'\nimport ListenersMixin from './listeners.js'\nimport RouterLinkMixin from './router-link.js'\nimport { getSizeMixin } from './size.js'\n\nconst padding = {\n none: 0,\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32\n}\n\nconst formTypes = [ 'button', 'submit', 'reset' ]\nconst mediaTypeRe = /[^\\s]\\/[^\\s]/\n\nexport default {\n mixins: [\n ListenersMixin,\n RippleMixin,\n RouterLinkMixin,\n AlignMixin,\n getSizeMixin({\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n })\n ],\n\n props: {\n type: {\n type: String,\n default: 'button'\n },\n\n to: [ Object, String ],\n replace: Boolean,\n append: Boolean,\n\n label: [ Number, String ],\n icon: String,\n iconRight: String,\n\n round: Boolean,\n outline: Boolean,\n flat: Boolean,\n unelevated: Boolean,\n rounded: Boolean,\n push: Boolean,\n glossy: Boolean,\n\n size: String,\n fab: Boolean,\n fabMini: Boolean,\n padding: String,\n\n color: String,\n textColor: String,\n noCaps: Boolean,\n noWrap: Boolean,\n dense: Boolean,\n\n tabindex: [ Number, String ],\n\n align: { default: 'center' },\n stack: Boolean,\n stretch: Boolean,\n loading: {\n type: Boolean,\n default: null\n },\n disable: Boolean\n },\n\n computed: {\n style () {\n if (this.fab === false && this.fabMini === false) {\n return this.sizeStyle\n }\n },\n\n isRounded () {\n return this.rounded === true || this.fab === true || this.fabMini === true\n },\n\n isActionable () {\n return this.disable !== true && this.loading !== true\n },\n\n computedTabIndex () {\n return this.isActionable === true ? this.tabindex || 0 : -1\n },\n\n design () {\n if (this.flat === true) return 'flat'\n if (this.outline === true) return 'outline'\n if (this.push === true) return 'push'\n if (this.unelevated === true) return 'unelevated'\n return 'standard'\n },\n\n attrs () {\n const acc = { tabindex: this.computedTabIndex }\n\n if (this.hasLink === true) {\n Object.assign(acc, this.linkProps.attrs)\n }\n else if (formTypes.includes(this.type) === true) {\n acc.type = this.type\n }\n\n if (this.hasLink === true || this.type === 'a') {\n if (this.disable === true) {\n acc['aria-disabled'] = 'true'\n }\n else if (acc.href === void 0) {\n acc.role = 'button'\n }\n if (mediaTypeRe.test(this.type) === true) {\n acc.type = this.type\n }\n }\n else if (this.disable === true) {\n acc.disabled = ''\n acc['aria-disabled'] = 'true'\n }\n\n if (this.loading === true && this.percentage !== void 0) {\n acc.role = 'progressbar'\n acc['aria-valuemin'] = 0\n acc['aria-valuemax'] = 100\n acc['aria-valuenow'] = this.percentage\n }\n\n return acc\n },\n\n classes () {\n let colors\n\n if (this.color !== void 0) {\n if (this.flat === true || this.outline === true) {\n colors = `text-${this.textColor || this.color}`\n }\n else {\n colors = `bg-${this.color} text-${this.textColor || 'white'}`\n }\n }\n else if (this.textColor) {\n colors = `text-${this.textColor}`\n }\n\n return `q-btn--${this.design} ` +\n `q-btn--${this.round === true ? 'round' : `rectangle${this.isRounded === true ? ' q-btn--rounded' : ''}`}` +\n (colors !== void 0 ? ' ' + colors : '') +\n (this.isActionable === true ? ' q-btn--actionable q-focusable q-hoverable' : (this.disable === true ? ' disabled' : '')) +\n (this.fab === true ? ' q-btn--fab' : (this.fabMini === true ? ' q-btn--fab-mini' : '')) +\n (this.noCaps === true ? ' q-btn--no-uppercase' : '') +\n (this.noWrap === true ? '' : ' q-btn--wrap') + // this is for IE11\n (this.dense === true ? ' q-btn--dense' : '') +\n (this.stretch === true ? ' no-border-radius self-stretch' : '') +\n (this.glossy === true ? ' glossy' : '')\n },\n\n innerClasses () {\n return this.alignClass + (this.stack === true ? ' column' : ' row') +\n (this.noWrap === true ? ' no-wrap text-no-wrap' : '') +\n (this.loading === true ? ' q-btn__content--hidden' : '')\n },\n\n wrapperStyle () {\n if (this.padding !== void 0) {\n return {\n padding: this.padding\n .split(/\\s+/)\n .map(v => v in padding ? padding[v] + 'px' : v)\n .join(' '),\n minWidth: '0',\n minHeight: '0'\n }\n }\n }\n }\n}\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\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","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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\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","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.bold` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.bold\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {\n bold: function bold() {\n return createHTML(this, 'b', '', '');\n }\n});\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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","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';\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 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// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\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 defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\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","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","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 aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","let lastKeyCompositionStatus = false\n\nexport function onKeyDownComposition (evt) {\n lastKeyCompositionStatus = evt.isComposing === true\n}\n\nexport function shouldIgnoreKey (evt) {\n return lastKeyCompositionStatus === true ||\n evt !== Object(evt) ||\n evt.isComposing === true ||\n evt.qKeyEvent === true\n}\n\nexport function isKeyCode (evt, keyCodes) {\n return shouldIgnoreKey(evt) === true\n ? false\n : [].concat(keyCodes).includes(evt.keyCode)\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, '$<a>') !== '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","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export const listenOpts = {\n hasPassive: false,\n passiveCapture: true,\n notPassiveCapture: true\n}\n\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n Object.assign(listenOpts, {\n hasPassive: true,\n passive: { passive: true },\n notPassive: { passive: false },\n passiveCapture: { passive: true, capture: true },\n notPassiveCapture: { passive: false, capture: true }\n })\n }\n })\n window.addEventListener('qtest', null, opts)\n window.removeEventListener('qtest', null, opts)\n}\ncatch (e) {}\n\nexport function noop () {}\n\nexport function leftClick (e) {\n return e.button === 0\n}\n\nexport function middleClick (e) {\n return e.button === 1\n}\n\nexport function rightClick (e) {\n return e.button === 2\n}\n\nexport function position (e) {\n if (e.touches && e.touches[0]) {\n e = e.touches[0]\n }\n else if (e.changedTouches && e.changedTouches[0]) {\n e = e.changedTouches[0]\n }\n else if (e.targetTouches && e.targetTouches[0]) {\n e = e.targetTouches[0]\n }\n\n return {\n top: e.clientY,\n left: e.clientX\n }\n}\n\nexport function getEventPath (e) {\n if (e.path) {\n return e.path\n }\n if (e.composedPath) {\n return e.composedPath()\n }\n\n const path = []\n let el = e.target\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n return path\n }\n\n el = el.parentElement\n }\n}\n\n// Reasonable defaults\nconst\n LINE_HEIGHT = 40,\n PAGE_HEIGHT = 800\n\nexport function getMouseWheelDistance (e) {\n let x = e.deltaX, y = e.deltaY\n\n if ((x || y) && e.deltaMode) {\n const multiplier = e.deltaMode === 1 ? LINE_HEIGHT : PAGE_HEIGHT\n x *= multiplier\n y *= multiplier\n }\n\n if (e.shiftKey && !x) {\n [y, x] = [x, y]\n }\n\n return { x, y }\n}\n\nexport function stop (e) {\n e.stopPropagation()\n}\n\nexport function prevent (e) {\n e.cancelable !== false && e.preventDefault()\n}\n\nexport function stopAndPrevent (e) {\n e.cancelable !== false && e.preventDefault()\n e.stopPropagation()\n}\n\nexport function stopAndPreventClick (evt) {\n stopAndPrevent(evt)\n\n if (evt.type === 'mousedown') {\n const handler = e => {\n e.target === evt.target && stopAndPrevent(e)\n document.removeEventListener('click', handler, listenOpts.notPassiveCapture)\n }\n\n document.addEventListener('click', handler, listenOpts.notPassiveCapture)\n }\n}\n\nexport function preventDraggable (el, status) {\n if (el === void 0 || (status === true && el.__dragPrevented === true)) {\n return\n }\n\n const fn = status === true\n ? el => {\n el.__dragPrevented = true\n el.addEventListener('dragstart', prevent, listenOpts.notPassiveCapture)\n }\n : el => {\n delete el.__dragPrevented\n el.removeEventListener('dragstart', prevent, listenOpts.notPassiveCapture)\n }\n\n el.querySelectorAll('a, img').forEach(fn)\n}\n\nexport function create (name, { bubbles = false, cancelable = false } = {}) {\n try {\n return new CustomEvent(name, { bubbles, cancelable })\n }\n catch (e) {\n // IE doesn't support `new Event()`, so...\n const evt = document.createEvent('Event')\n evt.initEvent(name, bubbles, cancelable)\n return evt\n }\n}\n\nexport function addEvt (ctx, targetName, events) {\n const name = `__q_${targetName}_evt`\n\n ctx[name] = ctx[name] !== void 0\n ? ctx[name].concat(events)\n : events\n\n events.forEach(evt => {\n evt[0].addEventListener(evt[1], ctx[evt[2]], listenOpts[evt[3]])\n })\n}\n\nexport function cleanEvt (ctx, targetName) {\n const name = `__q_${targetName}_evt`\n\n if (ctx[name] !== void 0) {\n ctx[name].forEach(evt => {\n evt[0].removeEventListener(evt[1], ctx[evt[2]], listenOpts[evt[3]])\n })\n ctx[name] = void 0\n }\n}\n\n/*\n * also update /types/utils/event.d.ts\n */\n\nexport default {\n listenOpts,\n leftClick,\n middleClick,\n rightClick,\n position,\n getEventPath,\n getMouseWheelDistance,\n stop,\n prevent,\n stopAndPrevent,\n preventDraggable,\n create\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 \"<scheme>://\" 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","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 $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\nvar nativeFreeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });\n\n// `Object.freeze` method\n// https://tc39.github.io/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;\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","export function slot (vm, slotName, otherwise) {\n return vm.$scopedSlots[slotName] !== void 0\n ? vm.$scopedSlots[slotName]()\n : otherwise\n}\n\nexport function uniqueSlot (vm, slotName, otherwise) {\n return vm.$scopedSlots[slotName] !== void 0\n ? [].concat(vm.$scopedSlots[slotName]())\n : otherwise\n}\n\n/**\n * Source definitely exists,\n * so it's merged with the possible slot\n */\nexport function mergeSlot (source, vm, slotName) {\n return vm.$scopedSlots[slotName] !== void 0\n ? source.concat(vm.$scopedSlots[slotName]())\n : source\n}\n\n/**\n * Merge with possible slot,\n * even if source might not exist\n */\nexport function mergeSlotSafely (source, vm, slotName) {\n if (vm.$scopedSlots[slotName] === void 0) {\n return source\n }\n\n const slot = vm.$scopedSlots[slotName]()\n return source !== void 0\n ? source.concat(slot)\n : slot\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","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\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\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\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 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 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","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","export default {\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n }\n}\n","export default function (fn, limit = 250) {\n let wait = false, result\n\n return function (/* ...args */) {\n if (wait === false) {\n wait = true\n setTimeout(() => { wait = false }, limit)\n result = fn.apply(this, arguments)\n }\n\n return result\n }\n}\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\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';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\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 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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","import Vue from 'vue'\n\nimport defaultLang from '../lang/en-us.js'\nimport { isSSR, fromSSR } from './plugins/Platform.js'\n\nfunction getLocale () {\n if (isSSR === true) { return }\n\n const val =\n navigator.language ||\n navigator.languages[0] ||\n navigator.browserLanguage ||\n navigator.userLanguage ||\n navigator.systemLanguage\n\n if (val) {\n return val.toLowerCase()\n }\n}\n\nconst Plugin = {\n getLocale,\n\n install ($q, queues, lang) {\n const initialLang = lang || defaultLang\n\n this.set = (langObject = defaultLang, ssrContext) => {\n const lang = {\n ...langObject,\n rtl: langObject.rtl === true,\n getLocale\n }\n\n if (isSSR === true) {\n if (ssrContext === void 0) {\n console.error('SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)')\n return\n }\n\n const dir = lang.rtl === true ? 'rtl' : 'ltr'\n const attrs = `lang=${lang.isoName} dir=${dir}`\n\n lang.set = ssrContext.$q.lang.set\n\n ssrContext.Q_HTML_ATTRS = ssrContext.Q_PREV_LANG !== void 0\n ? ssrContext.Q_HTML_ATTRS.replace(ssrContext.Q_PREV_LANG, attrs)\n : attrs\n\n ssrContext.Q_PREV_LANG = attrs\n ssrContext.$q.lang = lang\n }\n else {\n if (fromSSR === false) {\n const el = document.documentElement\n el.setAttribute('dir', lang.rtl === true ? 'rtl' : 'ltr')\n el.setAttribute('lang', lang.isoName)\n }\n\n lang.set = this.set\n $q.lang = this.props = lang\n this.isoName = lang.isoName\n this.nativeName = lang.nativeName\n }\n }\n\n if (isSSR === true) {\n queues.server.push((q, ctx) => {\n q.lang = {}\n q.lang.set = langObject => {\n this.set(langObject, ctx.ssr)\n }\n\n q.lang.set(initialLang)\n })\n\n this.isoName = initialLang.isoName\n this.nativeName = initialLang.nativeName\n this.props = initialLang\n }\n else {\n Vue.util.defineReactive($q, 'lang', {})\n this.set(initialLang)\n }\n }\n}\n\nexport default Plugin\nexport { defaultLang }\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\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","export function offset (el) {\n if (el === window) {\n return { top: 0, left: 0 }\n }\n const { top, left } = el.getBoundingClientRect()\n return { top, left }\n}\n\nexport function style (el, property) {\n return window.getComputedStyle(el).getPropertyValue(property)\n}\n\nexport function height (el) {\n return el === window\n ? window.innerHeight\n : el.getBoundingClientRect().height\n}\n\nexport function width (el) {\n return el === window\n ? window.innerWidth\n : el.getBoundingClientRect().width\n}\n\nexport function css (element, css) {\n const style = element.style\n\n Object.keys(css).forEach(prop => {\n style[prop] = css[prop]\n })\n}\n\nexport function cssBatch (elements, style) {\n elements.forEach(el => css(el, style))\n}\n\nexport function ready (fn) {\n if (typeof fn !== 'function') {\n return\n }\n\n if (document.readyState !== 'loading') {\n return fn()\n }\n\n document.addEventListener('DOMContentLoaded', fn, false)\n}\n\n// internal\nexport function getElement (el) {\n const type = typeof el\n\n if (type === 'function') {\n el = el()\n }\n\n if (type === 'string') {\n try {\n el = document.querySelector(el)\n }\n catch (err) {}\n }\n\n if (el !== Object(el)) {\n return null\n }\n\n return el._isVue === true && el.$el !== void 0\n ? el.$el\n : el\n}\n\n// internal\nexport function childHasFocus (el, focusedEl) {\n if (el === void 0 || el.contains(focusedEl) === true) {\n return true\n }\n\n for (let next = el.nextElementSibling; next !== null; next = next.nextElementSibling) {\n if (next.contains(focusedEl)) {\n return true\n }\n }\n\n return false\n}\n\n// internal\nexport function getBodyFullscreenElement (activeEl) {\n return activeEl === document.documentElement || activeEl === null\n ? document.body\n : activeEl\n}\n\nexport default {\n offset,\n style,\n height,\n width,\n css,\n cssBatch,\n ready\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';\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) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\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","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 toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\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","// 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 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","const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']\n\nexport function humanStorageSize (bytes) {\n let u = 0\n\n while (parseInt(bytes, 10) >= 1024 && u < units.length - 1) {\n bytes /= 1024\n ++u\n }\n\n return `${bytes.toFixed(1)}${units[u]}`\n}\n\nexport function capitalize (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function between (v, min, max) {\n return max <= min\n ? min\n : Math.min(max, Math.max(min, v))\n}\n\nexport function normalizeToInterval (v, min, max) {\n if (max <= min) {\n return min\n }\n\n const size = (max - min + 1)\n\n let index = min + (v - min) % size\n if (index < min) {\n index = size + index\n }\n\n return index === 0 ? 0 : index // fix for (-a % a) => -0\n}\n\nexport function pad (v, length = 2, char = '0') {\n if (v === void 0 || v === null) {\n return v\n }\n\n const val = '' + v\n return val.length >= length\n ? val\n : new Array(length - val.length + 1).join(char) + val\n}\n\nexport default {\n humanStorageSize,\n capitalize,\n between,\n normalizeToInterval,\n pad\n}\n","import { getPropCacheMixin } from '../utils/cache.js'\n\nexport const ariaHidden = { 'aria-hidden': 'true' }\n\nexport const iconAsButton = { tabindex: 0, type: 'button', 'aria-hidden': false, role: null }\n\nexport default getPropCacheMixin('$attrs', 'qAttrs')\n","import Vue from 'vue'\n\nimport { between } from '../../utils/format.js'\nimport { isSSR } from '../../plugins/Platform.js'\nimport { ariaHidden } from '../../mixins/attrs'\n\nconst\n xhr = isSSR ? null : XMLHttpRequest,\n open = isSSR ? null : xhr.prototype.open,\n positionValues = [ 'top', 'right', 'bottom', 'left' ]\n\nlet stack = []\nlet highjackCount = 0\n\nfunction translate ({ p, pos, active, horiz, reverse, dir }) {\n let x = 1, y = 1\n\n if (horiz === true) {\n if (reverse === true) { x = -1 }\n if (pos === 'bottom') { y = -1 }\n return { transform: `translate3d(${x * (p - 100)}%,${active ? 0 : y * -200}%,0)` }\n }\n\n if (reverse === true) { y = -1 }\n if (pos === 'right') { x = -1 }\n return { transform: `translate3d(${active ? 0 : dir * x * -200}%,${y * (p - 100)}%,0)` }\n}\n\nfunction inc (p, amount) {\n if (typeof amount !== 'number') {\n if (p < 25) {\n amount = Math.random() * 3 + 3\n }\n else if (p < 65) {\n amount = Math.random() * 3\n }\n else if (p < 85) {\n amount = Math.random() * 2\n }\n else if (p < 99) {\n amount = 0.6\n }\n else {\n amount = 0\n }\n }\n return between(p + amount, 0, 100)\n}\n\nfunction highjackAjax (stackEntry) {\n highjackCount++\n\n stack.push(stackEntry)\n\n if (highjackCount > 1) { return }\n\n xhr.prototype.open = function (_, url) {\n const stopStack = []\n\n const loadStart = () => {\n stack.forEach(entry => {\n const hijackFilter = entry.getHijackFilter()\n if (\n hijackFilter === null ||\n hijackFilter(url) === true\n ) {\n entry.start()\n stopStack.push(entry.stop)\n }\n })\n }\n\n const loadEnd = () => {\n stopStack.forEach(stop => { stop() })\n }\n\n this.addEventListener('loadstart', loadStart, { once: true })\n this.addEventListener('loadend', loadEnd, { once: true })\n\n open.apply(this, arguments)\n }\n}\n\nfunction restoreAjax (start) {\n stack = stack.filter(entry => entry.start !== start)\n\n highjackCount = Math.max(0, highjackCount - 1)\n if (!highjackCount) {\n xhr.prototype.open = open\n }\n}\n\nexport default Vue.extend({\n name: 'QAjaxBar',\n\n props: {\n position: {\n type: String,\n default: 'top',\n validator: val => positionValues.includes(val)\n },\n\n size: {\n type: String,\n default: '2px'\n },\n\n color: String,\n reverse: Boolean,\n\n skipHijack: Boolean,\n hijackFilter: Function\n },\n\n data () {\n return {\n calls: 0,\n progress: 0,\n onScreen: false,\n animate: true\n }\n },\n\n computed: {\n classes () {\n return `q-loading-bar q-loading-bar--${this.position}` +\n (this.color !== void 0 ? ` bg-${this.color}` : '') +\n (this.animate === true ? '' : ' no-transition')\n },\n\n style () {\n const active = this.onScreen\n\n const o = translate({\n p: this.progress,\n pos: this.position,\n active,\n horiz: this.horizontal,\n reverse: this.$q.lang.rtl === true && ['top', 'bottom'].includes(this.position)\n ? this.reverse === false\n : this.reverse,\n dir: this.$q.lang.rtl === true ? -1 : 1\n })\n\n o[this.sizeProp] = this.size\n o.opacity = active ? 1 : 0\n\n return o\n },\n\n horizontal () {\n return this.position === 'top' || this.position === 'bottom'\n },\n\n sizeProp () {\n return this.horizontal ? 'height' : 'width'\n },\n\n attrs () {\n return this.onScreen === true\n ? {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.progress\n }\n : ariaHidden\n }\n },\n\n methods: {\n start (speed = 300) {\n const oldSpeed = this.speed\n const newSpeed = this.speed = Math.max(0, speed) || 0\n\n this.calls++\n\n if (this.calls > 1) {\n if (oldSpeed === 0 && newSpeed > 0) {\n this.__work()\n }\n else if (oldSpeed > 0 && newSpeed <= 0) {\n clearTimeout(this.timer)\n }\n\n return this.calls\n }\n\n clearTimeout(this.timer)\n this.$emit('start')\n\n this.progress = 0\n\n this.timer = setTimeout(() => {\n this.animate = true\n newSpeed > 0 && this.__work()\n }, this.onScreen === true ? 500 : 1)\n\n if (this.onScreen !== true) {\n this.onScreen = true\n this.animate = false\n }\n\n return this.calls\n },\n\n increment (amount) {\n if (this.calls > 0) {\n this.progress = inc(this.progress, amount)\n }\n\n return this.calls\n },\n\n stop () {\n this.calls = Math.max(0, this.calls - 1)\n\n if (this.calls > 0) {\n return this.calls\n }\n\n clearTimeout(this.timer)\n this.$emit('stop')\n\n const end = () => {\n this.animate = true\n this.progress = 100\n this.timer = setTimeout(() => {\n this.onScreen = false\n }, 1000)\n }\n\n if (this.progress === 0) {\n this.timer = setTimeout(end, 1)\n }\n else {\n end()\n }\n\n return this.calls\n },\n\n __work () {\n if (this.progress < 100) {\n this.timer = setTimeout(() => {\n this.increment()\n this.__work()\n }, this.speed)\n }\n }\n },\n\n mounted () {\n if (this.skipHijack !== true) {\n this.hijacked = true\n highjackAjax({\n start: this.start,\n stop: this.stop,\n getHijackFilter: () => this.hijackFilter || null\n })\n }\n },\n\n beforeDestroy () {\n clearTimeout(this.timer)\n this.hijacked === true && restoreAjax(this.start)\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n style: this.style,\n attrs: this.attrs\n })\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport SizeMixin from '../../mixins/size.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { mergeSlotSafely } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QAvatar',\n\n mixins: [ ListenersMixin, SizeMixin ],\n\n props: {\n fontSize: String,\n\n color: String,\n textColor: String,\n\n icon: String,\n square: Boolean,\n rounded: Boolean\n },\n\n computed: {\n classes () {\n return {\n [`bg-${this.color}`]: this.color,\n [`text-${this.textColor} q-chip--colored`]: this.textColor,\n 'q-avatar--square': this.square,\n 'rounded-borders': this.rounded\n }\n },\n\n contentStyle () {\n if (this.fontSize) {\n return { fontSize: this.fontSize }\n }\n }\n },\n\n render (h) {\n const icon = this.icon !== void 0\n ? [ h(QIcon, { props: { name: this.icon } }) ]\n : void 0\n\n return h('div', {\n staticClass: 'q-avatar',\n style: this.sizeStyle,\n class: this.classes,\n on: { ...this.qListeners }\n }, [\n h('div', {\n staticClass: 'q-avatar__content row flex-center overflow-hidden',\n style: this.contentStyle\n }, mergeSlotSafely(icon, this, 'default'))\n ])\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QBadge',\n\n mixins: [ ListenersMixin ],\n\n props: {\n color: String,\n textColor: String,\n\n floating: Boolean,\n transparent: Boolean,\n multiLine: Boolean,\n outline: Boolean,\n rounded: Boolean,\n\n label: [Number, String],\n\n align: {\n type: String,\n validator: v => ['top', 'middle', 'bottom'].includes(v)\n }\n },\n\n computed: {\n style () {\n if (this.align !== void 0) {\n return { verticalAlign: this.align }\n }\n },\n\n classes () {\n const text = this.outline === true\n ? this.color || this.textColor\n : this.textColor\n\n return 'q-badge flex inline items-center no-wrap' +\n ` q-badge--${this.multiLine === true ? 'multi' : 'single'}-line` +\n (this.outline === true\n ? ' q-badge--outline'\n : (this.color !== void 0 ? ` bg-${this.color}` : '')\n ) +\n (text !== void 0 ? ` text-${text}` : '') +\n (this.floating === true ? ' q-badge--floating' : '') +\n (this.rounded === true ? ' q-badge--rounded' : '') +\n (this.transparent === true ? ' q-badge--transparent' : '')\n },\n\n attrs () {\n return {\n role: 'alert',\n 'aria-label': this.label\n }\n }\n },\n\n render (h) {\n return h('div', {\n style: this.style,\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, this.label !== void 0 ? [ this.label ] : slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nconst attrs = { role: 'alert' }\n\nexport default Vue.extend({\n name: 'QBanner',\n\n mixins: [ ListenersMixin, DarkMixin ],\n\n props: {\n inlineActions: Boolean,\n dense: Boolean,\n rounded: Boolean\n },\n\n render (h) {\n const actions = slot(this, 'action')\n const child = [\n h('div', {\n staticClass: 'q-banner__avatar col-auto row items-center self-start'\n }, slot(this, 'avatar')),\n\n h('div', {\n staticClass: 'q-banner__content col text-body2'\n }, slot(this, 'default'))\n ]\n\n actions !== void 0 && child.push(\n h('div', {\n staticClass: 'q-banner__actions row items-center justify-end',\n class: `col-${this.inlineActions === true ? 'auto' : 'all'}`\n }, actions)\n )\n\n return h('div', {\n staticClass: 'q-banner row items-center',\n class: {\n 'q-banner--top-padding': actions !== void 0 && !this.inlineActions,\n 'q-banner--dense': this.dense,\n 'q-banner--dark q-dark': this.isDark,\n 'rounded-borders': this.rounded\n },\n attrs,\n on: { ...this.qListeners }\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nconst attrs = { role: 'toolbar' }\n\nexport default Vue.extend({\n name: 'QBar',\n\n mixins: [ ListenersMixin, DarkMixin ],\n\n props: {\n dense: Boolean\n },\n\n computed: {\n classes () {\n return `q-bar--${this.dense === true ? 'dense' : 'standard'} ` +\n `q-bar--${this.isDark === true ? 'dark' : 'light'}`\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-bar row no-wrap items-center',\n class: this.classes,\n attrs,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport AlignMixin from '../../mixins/align.js'\nimport { slot } from '../../utils/slot.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nconst disabledValues = [ true, '' ]\n\nexport default Vue.extend({\n name: 'QBreadcrumbs',\n\n mixins: [ ListenersMixin, AlignMixin ],\n\n props: {\n separator: {\n type: String,\n default: '/'\n },\n separatorColor: String,\n\n activeColor: {\n type: String,\n default: 'primary'\n },\n\n gutter: {\n type: String,\n validator: v => ['none', 'xs', 'sm', 'md', 'lg', 'xl'].includes(v),\n default: 'sm'\n }\n },\n\n computed: {\n classes () {\n return `${this.alignClass}${this.gutter === 'none' ? '' : ` q-gutter-${this.gutter}`}`\n },\n\n sepClass () {\n return this.separatorColor\n ? ` text-${this.separatorColor}`\n : ''\n },\n\n activeClass () {\n return ` text-${this.activeColor}`\n }\n },\n\n render (h) {\n const nodes = slot(this, 'default')\n if (nodes === void 0) { return }\n\n let els = 1\n\n const\n child = [],\n len = nodes.filter(c => c.tag !== void 0 && c.tag.endsWith('-QBreadcrumbsEl')).length,\n separator = this.$scopedSlots.separator !== void 0\n ? this.$scopedSlots.separator\n : () => this.separator\n\n nodes.forEach(comp => {\n if (comp.tag !== void 0 && comp.tag.endsWith('-QBreadcrumbsEl')) {\n const middle = els < len\n const disabled = disabledValues.includes(comp.componentOptions.propsData.disable)\n const cls = middle === true\n ? (disabled !== true ? this.activeClass : '')\n : ' q-breadcrumbs--last'\n\n els++\n\n child.push(h('div', {\n staticClass: 'flex items-center' + cls\n }, [ comp ]))\n\n middle === true && child.push(h('div', {\n staticClass: 'q-breadcrumbs__separator' + this.sepClass\n }, separator()))\n }\n else {\n child.push(comp)\n }\n })\n\n return h('div', {\n staticClass: 'q-breadcrumbs',\n on: { ...this.qListeners }\n }, [\n h('div', {\n staticClass: 'flex items-center',\n class: this.classes\n }, child)\n ])\n }\n})\n","import Vue from 'vue'\n\nimport { mergeSlot } from '../../utils/slot.js'\nimport ListenersMixin from '../../mixins/listeners.js'\nimport RouterLinkMixin from '../../mixins/router-link.js'\n\nimport QIcon from '../icon/QIcon.js'\n\nexport default Vue.extend({\n name: 'QBreadcrumbsEl',\n\n mixins: [ ListenersMixin, RouterLinkMixin ],\n\n props: {\n label: String,\n icon: String\n },\n\n computed: {\n iconClass () {\n return 'q-breadcrumbs__el-icon' +\n (this.label !== void 0 ? ' q-breadcrumbs__el-icon--with-label' : '')\n },\n\n renderData () {\n return {\n staticClass: 'q-breadcrumbs__el q-link ' +\n 'flex inline items-center relative-position ' +\n (this.disable !== true ? 'q-link--focusable' : 'q-breadcrumbs__el--disabled'),\n ...this.linkProps,\n [this.hasRouterLink === true ? 'nativeOn' : 'on']: { ...this.qListeners }\n }\n }\n },\n\n beforeCreate () {\n this.fallbackTag = 'span'\n },\n\n render (h) {\n const child = []\n\n this.icon !== void 0 && child.push(\n h(QIcon, {\n class: this.iconClass,\n props: { name: this.icon }\n })\n )\n\n this.label !== void 0 && child.push(this.label)\n\n return h(this.linkTag, this.renderData, mergeSlot(child, this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QBtnGroup',\n\n mixin: [ ListenersMixin ],\n\n props: {\n unelevated: Boolean,\n outline: Boolean,\n flat: Boolean,\n rounded: Boolean,\n push: Boolean,\n stretch: Boolean,\n glossy: Boolean,\n spread: Boolean\n },\n\n computed: {\n classes () {\n return ['unelevated', 'outline', 'flat', 'rounded', 'push', 'stretch', 'glossy']\n .filter(t => this[t] === true)\n .map(t => `q-btn-group--${t}`).join(' ')\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-btn-group row no-wrap ' +\n (this.spread === true ? 'q-btn-group--spread' : 'inline'),\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Platform from '../plugins/Platform.js'\n\nexport function clearSelection () {\n if (window.getSelection !== void 0) {\n const selection = window.getSelection()\n if (selection.empty !== void 0) {\n selection.empty()\n }\n else if (selection.removeAllRanges !== void 0) {\n selection.removeAllRanges()\n Platform.is.mobile !== true && selection.addRange(document.createRange())\n }\n }\n else if (document.selection !== void 0) {\n document.selection.empty()\n }\n}\n","import { clearSelection } from '../utils/selection.js'\nimport { addEvt, cleanEvt, prevent, listenOpts } from '../utils/event.js'\nimport { getElement } from '../utils/dom.js'\nimport { isKeyCode } from '../utils/key-composition.js'\n\nexport default {\n props: {\n target: {\n default: true\n },\n noParentEvent: Boolean,\n contextMenu: Boolean\n },\n\n watch: {\n contextMenu (val) {\n if (this.anchorEl !== void 0) {\n this.__unconfigureAnchorEl()\n this.__configureAnchorEl(val)\n }\n },\n\n target () {\n if (this.anchorEl !== void 0) {\n this.__unconfigureAnchorEl()\n }\n\n this.__pickAnchorEl()\n },\n\n noParentEvent (val) {\n if (this.anchorEl !== void 0) {\n if (val === true) {\n this.__unconfigureAnchorEl()\n }\n else {\n this.__configureAnchorEl()\n }\n }\n }\n },\n\n methods: {\n __showCondition (evt) {\n // abort with no parent configured or on multi-touch\n if (this.anchorEl === void 0) {\n return false\n }\n if (evt === void 0) {\n return true\n }\n return evt.touches === void 0 || evt.touches.length <= 1\n },\n\n __contextClick (evt) {\n this.hide(evt)\n this.$nextTick(() => {\n this.show(evt)\n })\n prevent(evt)\n },\n\n __toggleKey (evt) {\n isKeyCode(evt, 13) === true && this.toggle(evt)\n },\n\n __mobileCleanup (evt) {\n this.anchorEl.classList.remove('non-selectable')\n clearTimeout(this.touchTimer)\n\n if (this.showing === true && evt !== void 0) {\n clearSelection()\n }\n },\n\n __mobilePrevent: prevent,\n\n __mobileTouch (evt) {\n this.__mobileCleanup(evt)\n\n if (this.__showCondition(evt) !== true) {\n return\n }\n\n this.hide(evt)\n this.anchorEl.classList.add('non-selectable')\n\n const target = evt.target\n addEvt(this, 'anchor', [\n [ target, 'touchmove', '__mobileCleanup', 'passive' ],\n [ target, 'touchend', '__mobileCleanup', 'passive' ],\n [ target, 'touchcancel', '__mobileCleanup', 'passive' ],\n [ this.anchorEl, 'contextmenu', '__mobilePrevent', 'notPassive' ]\n ])\n\n this.touchTimer = setTimeout(() => {\n this.show(evt)\n }, 300)\n },\n\n __unconfigureAnchorEl () {\n cleanEvt(this, 'anchor')\n },\n\n __configureAnchorEl (context = this.contextMenu) {\n if (this.noParentEvent === true || this.anchorEl === void 0) { return }\n\n let evts\n\n if (context === true) {\n if (this.$q.platform.is.mobile === true) {\n evts = [\n [ this.anchorEl, 'touchstart', '__mobileTouch', 'passive' ]\n ]\n }\n else {\n evts = [\n [ this.anchorEl, 'click', 'hide', 'passive' ],\n [ this.anchorEl, 'contextmenu', '__contextClick', 'notPassive' ]\n ]\n }\n }\n else {\n evts = [\n [ this.anchorEl, 'click', 'toggle', 'passive' ],\n [ this.anchorEl, 'keyup', '__toggleKey', 'passive' ]\n ]\n }\n\n addEvt(this, 'anchor', evts)\n },\n\n __setAnchorEl (el) {\n this.anchorEl = el\n while (this.anchorEl.classList.contains('q-anchor--skip')) {\n this.anchorEl = this.anchorEl.parentNode\n }\n this.__configureAnchorEl()\n },\n\n __pickAnchorEl () {\n if (this.target === false || this.target === '') {\n this.anchorEl = void 0\n }\n else if (this.target === true) {\n this.__setAnchorEl(this.parentEl)\n }\n else {\n this.anchorEl = getElement(this.target) || void 0\n\n if (this.anchorEl !== void 0) {\n this.__configureAnchorEl()\n }\n else {\n console.error(`Anchor: target \"${this.target}\" not found`, this)\n }\n }\n },\n\n __changeScrollEvent (scrollTarget, fn) {\n const fnProp = `${fn !== void 0 ? 'add' : 'remove'}EventListener`\n const fnHandler = fn !== void 0 ? fn : this.__scrollFn\n\n if (scrollTarget !== window) {\n scrollTarget[fnProp]('scroll', fnHandler, listenOpts.passive)\n }\n\n window[fnProp]('scroll', fnHandler, listenOpts.passive)\n\n this.__scrollFn = fn\n }\n },\n\n created () {\n if (\n typeof this.__configureScrollTarget === 'function' &&\n typeof this.__unconfigureScrollTarget === 'function'\n ) {\n this.noParentEventWatcher = this.$watch('noParentEvent', () => {\n if (this.__scrollTarget !== void 0) {\n this.__unconfigureScrollTarget()\n this.__configureScrollTarget()\n }\n })\n }\n },\n\n mounted () {\n this.parentEl = this.$el.parentNode\n this.__pickAnchorEl()\n\n if (this.value === true && this.anchorEl === void 0) {\n this.$emit('input', false)\n }\n },\n\n beforeDestroy () {\n clearTimeout(this.touchTimer)\n this.noParentEventWatcher !== void 0 && this.noParentEventWatcher()\n this.__anchorCleanup !== void 0 && this.__anchorCleanup()\n this.__unconfigureAnchorEl()\n }\n}\n","export default {\n methods: {\n __nextTick (fn) {\n this.__tickFn = fn\n },\n\n __prepareTick () {\n if (this.__tickFn !== void 0) {\n const fn = this.__tickFn\n this.$nextTick(() => {\n if (this.__tickFn === fn) {\n this.__tickFn()\n this.__tickFn = void 0\n }\n })\n }\n },\n\n __clearTick () {\n this.__tickFn = void 0\n },\n\n __setTimeout (fn, delay) {\n clearTimeout(this.__timer)\n this.__timer = setTimeout(fn, delay)\n },\n\n __clearTimeout () {\n clearTimeout(this.__timer)\n }\n },\n\n beforeDestroy () {\n this.__tickFn = void 0\n clearTimeout(this.__timer)\n }\n}\n","import { isSSR } from '../plugins/Platform.js'\n\nimport TimeoutMixin from './timeout.js'\nimport ListenersMixin from './listeners.js'\n\nexport default {\n mixins: [ TimeoutMixin, ListenersMixin ],\n\n props: {\n value: {\n type: Boolean,\n default: void 0\n }\n },\n\n data () {\n return {\n showing: false\n }\n },\n\n watch: {\n value (val) {\n this.__processModelChange(val)\n },\n\n $route () {\n this.hideOnRouteChange === true && this.showing === true && this.hide()\n }\n },\n\n methods: {\n toggle (evt) {\n this[this.showing === true ? 'hide' : 'show'](evt)\n },\n\n show (evt) {\n if (this.disable === true || (this.__showCondition !== void 0 && this.__showCondition(evt) !== true)) {\n return\n }\n\n if (this.qListeners.input !== void 0 && isSSR === false) {\n this.$emit('input', true)\n this.payload = evt\n this.$nextTick(() => {\n if (this.payload === evt) {\n this.payload = void 0\n }\n })\n }\n\n if (this.value === void 0 || this.qListeners.input === void 0 || isSSR === true) {\n this.__processShow(evt)\n }\n },\n\n __processShow (evt) {\n if (this.showing === true) {\n return\n }\n\n // need to call it before setting showing to true\n // in order to not ruin the animation\n this.__preparePortal !== void 0 && this.__preparePortal()\n\n this.showing = true\n\n this.$emit('before-show', evt)\n\n if (this.__show !== void 0) {\n this.__clearTick()\n this.__show(evt)\n this.__prepareTick()\n }\n else {\n this.$emit('show', evt)\n }\n },\n\n hide (evt) {\n if (this.disable === true) {\n return\n }\n\n if (this.qListeners.input !== void 0 && isSSR === false) {\n this.$emit('input', false)\n this.payload = evt\n this.$nextTick(() => {\n if (this.payload === evt) {\n this.payload = void 0\n }\n })\n }\n if (this.value === void 0 || this.qListeners.input === void 0 || isSSR === true) {\n this.__processHide(evt)\n }\n },\n\n __processHide (evt) {\n if (this.showing === false) {\n return\n }\n\n this.showing = false\n\n this.$emit('before-hide', evt)\n\n if (this.__hide !== void 0) {\n this.__clearTick()\n this.__hide(evt)\n this.__prepareTick()\n }\n else {\n this.$emit('hide', evt)\n }\n },\n\n __processModelChange (val) {\n if (this.disable === true && val === true) {\n this.qListeners.input !== void 0 && this.$emit('input', false)\n }\n else if ((val === true) !== this.showing) {\n this[`__process${val === true ? 'Show' : 'Hide'}`](this.payload)\n }\n }\n }\n}\n","let queue = []\nlet waitFlags = []\n\nfunction clearFlag (flag) {\n waitFlags = waitFlags.filter(entry => entry !== flag)\n}\n\nexport function addFocusWaitFlag (flag) {\n clearFlag(flag)\n waitFlags.push(flag)\n}\n\nexport function removeFocusWaitFlag (flag) {\n clearFlag(flag)\n\n if (waitFlags.length === 0 && queue.length > 0) {\n // only call last focus handler (can't focus multiple things at once)\n queue[ queue.length - 1 ]()\n queue = []\n }\n}\n\nexport function addFocusFn (fn) {\n if (waitFlags.length === 0) {\n fn()\n }\n else {\n queue.push(fn)\n }\n}\n\nexport function removeFocusFn (fn) {\n queue = queue.filter(entry => entry !== fn)\n}\n","import Vue from 'vue'\n\nimport { isSSR } from '../plugins/Platform.js'\nimport { getBodyFullscreenElement } from '../utils/dom.js'\nimport { addFocusWaitFlag, removeFocusWaitFlag } from '../utils/focus-manager.js'\nimport debounce from '../utils/debounce.js'\n\nexport function closePortalMenus (vm, evt) {\n do {\n if (vm.$options.name === 'QMenu') {\n vm.hide(evt)\n\n // is this a point of separation?\n if (vm.separateClosePopup === true) {\n return vm.$parent\n }\n }\n else if (vm.__renderPortal !== void 0) {\n // treat it as point of separation if parent is QPopupProxy\n // (so mobile matches desktop behavior)\n // and hide it too\n if (vm.$parent !== void 0 && vm.$parent.$options.name === 'QPopupProxy') {\n vm.hide(evt)\n return vm.$parent\n }\n else {\n return vm\n }\n }\n vm = vm.$parent\n } while (\n vm !== void 0 && (\n vm.$el.contains === void 0 || // IE polyfill does not work on comments\n vm.$el.contains(evt.target) !== true\n )\n )\n}\n\nexport function closePortals (vm, evt, depth) {\n while (depth !== 0 && vm !== void 0) {\n if (vm.__renderPortal !== void 0) {\n depth--\n\n if (vm.$options.name === 'QMenu') {\n vm = closePortalMenus(vm, evt)\n continue\n }\n\n vm.hide(evt)\n }\n\n vm = vm.$parent\n }\n}\n\nfunction isOnGlobalDialog (vm) {\n while (vm !== void 0) {\n if (vm.$options.name === 'QGlobalDialog') {\n return true\n }\n if (vm.$options.name === 'QDialog') {\n return false\n }\n\n vm = vm.$parent\n }\n return false\n}\n\nconst Portal = {\n inheritAttrs: false,\n\n props: {\n contentClass: [ Array, String, Object ],\n contentStyle: [ Array, String, Object ]\n },\n\n methods: {\n __showPortal (isReady) {\n if (isReady === true) {\n removeFocusWaitFlag(this.focusObj)\n return\n }\n\n if (this.__portalIsActive === true) { return }\n this.__portalIsActive = true\n\n if (this.focusObj === void 0) {\n this.focusObj = {}\n }\n\n addFocusWaitFlag(this.focusObj)\n\n if (this.$q.fullscreen !== void 0 && this.$q.fullscreen.isCapable === true) {\n const append = () => {\n if (this.__portal === void 0) {\n return\n }\n\n const newParent = getBodyFullscreenElement(this.$q.fullscreen.activeEl)\n\n if (\n this.__portal.$el.parentElement !== newParent &&\n newParent.contains(this.$el) === (this.__onGlobalDialog === false)\n ) {\n newParent.appendChild(this.__portal.$el)\n }\n }\n\n this.unwatchFullscreen = this.$watch('$q.fullscreen.activeEl', debounce(append, 50))\n\n if (this.__onGlobalDialog === false || this.$q.fullscreen.isActive === true) {\n append()\n }\n }\n else if (this.__portal !== void 0 && this.__onGlobalDialog === false) {\n document.body.appendChild(this.__portal.$el)\n }\n },\n\n __hidePortal () {\n this.__portalIsActive = false\n removeFocusWaitFlag(this.focusObj)\n\n if (this.__portal !== void 0) {\n if (this.unwatchFullscreen !== void 0) {\n this.unwatchFullscreen()\n this.unwatchFullscreen = void 0\n }\n\n if (this.__onGlobalDialog === false) {\n this.__portal.$destroy()\n this.__portal.$el.remove()\n }\n\n this.__portal = void 0\n }\n },\n\n __preparePortal () {\n if (this.__portal === void 0) {\n this.__portal = this.__onGlobalDialog === true\n ? {\n $el: this.$el,\n $refs: this.$refs\n }\n : new Vue({\n name: 'QPortal',\n parent: this,\n\n inheritAttrs: false,\n\n render: h => this.__renderPortal(h),\n\n components: this.$options.components,\n directives: this.$options.directives\n }).$mount()\n }\n }\n },\n\n render (h) {\n if (this.__onGlobalDialog === true) {\n return this.__renderPortal(h)\n }\n\n if (this.__portal !== void 0) {\n this.__portal.$forceUpdate()\n }\n },\n\n beforeDestroy () {\n this.__hidePortal()\n }\n}\n\nif (isSSR === false) {\n Portal.created = function () {\n this.__onGlobalDialog = isOnGlobalDialog(this.$parent)\n }\n}\n\nexport default Portal\n","import { client } from '../../plugins/Platform.js'\nimport { listenOpts } from '../../utils/event.js'\nimport { getVmOfNode, isVmChildOf } from '../../utils/vm.js'\n\nlet timer\n\nconst\n { notPassiveCapture, passiveCapture } = listenOpts,\n handlers = {\n click: [],\n focus: []\n }\n\nfunction hasModalsAbove (node) {\n while ((node = node.nextElementSibling) !== null) {\n if (node.classList.contains('q-dialog--modal')) {\n return true\n }\n }\n\n return false\n}\n\nfunction execHandlers (list, evt) {\n for (let i = list.length - 1; i >= 0; i--) {\n if (list[i](evt) === void 0) {\n return\n }\n }\n}\n\nfunction globalHandler (evt) {\n clearTimeout(timer)\n\n // prevent autofocus on body resulting from blur\n if (\n evt.type === 'focusin' && (\n (client.is.ie === true && evt.target === document.body) ||\n evt.target.hasAttribute('tabindex') === true\n )\n ) {\n timer = setTimeout(() => {\n execHandlers(handlers.focus, evt)\n }, client.is.ie === true ? 500 : 200)\n }\n else {\n execHandlers(handlers.click, evt)\n }\n}\n\nexport default {\n name: 'click-outside',\n\n bind (el, { value, arg }, vnode) {\n const vmEl = vnode.componentInstance || vnode.context\n\n const ctx = {\n trigger: value,\n toggleEl: arg,\n\n handler (evt) {\n const target = evt.target\n\n if (\n evt.qClickOutside !== true &&\n document.body.contains(target) === true &&\n target.nodeType !== 8 &&\n // directives that prevent click by using pointer-events none generate click on html element\n target !== document.documentElement &&\n target.classList.contains('no-pointer-events') === false &&\n hasModalsAbove(el) !== true &&\n (\n ctx.toggleEl === void 0 ||\n ctx.toggleEl.contains(target) === false\n ) &&\n (\n target === document.body ||\n isVmChildOf(getVmOfNode(target), vmEl) === false\n )\n ) {\n // mark the event as being processed by clickOutside\n // used to prevent refocus after menu close\n evt.qClickOutside = true\n\n return ctx.trigger(evt)\n }\n }\n }\n\n if (el.__qclickoutside) {\n el.__qclickoutside_old = el.__qclickoutside\n }\n\n el.__qclickoutside = ctx\n\n if (handlers.click.length === 0) {\n document.addEventListener('mousedown', globalHandler, notPassiveCapture)\n document.addEventListener('touchstart', globalHandler, notPassiveCapture)\n document.addEventListener('focusin', globalHandler, passiveCapture)\n }\n\n handlers.click.push(ctx.handler)\n\n ctx.timerFocusin = setTimeout(() => {\n handlers.focus.push(ctx.handler)\n }, 500)\n },\n\n update (el, { value, oldValue, arg }) {\n const ctx = el.__qclickoutside\n\n if (value !== oldValue) {\n ctx.trigger = value\n }\n if (arg !== ctx.arg) {\n ctx.toggleEl = arg\n }\n },\n\n unbind (el) {\n const ctx = el.__qclickoutside_old || el.__qclickoutside\n if (ctx !== void 0) {\n clearTimeout(ctx.timerFocusin)\n\n const\n indexClick = handlers.click.findIndex(h => h === ctx.handler),\n indexFocus = handlers.focus.findIndex(h => h === ctx.handler)\n\n indexClick > -1 && handlers.click.splice(indexClick, 1)\n indexFocus > -1 && handlers.focus.splice(indexFocus, 1)\n\n if (handlers.click.length === 0) {\n clearTimeout(timer)\n document.removeEventListener('mousedown', globalHandler, notPassiveCapture)\n document.removeEventListener('touchstart', globalHandler, notPassiveCapture)\n document.removeEventListener('focusin', globalHandler, passiveCapture)\n }\n\n delete el[el.__qclickoutside_old ? '__qclickoutside_old' : '__qclickoutside']\n }\n }\n}\n","export default {\n props: {\n transitionShow: {\n type: String,\n default: 'fade'\n },\n\n transitionHide: {\n type: String,\n default: 'fade'\n }\n },\n\n data () {\n return {\n transitionState: this.showing\n }\n },\n\n watch: {\n showing (val) {\n this.transitionShow !== this.transitionHide && this.$nextTick(() => {\n this.transitionState = val\n })\n }\n },\n\n computed: {\n transition () {\n return 'q-transition--' + (this.transitionState === true ? this.transitionHide : this.transitionShow)\n }\n }\n}\n","export function getVmOfNode (el) {\n for (let node = el; node !== null; node = node.parentNode) {\n // node.__vue__ can be null if the instance was destroyed\n if (node.__vue__ !== void 0) {\n return node.__vue__\n }\n }\n}\n\nexport function isVmChildOf (childVm, parentVm) {\n // node.__vue__ can be null if the instance was destroyed\n if (childVm === null || parentVm === null) {\n return null\n }\n\n for (let vm = childVm; vm !== void 0; vm = vm.$parent) {\n if (vm === parentVm) {\n return true\n }\n }\n return false\n}\n","import { isSSR } from '../plugins/Platform.js'\nimport { css, getElement } from './dom.js'\n\nconst scrollTargets = isSSR === true\n ? []\n : [ null, document, document.body, document.scrollingElement, document.documentElement ]\n\nlet rtlHasScrollBugStatus\nexport function rtlHasScrollBug () {\n if (isSSR === true) {\n return false\n }\n\n if (rtlHasScrollBugStatus === void 0) {\n const scroller = document.createElement('div')\n const spacer = document.createElement('div')\n\n Object.assign(scroller.style, {\n direction: 'rtl',\n width: '1px',\n height: '1px',\n overflow: 'auto'\n })\n\n Object.assign(spacer.style, {\n width: '1000px',\n height: '1px'\n })\n\n scroller.appendChild(spacer)\n document.body.appendChild(scroller)\n scroller.scrollLeft = -1000\n\n rtlHasScrollBugStatus = scroller.scrollLeft >= 0\n\n scroller.remove()\n }\n\n return rtlHasScrollBugStatus\n}\n\nexport function getScrollTarget (el, targetEl) {\n let target = getElement(targetEl)\n\n if (target === null) {\n if (el !== Object(el) || typeof el.closest !== 'function') {\n return window\n }\n\n target = el.closest('.scroll,.scroll-y,.overflow-auto')\n }\n\n return scrollTargets.includes(target)\n ? window\n : target\n}\n\nexport function getScrollHeight (el) {\n return (el === window ? document.body : el).scrollHeight\n}\n\nexport function getScrollWidth (el) {\n return (el === window ? document.body : el).scrollWidth\n}\n\nexport function getVerticalScrollPosition (scrollTarget) {\n return scrollTarget === window\n ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n : scrollTarget.scrollTop\n}\n\nexport const getScrollPosition = getVerticalScrollPosition\n\nexport function getHorizontalScrollPosition (scrollTarget) {\n return scrollTarget === window\n ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0\n : scrollTarget.scrollLeft\n}\n\nexport function animVerticalScrollTo (el, to, duration = 0 /* , prevTime */) {\n const prevTime = arguments[ 3 ] === void 0 ? performance.now() : arguments[ 3 ]\n const pos = getVerticalScrollPosition(el)\n\n if (duration <= 0) {\n if (pos !== to) {\n setScroll(el, to)\n }\n return\n }\n\n requestAnimationFrame(nowTime => {\n const frameTime = nowTime - prevTime\n const newPos = pos + (to - pos) / Math.max(frameTime, duration) * frameTime\n setScroll(el, newPos)\n if (newPos !== to) {\n animVerticalScrollTo(el, to, duration - frameTime, nowTime)\n }\n })\n}\n\nexport const animScrollTo = animVerticalScrollTo\n\nexport function animHorizontalScrollTo (el, to, duration = 0 /* , prevTime */) {\n const prevTime = arguments[ 3 ] === void 0 ? performance.now() : arguments[ 3 ]\n const pos = getHorizontalScrollPosition(el)\n\n if (duration <= 0) {\n if (pos !== to) {\n setHorizontalScroll(el, to)\n }\n return\n }\n\n requestAnimationFrame(nowTime => {\n const frameTime = nowTime - prevTime\n const newPos = pos + (to - pos) / Math.max(frameTime, duration) * frameTime\n setHorizontalScroll(el, newPos)\n if (newPos !== to) {\n animHorizontalScrollTo(el, to, duration - frameTime, nowTime)\n }\n })\n}\n\nfunction setScroll (scrollTarget, offset) {\n if (scrollTarget === window) {\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, offset)\n return\n }\n scrollTarget.scrollTop = offset\n}\n\nfunction setHorizontalScroll (scrollTarget, offset) {\n if (scrollTarget === window) {\n window.scrollTo(offset, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)\n return\n }\n scrollTarget.scrollLeft = offset\n}\n\nexport function setVerticalScrollPosition (scrollTarget, offset, duration) {\n if (duration) {\n animVerticalScrollTo(scrollTarget, offset, duration)\n return\n }\n setScroll(scrollTarget, offset)\n}\n\nexport const setScrollPosition = setVerticalScrollPosition\n\nexport function setHorizontalScrollPosition (scrollTarget, offset, duration) {\n if (duration) {\n animHorizontalScrollTo(scrollTarget, offset, duration)\n return\n }\n setHorizontalScroll(scrollTarget, offset)\n}\n\nlet size\nexport function getScrollbarWidth () {\n if (size !== void 0) {\n return size\n }\n\n const\n inner = document.createElement('p'),\n outer = document.createElement('div')\n\n css(inner, {\n width: '100%',\n height: '200px'\n })\n css(outer, {\n position: 'absolute',\n top: '0px',\n left: '0px',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n })\n\n outer.appendChild(inner)\n\n document.body.appendChild(outer)\n\n const w1 = inner.offsetWidth\n outer.style.overflow = 'scroll'\n let w2 = inner.offsetWidth\n\n if (w1 === w2) {\n w2 = outer.clientWidth\n }\n\n outer.remove()\n size = w1 - w2\n\n return size\n}\n\nexport function hasScrollbar (el, onY = true) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) {\n return false\n }\n\n return onY\n ? (\n el.scrollHeight > el.clientHeight && (\n el.classList.contains('scroll') ||\n el.classList.contains('overflow-auto') ||\n [ 'auto', 'scroll' ].includes(window.getComputedStyle(el)['overflow-y'])\n )\n )\n : (\n el.scrollWidth > el.clientWidth && (\n el.classList.contains('scroll') ||\n el.classList.contains('overflow-auto') ||\n [ 'auto', 'scroll' ].includes(window.getComputedStyle(el)['overflow-x'])\n )\n )\n}\n\nexport default {\n getScrollTarget,\n\n getScrollHeight,\n getScrollWidth,\n\n getScrollPosition,\n getVerticalScrollPosition,\n getHorizontalScrollPosition,\n rtlHasScrollBug,\n\n animScrollTo,\n animVerticalScrollTo,\n animHorizontalScrollTo,\n\n setScrollPosition,\n setVerticalScrollPosition,\n setHorizontalScrollPosition,\n\n getScrollbarWidth,\n hasScrollbar\n}\n","import { getScrollbarWidth } from './scroll.js'\nimport { client } from '../plugins/Platform.js'\n\nlet vpLeft, vpTop\n\nexport function validatePosition (pos) {\n const parts = pos.split(' ')\n if (parts.length !== 2) {\n return false\n }\n if ([ 'top', 'center', 'bottom' ].includes(parts[0]) !== true) {\n console.error('Anchor/Self position must start with one of top/center/bottom')\n return false\n }\n if ([ 'left', 'middle', 'right', 'start', 'end' ].includes(parts[1]) !== true) {\n console.error('Anchor/Self position must end with one of left/middle/right/start/end')\n return false\n }\n return true\n}\n\nexport function validateOffset (val) {\n if (!val) { return true }\n if (val.length !== 2) { return false }\n if (typeof val[0] !== 'number' || typeof val[1] !== 'number') {\n return false\n }\n return true\n}\n\nconst horizontalPos = {\n 'start#ltr': 'left',\n 'start#rtl': 'right',\n 'end#ltr': 'right',\n 'end#rtl': 'left'\n}\n\n;[ 'left', 'middle', 'right' ].forEach(pos => {\n horizontalPos[`${pos}#ltr`] = pos\n horizontalPos[`${pos}#rtl`] = pos\n})\n\nexport function parsePosition (pos, rtl) {\n const parts = pos.split(' ')\n return {\n vertical: parts[0],\n horizontal: horizontalPos[`${parts[1]}#${rtl === true ? 'rtl' : 'ltr'}`]\n }\n}\n\nexport function validateCover (val) {\n if (val === true || val === false) { return true }\n return validatePosition(val)\n}\n\nexport function getAnchorProps (el, offset) {\n let { top, left, right, bottom, width, height } = el.getBoundingClientRect()\n\n if (offset !== void 0) {\n top -= offset[1]\n left -= offset[0]\n bottom += offset[1]\n right += offset[0]\n\n width += offset[0]\n height += offset[1]\n }\n\n return {\n top,\n left,\n right,\n bottom,\n width,\n height,\n middle: left + (right - left) / 2,\n center: top + (bottom - top) / 2\n }\n}\n\nexport function getTargetProps (el) {\n return {\n top: 0,\n center: el.offsetHeight / 2,\n bottom: el.offsetHeight,\n left: 0,\n middle: el.offsetWidth / 2,\n right: el.offsetWidth\n }\n}\n\n// cfg: { el, anchorEl, anchorOrigin, selfOrigin, offset, absoluteOffset, cover, fit, maxHeight, maxWidth }\nexport function setPosition (cfg) {\n if (client.is.ios === true && window.visualViewport !== void 0) {\n // uses the q-position-engine CSS class\n\n const el = document.body.style\n const { offsetLeft: left, offsetTop: top } = window.visualViewport\n\n if (left !== vpLeft) {\n el.setProperty('--q-pe-left', left + 'px')\n vpLeft = left\n }\n if (top !== vpTop) {\n el.setProperty('--q-pe-top', top + 'px')\n vpTop = top\n }\n }\n\n let anchorProps\n\n // scroll position might change\n // if max-height/-width changes, so we\n // need to restore it after we calculate\n // the new positioning\n const { scrollLeft, scrollTop } = cfg.el\n\n if (cfg.absoluteOffset === void 0) {\n anchorProps = getAnchorProps(cfg.anchorEl, cfg.cover === true ? [0, 0] : cfg.offset)\n }\n else {\n const\n { top: anchorTop, left: anchorLeft } = cfg.anchorEl.getBoundingClientRect(),\n top = anchorTop + cfg.absoluteOffset.top,\n left = anchorLeft + cfg.absoluteOffset.left\n\n anchorProps = { top, left, width: 1, height: 1, right: left + 1, center: top, middle: left, bottom: top + 1 }\n }\n\n let elStyle = {\n maxHeight: cfg.maxHeight,\n maxWidth: cfg.maxWidth,\n visibility: 'visible'\n }\n\n if (cfg.fit === true || cfg.cover === true) {\n elStyle.minWidth = anchorProps.width + 'px'\n if (cfg.cover === true) {\n elStyle.minHeight = anchorProps.height + 'px'\n }\n }\n\n Object.assign(cfg.el.style, elStyle)\n\n const\n targetProps = getTargetProps(cfg.el),\n props = {\n top: anchorProps[cfg.anchorOrigin.vertical] - targetProps[cfg.selfOrigin.vertical],\n left: anchorProps[cfg.anchorOrigin.horizontal] - targetProps[cfg.selfOrigin.horizontal]\n }\n\n applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin)\n\n elStyle = {\n top: props.top + 'px',\n left: props.left + 'px'\n }\n\n if (props.maxHeight !== void 0) {\n elStyle.maxHeight = props.maxHeight + 'px'\n\n if (anchorProps.height > props.maxHeight) {\n elStyle.minHeight = elStyle.maxHeight\n }\n }\n if (props.maxWidth !== void 0) {\n elStyle.maxWidth = props.maxWidth + 'px'\n\n if (anchorProps.width > props.maxWidth) {\n elStyle.minWidth = elStyle.maxWidth\n }\n }\n\n Object.assign(cfg.el.style, elStyle)\n\n // restore scroll position\n if (cfg.el.scrollTop !== scrollTop) {\n cfg.el.scrollTop = scrollTop\n }\n if (cfg.el.scrollLeft !== scrollLeft) {\n cfg.el.scrollLeft = scrollLeft\n }\n}\n\nfunction applyBoundaries (props, anchorProps, targetProps, anchorOrigin, selfOrigin) {\n const\n currentHeight = targetProps.bottom,\n currentWidth = targetProps.right,\n margin = getScrollbarWidth(),\n innerHeight = window.innerHeight - margin,\n innerWidth = document.body.clientWidth\n\n if (props.top < 0 || props.top + currentHeight > innerHeight) {\n if (selfOrigin.vertical === 'center') {\n props.top = anchorProps[anchorOrigin.vertical] > innerHeight / 2\n ? Math.max(0, innerHeight - currentHeight)\n : 0\n props.maxHeight = Math.min(currentHeight, innerHeight)\n }\n else if (anchorProps[anchorOrigin.vertical] > innerHeight / 2) {\n const anchorY = Math.min(\n innerHeight,\n anchorOrigin.vertical === 'center'\n ? anchorProps.center\n : (anchorOrigin.vertical === selfOrigin.vertical ? anchorProps.bottom : anchorProps.top)\n )\n props.maxHeight = Math.min(currentHeight, anchorY)\n props.top = Math.max(0, anchorY - currentHeight)\n }\n else {\n props.top = Math.max(0, anchorOrigin.vertical === 'center'\n ? anchorProps.center\n : (anchorOrigin.vertical === selfOrigin.vertical ? anchorProps.top : anchorProps.bottom)\n )\n props.maxHeight = Math.min(currentHeight, innerHeight - props.top)\n }\n }\n\n if (props.left < 0 || props.left + currentWidth > innerWidth) {\n props.maxWidth = Math.min(currentWidth, innerWidth)\n if (selfOrigin.horizontal === 'middle') {\n props.left = anchorProps[anchorOrigin.horizontal] > innerWidth / 2\n ? Math.max(0, innerWidth - currentWidth)\n : 0\n }\n else if (anchorProps[anchorOrigin.horizontal] > innerWidth / 2) {\n const anchorX = Math.min(\n innerWidth,\n anchorOrigin.horizontal === 'middle'\n ? anchorProps.middle\n : (anchorOrigin.horizontal === selfOrigin.horizontal ? anchorProps.right : anchorProps.left)\n )\n props.maxWidth = Math.min(currentWidth, anchorX)\n props.left = Math.max(0, anchorX - props.maxWidth)\n }\n else {\n props.left = Math.max(0, anchorOrigin.horizontal === 'middle'\n ? anchorProps.middle\n : (anchorOrigin.horizontal === selfOrigin.horizontal ? anchorProps.left : anchorProps.right)\n )\n props.maxWidth = Math.min(currentWidth, innerWidth - props.left)\n }\n }\n}\n","import { isKeyCode } from './key-composition.js'\n\nconst handlers = []\nlet escDown = false\n\nexport default {\n __install () {\n this.__installed = true\n window.addEventListener('keydown', evt => {\n escDown = evt.keyCode === 27\n })\n window.addEventListener('blur', () => {\n escDown === true && (escDown = false)\n })\n window.addEventListener('keyup', evt => {\n if (escDown === true) {\n escDown = false\n\n if (handlers.length !== 0 && isKeyCode(evt, 27) === true) {\n handlers[handlers.length - 1].fn(evt)\n }\n }\n })\n },\n\n register (comp, fn) {\n if (comp.$q.platform.is.desktop === true) {\n this.__installed !== true && this.__install()\n handlers.push({ comp, fn })\n }\n },\n\n pop (comp) {\n if (comp.$q.platform.is.desktop === true) {\n const index = handlers.findIndex(h => h.comp === comp)\n if (index > -1) {\n handlers.splice(index, 1)\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport AnchorMixin from '../../mixins/anchor.js'\nimport ModelToggleMixin from '../../mixins/model-toggle.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport PortalMixin, { closePortalMenus } from '../../mixins/portal.js'\nimport TransitionMixin from '../../mixins/transition.js'\nimport AttrsMixin from '../../mixins/attrs.js'\nimport { client } from '../../plugins/Platform.js'\n\nimport ClickOutside from './ClickOutside.js'\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { create, stop, position, stopAndPreventClick } from '../../utils/event.js'\nimport EscapeKey from '../../utils/escape-key.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { addFocusFn } from '../../utils/focus-manager.js'\n\nimport {\n validatePosition, validateOffset, setPosition, parsePosition\n} from '../../utils/position-engine.js'\n\nexport default Vue.extend({\n name: 'QMenu',\n\n mixins: [\n AttrsMixin,\n DarkMixin,\n AnchorMixin,\n ModelToggleMixin,\n PortalMixin,\n TransitionMixin\n ],\n\n directives: {\n ClickOutside\n },\n\n props: {\n persistent: Boolean,\n autoClose: Boolean,\n separateClosePopup: Boolean,\n\n noRouteDismiss: Boolean,\n noRefocus: Boolean,\n noFocus: Boolean,\n\n fit: Boolean,\n cover: Boolean,\n\n square: Boolean,\n\n anchor: {\n type: String,\n validator: validatePosition\n },\n self: {\n type: String,\n validator: validatePosition\n },\n offset: {\n type: Array,\n validator: validateOffset\n },\n\n scrollTarget: {\n default: void 0\n },\n\n touchPosition: Boolean,\n\n maxHeight: {\n type: String,\n default: null\n },\n maxWidth: {\n type: String,\n default: null\n }\n },\n\n computed: {\n anchorOrigin () {\n return parsePosition(\n this.anchor || (\n this.cover === true ? 'center middle' : 'bottom start'\n ),\n this.$q.lang.rtl\n )\n },\n\n selfOrigin () {\n return this.cover === true\n ? this.anchorOrigin\n : parsePosition(this.self || 'top start', this.$q.lang.rtl)\n },\n\n menuClass () {\n return (this.square === true ? ' q-menu--square' : '') +\n (this.isDark === true ? ' q-menu--dark q-dark' : '')\n },\n\n hideOnRouteChange () {\n return this.persistent !== true &&\n this.noRouteDismiss !== true\n },\n\n onEvents () {\n const on = {\n ...this.qListeners,\n // stop propagating these events from children\n input: stop,\n 'popup-show': stop,\n 'popup-hide': stop\n }\n\n if (this.autoClose === true) {\n on.click = this.__onAutoClose\n }\n\n return on\n },\n\n attrs () {\n return {\n tabindex: -1,\n ...this.qAttrs\n }\n }\n },\n\n methods: {\n focus () {\n addFocusFn(() => {\n let node = this.__portal !== void 0 && this.__portal.$refs !== void 0\n ? this.__portal.$refs.inner\n : void 0\n\n if (node !== void 0 && node.contains(document.activeElement) !== true) {\n node = node.querySelector('[autofocus], [data-autofocus]') || node\n node.focus({ preventScroll: true })\n }\n })\n },\n\n __show (evt) {\n // IE can have null document.activeElement\n this.__refocusTarget = client.is.mobile !== true && this.noRefocus === false && document.activeElement !== null\n ? document.activeElement\n : void 0\n\n EscapeKey.register(this, () => {\n if (this.persistent !== true) {\n this.$emit('escape-key')\n this.hide()\n }\n })\n\n this.__showPortal()\n this.__configureScrollTarget()\n\n this.absoluteOffset = void 0\n\n if (evt !== void 0 && (this.touchPosition || this.contextMenu)) {\n const pos = position(evt)\n\n if (pos.left !== void 0) {\n const { top, left } = this.anchorEl.getBoundingClientRect()\n this.absoluteOffset = { left: pos.left - left, top: pos.top - top }\n }\n }\n\n if (this.unwatch === void 0) {\n this.unwatch = this.$watch(\n () => this.$q.screen.width + '|' + this.$q.screen.height + '|' + this.self + '|' + this.anchor + '|' + this.$q.lang.rtl,\n this.updatePosition\n )\n }\n\n this.$el.dispatchEvent(create('popup-show', { bubbles: true }))\n\n // IE can have null document.activeElement\n if (this.noFocus !== true && document.activeElement !== null) {\n document.activeElement.blur()\n }\n\n this.__nextTick(() => {\n this.updatePosition()\n this.noFocus !== true && this.focus()\n })\n\n this.__setTimeout(() => {\n // required in order to avoid the \"double-tap needed\" issue\n if (this.$q.platform.is.ios === true) {\n // if auto-close, then this click should\n // not close the menu\n this.__avoidAutoClose = this.autoClose\n this.__portal.$el.click()\n }\n\n this.updatePosition()\n this.__showPortal(true)\n this.$emit('show', evt)\n }, 300)\n },\n\n __hide (evt) {\n this.__anchorCleanup(true)\n\n // check null for IE\n if (\n this.__refocusTarget !== void 0 &&\n this.__refocusTarget !== null &&\n (\n // menu was hidden from code or ESC plugin\n evt === void 0 ||\n // menu was not closed from a mouse or touch clickOutside\n evt.qClickOutside !== true\n )\n ) {\n this.__refocusTarget.focus()\n this.__refocusTarget = void 0\n }\n\n this.$el.dispatchEvent(create('popup-hide', { bubbles: true }))\n\n this.__setTimeout(() => {\n this.__hidePortal()\n this.$emit('hide', evt)\n }, 300)\n },\n\n __anchorCleanup (hiding) {\n this.absoluteOffset = void 0\n\n if (this.unwatch !== void 0) {\n this.unwatch()\n this.unwatch = void 0\n }\n\n if (hiding === true || this.showing === true) {\n EscapeKey.pop(this)\n this.__unconfigureScrollTarget()\n }\n },\n\n __unconfigureScrollTarget () {\n if (this.__scrollTarget !== void 0) {\n this.__changeScrollEvent(this.__scrollTarget)\n this.__scrollTarget = void 0\n }\n },\n\n __configureScrollTarget () {\n if (this.anchorEl !== void 0 || this.scrollTarget !== void 0) {\n this.__scrollTarget = getScrollTarget(this.anchorEl, this.scrollTarget)\n this.__changeScrollEvent(this.__scrollTarget, this.updatePosition)\n }\n },\n\n __onAutoClose (e) {\n // if auto-close, then the ios double-tap fix which\n // issues a click should not close the menu\n if (this.__avoidAutoClose !== true) {\n closePortalMenus(this, e)\n this.qListeners.click !== void 0 && this.$emit('click', e)\n }\n else {\n this.__avoidAutoClose = false\n }\n },\n\n updatePosition () {\n if (this.anchorEl === void 0 || this.__portal === void 0) {\n return\n }\n\n const el = this.__portal.$el\n\n if (el.nodeType === 8) { // IE replaces the comment with delay\n setTimeout(this.updatePosition, 25)\n return\n }\n\n setPosition({\n el,\n offset: this.offset,\n anchorEl: this.anchorEl,\n anchorOrigin: this.anchorOrigin,\n selfOrigin: this.selfOrigin,\n absoluteOffset: this.absoluteOffset,\n fit: this.fit,\n cover: this.cover,\n maxHeight: this.maxHeight,\n maxWidth: this.maxWidth\n })\n },\n\n __onClickOutside (e) {\n if (this.persistent !== true && this.showing === true) {\n const targetClassList = e.target.classList\n\n closePortalMenus(this, e)\n if (\n // always prevent touch event\n e.type === 'touchstart' ||\n // prevent click if it's on a dialog backdrop\n targetClassList.contains('q-dialog__backdrop')\n ) {\n stopAndPreventClick(e)\n }\n return true\n }\n },\n\n __renderPortal (h) {\n return h('transition', {\n props: { name: this.transition }\n }, [\n this.showing === true ? h('div', {\n ref: 'inner',\n staticClass: 'q-menu q-position-engine scroll' + this.menuClass,\n class: this.contentClass,\n style: this.contentStyle,\n attrs: this.attrs,\n on: this.onEvents,\n directives: [{\n name: 'click-outside',\n value: this.__onClickOutside,\n arg: this.anchorEl\n }]\n }, slot(this, 'default')) : null\n ])\n }\n },\n\n mounted () {\n this.__processModelChange(this.value)\n },\n\n beforeDestroy () {\n this.__refocusTarget = void 0\n\n // When the menu is destroyed while open we can only emit the event on anchorEl\n if (this.showing === true && this.anchorEl !== void 0) {\n this.anchorEl.dispatchEvent(\n create('popup-hide', { bubbles: true })\n )\n }\n }\n})\n","import Vue from 'vue'\n\nimport BtnMixin from '../../mixins/btn.js'\nimport AttrsMixin from '../../mixins/attrs.js'\n\nimport QIcon from '../icon/QIcon.js'\nimport QBtn from '../btn/QBtn.js'\nimport QBtnGroup from '../btn-group/QBtnGroup.js'\nimport QMenu from '../menu/QMenu.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { stop } from '../../utils/event.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QBtnDropdown',\n\n mixins: [ BtnMixin, AttrsMixin ],\n\n inheritAttrs: false,\n\n props: {\n value: Boolean,\n split: Boolean,\n dropdownIcon: String,\n\n contentClass: [ Array, String, Object ],\n contentStyle: [ Array, String, Object ],\n\n cover: Boolean,\n persistent: Boolean,\n noRouteDismiss: Boolean,\n autoClose: Boolean,\n\n menuAnchor: {\n type: String,\n default: 'bottom end'\n },\n menuSelf: {\n type: String,\n default: 'top end'\n },\n menuOffset: Array,\n\n disableMainBtn: Boolean,\n disableDropdown: Boolean,\n\n noIconAnimation: Boolean\n },\n\n data () {\n return {\n showing: this.value\n }\n },\n\n watch: {\n value (val) {\n this.$refs.menu !== void 0 && this.$refs.menu[val ? 'show' : 'hide']()\n },\n\n split () {\n this.hide()\n }\n },\n\n render (h) {\n const label = slot(this, 'label', [])\n const attrs = {\n 'aria-expanded': this.showing === true ? 'true' : 'false',\n 'aria-haspopup': 'true'\n }\n\n if (\n this.disable === true ||\n (\n (this.split === false && this.disableMainBtn === true) ||\n this.disableDropdown === true\n )\n ) {\n attrs['aria-disabled'] = 'true'\n }\n\n const Arrow = [\n h(QIcon, {\n props: { name: this.dropdownIcon || this.$q.iconSet.arrow.dropdown },\n class: 'q-btn-dropdown__arrow' +\n (this.showing === true && this.noIconAnimation === false ? ' rotate-180' : '') +\n (this.split === false ? ' q-btn-dropdown__arrow-container' : '')\n })\n ]\n\n this.disableDropdown !== true && Arrow.push(\n h(QMenu, {\n ref: 'menu',\n props: {\n cover: this.cover,\n fit: true,\n persistent: this.persistent,\n noRouteDismiss: this.noRouteDismiss,\n autoClose: this.autoClose,\n anchor: this.menuAnchor,\n self: this.menuSelf,\n offset: this.menuOffset,\n contentClass: this.contentClass,\n contentStyle: this.contentStyle,\n separateClosePopup: true\n },\n on: cache(this, 'menu', {\n 'before-show': e => {\n this.showing = true\n this.$emit('before-show', e)\n },\n show: e => {\n this.$emit('show', e)\n this.$emit('input', true)\n },\n 'before-hide': e => {\n this.showing = false\n this.$emit('before-hide', e)\n },\n hide: e => {\n this.$emit('hide', e)\n this.$emit('input', false)\n }\n })\n }, slot(this, 'default'))\n )\n\n if (this.split === false) {\n return h(QBtn, {\n class: 'q-btn-dropdown q-btn-dropdown--simple',\n props: {\n ...this.$props,\n disable: this.disable === true || this.disableMainBtn === true,\n noWrap: true,\n round: false\n },\n attrs: {\n ...this.qAttrs,\n ...attrs\n },\n on: cache(this, 'nonSpl', {\n click: e => {\n this.$emit('click', e)\n }\n })\n }, label.concat(Arrow))\n }\n\n const Btn = h(QBtn, {\n class: 'q-btn-dropdown--current',\n props: {\n ...this.$props,\n disable: this.disable === true || this.disableMainBtn === true,\n noWrap: true,\n iconRight: this.iconRight,\n round: false\n },\n attrs: this.qAttrs,\n on: cache(this, 'spl', {\n click: e => {\n stop(e) // prevent showing the menu on click\n this.hide()\n this.$emit('click', e)\n }\n })\n }, label)\n\n return h(QBtnGroup, {\n props: {\n outline: this.outline,\n flat: this.flat,\n rounded: this.rounded,\n push: this.push,\n unelevated: this.unelevated,\n glossy: this.glossy,\n stretch: this.stretch\n },\n staticClass: 'q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item'\n }, [\n Btn,\n\n h(QBtn, {\n staticClass: 'q-btn-dropdown__arrow-container q-anchor--skip',\n attrs,\n props: {\n disable: this.disable === true || this.disableDropdown === true,\n outline: this.outline,\n flat: this.flat,\n rounded: this.rounded,\n push: this.push,\n size: this.size,\n color: this.color,\n textColor: this.textColor,\n dense: this.dense,\n ripple: this.ripple\n }\n }, Arrow)\n ])\n },\n\n methods: {\n toggle (evt) {\n this.$refs.menu && this.$refs.menu.toggle(evt)\n },\n\n show (evt) {\n this.$refs.menu && this.$refs.menu.show(evt)\n },\n\n hide (evt) {\n this.$refs.menu && this.$refs.menu.hide(evt)\n }\n },\n\n mounted () {\n this.value === true && this.show()\n }\n})\n","export default {\n props: {\n name: String\n },\n\n computed: {\n formAttrs () {\n return {\n type: 'hidden',\n name: this.name,\n value: this.value\n }\n }\n },\n\n methods: {\n __injectFormInput (child, action, className) {\n child[action](\n this.$createElement('input', {\n staticClass: 'hidden',\n class: className,\n attrs: this.formAttrs,\n domProps: this.formDomProps\n })\n )\n }\n }\n}\n\nexport const FormFieldMixin = {\n props: {\n name: String\n },\n\n computed: {\n nameProp () {\n return this.name || this.for\n }\n }\n}\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport QBtnGroup from '../btn-group/QBtnGroup.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\nimport FormMixin from '../../mixins/form.js'\nimport RippleMixin from '../../mixins/ripple.js'\n\nimport { slot, mergeSlot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QBtnToggle',\n\n mixins: [ ListenersMixin, RippleMixin, FormMixin ],\n\n props: {\n value: {\n required: true\n },\n\n options: {\n type: Array,\n required: true,\n validator: v => v.every(\n opt => ('label' in opt || 'icon' in opt || 'slot' in opt) && 'value' in opt\n )\n },\n\n // To avoid seeing the active raise shadow through the transparent button, give it a color (even white).\n color: String,\n textColor: String,\n toggleColor: {\n type: String,\n default: 'primary'\n },\n toggleTextColor: String,\n\n outline: Boolean,\n flat: Boolean,\n unelevated: Boolean,\n rounded: Boolean,\n push: Boolean,\n glossy: Boolean,\n\n size: String,\n padding: String,\n\n noCaps: Boolean,\n noWrap: Boolean,\n dense: Boolean,\n readonly: Boolean,\n disable: Boolean,\n\n stack: Boolean,\n stretch: Boolean,\n\n spread: Boolean,\n\n clearable: Boolean\n },\n\n computed: {\n hasActiveValue () {\n return this.options.find(opt => opt.value === this.value) !== void 0\n },\n\n formAttrs () {\n return {\n type: 'hidden',\n name: this.name,\n value: this.value\n }\n },\n\n btnOptions () {\n const mergeOption = (opt, key) => opt[key] === void 0 ? this[key] : opt[key]\n\n return this.options.map((opt, i) => ({\n slot: opt.slot,\n\n options: {\n key: i,\n class: opt.class,\n style: opt.style,\n on: {\n ...this.qListeners,\n click: e => this.__set(opt.value, opt, e)\n },\n attrs: {\n 'aria-pressed': opt.value === this.value ? 'true' : 'false',\n ...opt.attrs\n },\n props: {\n ...opt,\n slot: void 0,\n class: void 0,\n style: void 0,\n value: void 0,\n attrs: void 0,\n\n outline: this.outline,\n flat: this.flat,\n rounded: this.rounded,\n push: this.push,\n unelevated: this.unelevated,\n dense: this.dense,\n\n disable: this.disable === true || opt.disable === true,\n\n // Options that come from the button specific options first, then from general props\n color: opt.value === this.value ? mergeOption(opt, 'toggleColor') : mergeOption(opt, 'color'),\n textColor: opt.value === this.value ? mergeOption(opt, 'toggleTextColor') : mergeOption(opt, 'textColor'),\n noCaps: mergeOption(opt, 'noCaps') === true,\n noWrap: mergeOption(opt, 'noWrap') === true,\n\n size: mergeOption(opt, 'size'),\n padding: mergeOption(opt, 'padding'),\n ripple: mergeOption(opt, 'ripple'),\n stack: mergeOption(opt, 'stack') === true,\n stretch: mergeOption(opt, 'stretch') === true\n }\n }\n }))\n }\n },\n\n methods: {\n __set (value, opt, e) {\n if (this.readonly !== true) {\n if (this.value === value) {\n if (this.clearable === true) {\n this.$emit('input', null, null)\n this.$emit('clear')\n }\n }\n else {\n this.$emit('input', value, opt)\n }\n\n this.$emit('click', e)\n }\n }\n },\n\n render (h) {\n const child = this.btnOptions.map(opt => {\n return h(QBtn, { ...opt.options }, opt.slot !== void 0 ? slot(this, opt.slot) : void 0)\n })\n\n if (this.name !== void 0 && this.disable !== true && this.hasActiveValue === true) {\n this.__injectFormInput(child, 'push')\n }\n\n return h(QBtnGroup, {\n staticClass: 'q-btn-toggle',\n props: {\n outline: this.outline,\n flat: this.flat,\n rounded: this.rounded,\n push: this.push,\n stretch: this.stretch,\n unelevated: this.unelevated,\n glossy: this.glossy,\n spread: this.spread\n }\n }, mergeSlot(child, this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport TagMixin from '../../mixins/tag.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QCard',\n\n mixins: [ ListenersMixin, DarkMixin, TagMixin ],\n\n props: {\n square: Boolean,\n flat: Boolean,\n bordered: Boolean\n },\n\n computed: {\n classes () {\n return 'q-card' +\n (this.isDark === true ? ' q-card--dark q-dark' : '') +\n (this.bordered === true ? ' q-card--bordered' : '') +\n (this.square === true ? ' q-card--square no-border-radius' : '') +\n (this.flat === true ? ' q-card--flat no-shadow' : '')\n }\n },\n\n render (h) {\n return h(this.tag, {\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport TagMixin from '../../mixins/tag.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QCardSection',\n\n mixins: [ ListenersMixin, TagMixin ],\n\n props: {\n horizontal: Boolean\n },\n\n computed: {\n classes () {\n return 'q-card__section ' +\n `q-card__section--${this.horizontal === true ? 'horiz row no-wrap' : 'vert'}`\n }\n },\n\n render (h) {\n return h(this.tag, {\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport AlignMixin from '../../mixins/align.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QCardActions',\n\n mixins: [ ListenersMixin, AlignMixin ],\n\n props: {\n vertical: Boolean\n },\n\n computed: {\n classes () {\n return `q-card__actions--${this.vertical === true ? 'vert column' : 'horiz row'} ${this.alignClass}`\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-card__actions',\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","const directions = [ 'left', 'right', 'up', 'down', 'horizontal', 'vertical' ]\n\nconst modifiersAll = {\n left: true,\n right: true,\n up: true,\n down: true,\n horizontal: true,\n vertical: true,\n all: true\n}\n\nexport function getModifierDirections (mod) {\n const dir = {}\n\n directions.forEach(direction => {\n if (mod[direction]) {\n dir[direction] = true\n }\n })\n\n if (Object.keys(dir).length === 0) {\n return modifiersAll\n }\n\n if (dir.horizontal === true) {\n dir.left = dir.right = true\n }\n if (dir.vertical === true) {\n dir.up = dir.down = true\n }\n if (dir.left === true && dir.right === true) {\n dir.horizontal = true\n }\n if (dir.up === true && dir.down === true) {\n dir.vertical = true\n }\n if (dir.horizontal === true && dir.vertical === true) {\n dir.all = true\n }\n\n return dir\n}\n\nexport function shouldStart (evt, ctx) {\n return ctx.event === void 0 &&\n evt.target !== void 0 &&\n evt.target.draggable !== true &&\n typeof ctx.handler === 'function' &&\n evt.target.nodeName.toUpperCase() !== 'INPUT' &&\n (evt.qClonedBy === void 0 || evt.qClonedBy.indexOf(ctx.uid) === -1)\n}\n","import { client } from '../plugins/Platform.js'\nimport { getModifierDirections, shouldStart } from '../utils/touch.js'\nimport { addEvt, cleanEvt, position, leftClick, stopAndPrevent, preventDraggable, noop } from '../utils/event.js'\nimport { clearSelection } from '../utils/selection.js'\n\nfunction parseArg (arg) {\n // delta (min velocity -- dist / time)\n // mobile min distance on first move\n // desktop min distance until deciding if it's a swipe or not\n const data = [0.06, 6, 50]\n\n if (typeof arg === 'string' && arg.length) {\n arg.split(':').forEach((val, index) => {\n const v = parseFloat(val)\n v && (data[index] = v)\n })\n }\n\n return data\n}\n\nfunction destroy (el) {\n const ctx = el.__qtouchswipe\n\n if (ctx !== void 0) {\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n client.is.firefox === true && preventDraggable(el, false)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__qtouchswipe\n }\n}\n\nexport default {\n name: 'touch-swipe',\n\n bind (el, { value, arg, modifiers }) {\n if (el.__qtouchswipe !== void 0) {\n destroy(el)\n el.__qtouchswipe_destroyed = true\n }\n\n // early return, we don't need to do anything\n if (modifiers.mouse !== true && client.has.touch !== true) {\n return\n }\n\n const mouseCapture = modifiers.mouseCapture === true ? 'Capture' : ''\n\n const ctx = {\n handler: value,\n sensitivity: parseArg(arg),\n\n modifiers: modifiers,\n direction: getModifierDirections(modifiers),\n\n noop,\n\n mouseStart (evt) {\n if (shouldStart(evt, ctx) && leftClick(evt)) {\n addEvt(ctx, 'temp', [\n [ document, 'mousemove', 'move', `notPassive${mouseCapture}` ],\n [ document, 'mouseup', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt, true)\n }\n },\n\n touchStart (evt) {\n if (shouldStart(evt, ctx)) {\n const target = evt.target\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'notPassiveCapture' ],\n [ target, 'touchcancel', 'end', 'notPassiveCapture' ],\n [ target, 'touchend', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent) {\n client.is.firefox === true && preventDraggable(el, true)\n\n const pos = position(evt)\n\n ctx.event = {\n x: pos.left,\n y: pos.top,\n time: Date.now(),\n mouse: mouseEvent === true,\n dir: false\n }\n },\n\n move (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n if (ctx.event.dir !== false) {\n stopAndPrevent(evt)\n return\n }\n\n const time = Date.now() - ctx.event.time\n\n if (time === 0) {\n return\n }\n\n const\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n absX = Math.abs(distX),\n distY = pos.top - ctx.event.y,\n absY = Math.abs(distY)\n\n if (ctx.event.mouse !== true) {\n if (absX < ctx.sensitivity[1] && absY < ctx.sensitivity[1]) {\n ctx.end(evt)\n return\n }\n }\n else if (absX < ctx.sensitivity[2] && absY < ctx.sensitivity[2]) {\n return\n }\n\n const\n velX = absX / time,\n velY = absY / time\n\n if (\n ctx.direction.vertical === true &&\n absX < absY &&\n absX < 100 &&\n velY > ctx.sensitivity[0]\n ) {\n ctx.event.dir = distY < 0 ? 'up' : 'down'\n }\n\n if (\n ctx.direction.horizontal === true &&\n absX > absY &&\n absY < 100 &&\n velX > ctx.sensitivity[0]\n ) {\n ctx.event.dir = distX < 0 ? 'left' : 'right'\n }\n\n if (\n ctx.direction.up === true &&\n absX < absY &&\n distY < 0 &&\n absX < 100 &&\n velY > ctx.sensitivity[0]\n ) {\n ctx.event.dir = 'up'\n }\n\n if (\n ctx.direction.down === true &&\n absX < absY &&\n distY > 0 &&\n absX < 100 &&\n velY > ctx.sensitivity[0]\n ) {\n ctx.event.dir = 'down'\n }\n\n if (\n ctx.direction.left === true &&\n absX > absY &&\n distX < 0 &&\n absY < 100 &&\n velX > ctx.sensitivity[0]\n ) {\n ctx.event.dir = 'left'\n }\n\n if (\n ctx.direction.right === true &&\n absX > absY &&\n distX > 0 &&\n absY < 100 &&\n velX > ctx.sensitivity[0]\n ) {\n ctx.event.dir = 'right'\n }\n\n if (ctx.event.dir !== false) {\n stopAndPrevent(evt)\n\n if (ctx.event.mouse === true) {\n document.body.classList.add('no-pointer-events--children')\n document.body.classList.add('non-selectable')\n clearSelection()\n\n ctx.styleCleanup = withDelay => {\n ctx.styleCleanup = void 0\n\n document.body.classList.remove('non-selectable')\n\n const remove = () => {\n document.body.classList.remove('no-pointer-events--children')\n }\n\n if (withDelay === true) { setTimeout(remove, 50) }\n else { remove() }\n }\n }\n\n ctx.handler({\n evt,\n touch: ctx.event.mouse !== true,\n mouse: ctx.event.mouse,\n direction: ctx.event.dir,\n duration: time,\n distance: {\n x: absX,\n y: absY\n }\n })\n }\n else {\n ctx.end(evt)\n }\n },\n\n end (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n cleanEvt(ctx, 'temp')\n client.is.firefox === true && preventDraggable(el, false)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup(true)\n evt !== void 0 && ctx.event.dir !== false && stopAndPrevent(evt)\n\n ctx.event = void 0\n }\n }\n\n el.__qtouchswipe = ctx\n\n modifiers.mouse === true && addEvt(ctx, 'main', [\n [ el, 'mousedown', 'mouseStart', `passive${mouseCapture}` ]\n ])\n\n client.has.touch === true && addEvt(ctx, 'main', [\n [ el, 'touchstart', 'touchStart', `passive${modifiers.capture === true ? 'Capture' : ''}` ],\n [ el, 'touchmove', 'noop', `notPassiveCapture` ]\n ])\n },\n\n update (el, { oldValue, value }) {\n const ctx = el.__qtouchswipe\n if (ctx !== void 0 && oldValue !== value) {\n typeof value !== 'function' && ctx.end()\n ctx.handler = value\n }\n },\n\n unbind (el) {\n if (el.__qtouchswipe_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qtouchswipe_destroyed\n }\n }\n}\n","import Vue from 'vue'\n\nimport TouchSwipe from '../directives/TouchSwipe.js'\n\nimport ListenersMixin from './listeners.js'\n\nimport { stop } from '../utils/event.js'\nimport { slot } from '../utils/slot.js'\nimport cache, { cacheWithFn } from '../utils/cache.js'\n\nfunction getPanelWrapper (h) {\n return h('div', {\n staticClass: 'q-panel scroll',\n attrs: { role: 'tabpanel' },\n // stop propagation of content emitted @input\n // which would tamper with Panel's model\n on: cache(this, 'stop', { input: stop })\n }, slot(this, 'default'))\n}\n\nconst PanelWrapper = Vue.extend({\n render: getPanelWrapper\n})\n\nexport const PanelParentMixin = {\n mixins: [ ListenersMixin ],\n\n directives: {\n TouchSwipe\n },\n\n props: {\n value: {\n required: true\n },\n\n animated: Boolean,\n infinite: Boolean,\n swipeable: Boolean,\n vertical: Boolean,\n\n transitionPrev: String,\n transitionNext: String,\n\n keepAlive: Boolean,\n keepAliveInclude: [ String, Array, RegExp ],\n keepAliveExclude: [ String, Array, RegExp ],\n keepAliveMax: Number\n },\n\n data () {\n return {\n panelIndex: null,\n panelTransition: null\n }\n },\n\n computed: {\n panelDirectives () {\n if (this.swipeable === true) {\n return [{\n name: 'touch-swipe',\n value: this.__swipe,\n modifiers: {\n horizontal: this.vertical !== true,\n vertical: this.vertical,\n mouse: true\n }\n }]\n }\n },\n\n contentKey () {\n return typeof this.value === 'string' || typeof this.value === 'number'\n ? this.value\n : String(this.value)\n },\n\n transitionPrevComputed () {\n return this.transitionPrev || `slide-${this.vertical === true ? 'down' : 'right'}`\n },\n\n transitionNextComputed () {\n return this.transitionNext || `slide-${this.vertical === true ? 'up' : 'left'}`\n },\n\n keepAliveProps () {\n return {\n include: this.keepAliveInclude,\n exclude: this.keepAliveExclude,\n max: this.keepAliveMax\n }\n },\n\n needsUniqueWrapper () {\n return this.keepAliveInclude !== void 0 ||\n this.keepAliveExclude !== void 0\n }\n },\n\n watch: {\n value (newVal, oldVal) {\n const index = this.__isValidPanelName(newVal) === true\n ? this.__getPanelIndex(newVal)\n : -1\n\n if (this.__forcedPanelTransition !== true) {\n this.__updatePanelTransition(\n index === -1 ? 0 : (index < this.__getPanelIndex(oldVal) ? -1 : 1)\n )\n }\n\n if (this.panelIndex !== index) {\n this.panelIndex = index\n this.$emit('before-transition', newVal, oldVal)\n this.$nextTick(() => {\n this.$emit('transition', newVal, oldVal)\n })\n }\n }\n },\n\n methods: {\n next () {\n this.__go(1)\n },\n\n previous () {\n this.__go(-1)\n },\n\n goTo (name) {\n this.$emit('input', name)\n },\n\n __isValidPanelName (name) {\n return name !== void 0 && name !== null && name !== ''\n },\n\n __getPanelIndex (name) {\n return this.panels.findIndex(panel => {\n const opt = panel.componentOptions.propsData\n return opt.name === name &&\n opt.disable !== '' &&\n opt.disable !== true\n })\n },\n\n __getEnabledPanels () {\n return this.panels.filter(panel => {\n const opt = panel.componentOptions.propsData\n return opt.disable !== '' && opt.disable !== true\n })\n },\n\n __updatePanelTransition (direction) {\n const val = direction !== 0 && this.animated === true && this.panelIndex !== -1\n ? 'q-transition--' + (direction === -1 ? this.transitionPrevComputed : this.transitionNextComputed)\n : null\n\n if (this.panelTransition !== val) {\n this.panelTransition = val\n }\n },\n\n __go (direction, startIndex = this.panelIndex) {\n let index = startIndex + direction\n const slots = this.panels\n\n while (index > -1 && index < slots.length) {\n const opt = slots[index].componentOptions\n\n if (\n opt !== void 0 &&\n opt.propsData.disable !== '' &&\n opt.propsData.disable !== true\n ) {\n this.__updatePanelTransition(direction)\n this.__forcedPanelTransition = true\n this.$emit('input', slots[index].componentOptions.propsData.name)\n setTimeout(() => {\n this.__forcedPanelTransition = false\n })\n return\n }\n\n index += direction\n }\n\n if (this.infinite === true && slots.length > 0 && startIndex !== -1 && startIndex !== slots.length) {\n this.__go(direction, direction === -1 ? slots.length : -1)\n }\n },\n\n __swipe (evt) {\n const dir = this.vertical === true ? 'up' : 'left'\n this.__go((this.$q.lang.rtl === true ? -1 : 1) * (evt.direction === dir ? 1 : -1))\n },\n\n __updatePanelIndex () {\n const index = this.__getPanelIndex(this.value)\n\n if (this.panelIndex !== index) {\n this.panelIndex = index\n }\n\n return true\n },\n\n __getPanelContent (h) {\n if (this.panels.length === 0) {\n return\n }\n\n const panel = this.__isValidPanelName(this.value) &&\n this.__updatePanelIndex() &&\n this.panels[this.panelIndex]\n\n const content = this.keepAlive === true\n ? [\n h('keep-alive', { props: this.keepAliveProps }, [\n h(\n this.needsUniqueWrapper === true\n ? cacheWithFn(this, this.contentKey, () => Vue.extend({\n name: this.contentKey,\n render: getPanelWrapper\n }))\n : PanelWrapper,\n { key: this.contentKey },\n [ panel ]\n )\n ])\n ]\n : [\n h('div', {\n staticClass: 'q-panel scroll',\n key: this.contentKey,\n attrs: { role: 'tabpanel' },\n // stop propagation of content emitted @input\n // which would tamper with Panel's model\n on: cache(this, 'stop', { input: stop })\n }, [ panel ])\n ]\n\n return this.animated === true\n ? [\n h('transition', {\n props: {\n name: this.panelTransition\n }\n }, content)\n ]\n : content\n }\n },\n\n render (h) {\n this.panels = slot(this, 'default', []).filter(\n panel => panel !== void 0 &&\n panel.componentOptions !== void 0 &&\n panel.componentOptions.propsData !== void 0 &&\n this.__isValidPanelName(panel.componentOptions.propsData.name)\n )\n\n return this.__renderPanels(h)\n }\n}\n\nexport const PanelChildMixin = {\n mixins: [ ListenersMixin ],\n\n props: {\n name: {\n required: true\n },\n disable: Boolean\n }\n}\n","import History from '../history.js'\n\nlet fullscreenCounter = 0\n\nexport default {\n props: {\n fullscreen: Boolean,\n noRouteFullscreenExit: Boolean\n },\n\n data () {\n return {\n inFullscreen: false\n }\n },\n\n watch: {\n $route () {\n this.noRouteFullscreenExit !== true && this.exitFullscreen()\n },\n\n fullscreen (v) {\n if (this.inFullscreen !== v) {\n this.toggleFullscreen()\n }\n },\n\n inFullscreen (v) {\n this.$emit('update:fullscreen', v)\n this.$emit('fullscreen', v)\n }\n },\n\n methods: {\n toggleFullscreen () {\n if (this.inFullscreen === true) {\n this.exitFullscreen()\n }\n else {\n this.setFullscreen()\n }\n },\n\n setFullscreen () {\n if (this.inFullscreen === true) {\n return\n }\n\n this.inFullscreen = true\n this.container = this.$el.parentNode\n this.container.replaceChild(this.fullscreenFillerNode, this.$el)\n document.body.appendChild(this.$el)\n\n fullscreenCounter++\n\n if (fullscreenCounter === 1) {\n document.body.classList.add('q-body--fullscreen-mixin')\n }\n\n this.__historyFullscreen = {\n handler: this.exitFullscreen\n }\n History.add(this.__historyFullscreen)\n },\n\n exitFullscreen () {\n if (this.inFullscreen !== true) {\n return\n }\n\n if (this.__historyFullscreen !== void 0) {\n History.remove(this.__historyFullscreen)\n this.__historyFullscreen = void 0\n }\n this.container.replaceChild(this.$el, this.fullscreenFillerNode)\n this.inFullscreen = false\n\n fullscreenCounter = Math.max(0, fullscreenCounter - 1)\n\n if (fullscreenCounter === 0) {\n document.body.classList.remove('q-body--fullscreen-mixin')\n\n if (this.$el.scrollIntoView !== void 0) {\n setTimeout(() => { this.$el.scrollIntoView() })\n }\n }\n }\n },\n\n beforeMount () {\n this.fullscreenFillerNode = document.createElement('span')\n },\n\n mounted () {\n this.fullscreen === true && this.setFullscreen()\n },\n\n beforeDestroy () {\n this.exitFullscreen()\n }\n}\n","const\n hasMap = typeof Map === 'function',\n hasSet = typeof Set === 'function',\n hasArrayBuffer = typeof ArrayBuffer === 'function'\n\nexport function isDeepEqual (a, b) {\n if (a === b) {\n return true\n }\n\n if (a !== null && b !== null && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false\n }\n\n let length, i\n\n if (a.constructor === Array) {\n length = a.length\n\n if (length !== b.length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n if (isDeepEqual(a[i], b[i]) !== true) {\n return false\n }\n }\n\n return true\n }\n\n if (hasMap === true && a.constructor === Map) {\n if (a.size !== b.size) {\n return false\n }\n\n i = a.entries().next()\n while (i.done !== true) {\n if (b.has(i.value[0]) !== true) {\n return false\n }\n i = i.next()\n }\n\n i = a.entries().next()\n while (i.done !== true) {\n if (isDeepEqual(i.value[1], b.get(i.value[0])) !== true) {\n return false\n }\n i = i.next()\n }\n\n return true\n }\n\n if (hasSet === true && a.constructor === Set) {\n if (a.size !== b.size) {\n return false\n }\n\n i = a.entries().next()\n while (i.done !== true) {\n if (b.has(i.value[0]) !== true) {\n return false\n }\n i = i.next()\n }\n\n return true\n }\n\n if (hasArrayBuffer === true && a.buffer != null && a.buffer.constructor === ArrayBuffer) {\n length = a.length\n\n if (length !== b.length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) {\n return false\n }\n }\n\n return true\n }\n\n if (a.constructor === RegExp) {\n return a.source === b.source && a.flags === b.flags\n }\n\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf()\n }\n\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString()\n }\n\n const keys = Object.keys(a).filter(key => a[key] !== void 0)\n length = keys.length\n\n if (length !== Object.keys(b).filter(key => b[key] !== void 0).length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n const key = keys[i]\n if (isDeepEqual(a[key], b[key]) !== true) {\n return false\n }\n }\n\n return true\n }\n\n // true if both NaN, false otherwise\n return a !== a && b !== b // eslint-disable-line no-self-compare\n}\n\nexport function isPlainObject (v) {\n return Object.prototype.toString.call(v) === '[object Object]'\n}\n\nexport function isDate (v) {\n return Object.prototype.toString.call(v) === '[object Date]'\n}\n\nexport function isRegexp (v) {\n return Object.prototype.toString.call(v) === '[object RegExp]'\n}\n\nexport function isNumber (v) {\n return typeof v === 'number' && isFinite(v)\n}\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport { PanelParentMixin } from '../../mixins/panel.js'\nimport FullscreenMixin from '../../mixins/fullscreen.js'\n\nimport { isNumber } from '../../utils/is.js'\nimport { mergeSlot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QCarousel',\n\n mixins: [ DarkMixin, PanelParentMixin, FullscreenMixin ],\n\n props: {\n height: String,\n padding: Boolean,\n\n controlType: {\n type: String,\n validator: v => [ 'regular', 'flat', 'outline', 'push', 'unelevated' ].includes(v),\n default: 'flat'\n },\n controlColor: String,\n controlTextColor: String,\n\n autoplay: [ Number, Boolean ],\n\n arrows: Boolean,\n prevIcon: String,\n nextIcon: String,\n\n navigation: Boolean,\n navigationPosition: {\n type: String,\n validator: v => [ 'top', 'right', 'bottom', 'left' ].includes(v)\n },\n navigationIcon: String,\n navigationActiveIcon: String,\n\n thumbnails: Boolean\n },\n\n computed: {\n style () {\n if (this.inFullscreen !== true && this.height !== void 0) {\n return {\n height: this.height\n }\n }\n },\n\n direction () {\n return this.vertical === true ? 'vertical' : 'horizontal'\n },\n\n classes () {\n return `q-carousel q-panel-parent q-carousel--with${this.padding === true ? '' : 'out'}-padding` +\n (this.inFullscreen === true ? ' fullscreen' : '') +\n (this.isDark === true ? ' q-carousel--dark q-dark' : '') +\n (this.arrows === true ? ` q-carousel--arrows-${this.direction}` : '') +\n (this.navigation === true ? ` q-carousel--navigation-${this.navigationPositionComputed}` : '')\n },\n\n arrowIcons () {\n const ico = [\n this.prevIcon || this.$q.iconSet.carousel[this.vertical === true ? 'up' : 'left'],\n this.nextIcon || this.$q.iconSet.carousel[this.vertical === true ? 'down' : 'right']\n ]\n\n return this.vertical === false && this.$q.lang.rtl === true\n ? ico.reverse()\n : ico\n },\n\n navIcon () {\n return this.navigationIcon || this.$q.iconSet.carousel.navigationIcon\n },\n\n navActiveIcon () {\n return this.navigationActiveIcon || this.navIcon\n },\n\n navigationPositionComputed () {\n return this.navigationPosition || (this.vertical === true ? 'right' : 'bottom')\n },\n\n controlProps () {\n return {\n color: this.controlColor,\n textColor: this.controlTextColor,\n round: true,\n [ this.controlType ]: true,\n dense: true\n }\n },\n\n transitionPrevComputed () {\n return this.transitionPrev || `fade`\n },\n\n transitionNextComputed () {\n return this.transitionNext || `fade`\n }\n },\n\n watch: {\n value () {\n if (this.autoplay) {\n clearInterval(this.timer)\n this.__startTimer()\n }\n },\n\n autoplay (val) {\n if (val) {\n this.__startTimer()\n }\n else {\n clearInterval(this.timer)\n }\n }\n },\n\n methods: {\n __startTimer () {\n const duration = isNumber(this.autoplay) === true\n ? this.autoplay\n : 5000\n\n this.timer = setTimeout(\n duration >= 0 ? this.next : this.previous,\n Math.abs(duration)\n )\n },\n\n __getNavigationContainer (h, type, mapping) {\n return h('div', {\n class: 'q-carousel__control q-carousel__navigation no-wrap absolute flex' +\n ` q-carousel__navigation--${type} q-carousel__navigation--${this.navigationPositionComputed}` +\n (this.controlColor !== void 0 ? ` text-${this.controlColor}` : '')\n }, [\n h('div', {\n staticClass: 'q-carousel__navigation-inner flex flex-center no-wrap'\n }, this.__getEnabledPanels().map(mapping))\n ])\n },\n\n __getContent (h) {\n const node = []\n\n if (this.navigation === true) {\n const fn = this.$scopedSlots['navigation-icon'] !== void 0\n ? this.$scopedSlots['navigation-icon']\n : opts => h(QBtn, {\n key: 'nav' + opts.name,\n class: `q-carousel__navigation-icon q-carousel__navigation-icon--${opts.active === true ? '' : 'in'}active`,\n props: opts.btnProps,\n on: cache(this, 'nav#' + opts.name, { click: opts.onClick })\n })\n\n const maxIndex = this.panels.length - 1\n node.push(\n this.__getNavigationContainer(h, 'buttons', (panel, index) => {\n const name = panel.componentOptions.propsData.name\n const active = this.panelIndex === index\n\n return fn({\n index,\n maxIndex,\n name,\n active,\n btnProps: {\n icon: active === true ? this.navActiveIcon : this.navIcon,\n size: 'sm',\n ...this.controlProps\n },\n onClick: () => { this.goTo(name) }\n })\n })\n )\n }\n else if (this.thumbnails === true) {\n const color = this.controlColor !== void 0\n ? ` text-${this.controlColor}`\n : ''\n\n node.push(this.__getNavigationContainer(h, 'thumbnails', panel => {\n const slide = panel.componentOptions.propsData\n\n return h('img', {\n class: `q-carousel__thumbnail q-carousel__thumbnail--${slide.name === this.value ? '' : 'in'}active` + color,\n attrs: {\n src: slide.imgSrc\n },\n key: 'tmb#' + slide.name,\n on: cache(this, 'tmb#' + slide.name, { click: () => { this.goTo(slide.name) } })\n })\n }))\n }\n\n if (this.arrows === true && this.panelIndex >= 0) {\n if (this.infinite === true || this.panelIndex > 0) {\n node.push(\n h('div', {\n key: 'prev',\n staticClass: `q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${this.direction} absolute flex flex-center`\n }, [\n h(QBtn, {\n props: { icon: this.arrowIcons[0], ...this.controlProps },\n on: cache(this, 'prev', { click: this.previous })\n })\n ])\n )\n }\n\n if (this.infinite === true || this.panelIndex < this.panels.length - 1) {\n node.push(\n h('div', {\n key: 'next',\n staticClass: `q-carousel__control q-carousel__arrow q-carousel__next-arrow q-carousel__next-arrow--${this.direction} absolute flex flex-center`\n }, [\n h(QBtn, {\n props: { icon: this.arrowIcons[1], ...this.controlProps },\n on: cache(this, 'next', { click: this.next })\n })\n ])\n )\n }\n }\n\n return mergeSlot(node, this, 'control')\n },\n\n __renderPanels (h) {\n return h('div', {\n style: this.style,\n class: this.classes,\n on: { ...this.qListeners }\n }, [\n h('div', {\n staticClass: 'q-carousel__slides-container',\n directives: this.panelDirectives\n }, this.__getPanelContent(h))\n ].concat(this.__getContent(h)))\n }\n },\n\n mounted () {\n this.autoplay && this.__startTimer()\n },\n\n beforeDestroy () {\n clearInterval(this.timer)\n }\n})\n","import Vue from 'vue'\n\nimport { PanelChildMixin } from '../../mixins/panel.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QCarouselSlide',\n\n mixins: [ PanelChildMixin ],\n\n props: {\n imgSrc: String\n },\n\n computed: {\n style () {\n if (this.imgSrc) {\n return {\n backgroundImage: `url(\"${this.imgSrc}\")`\n }\n }\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-carousel__slide',\n style: this.style,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QCarouselControl',\n\n mixins: [ ListenersMixin ],\n\n props: {\n position: {\n type: String,\n default: 'bottom-right',\n validator: v => [\n 'top-right', 'top-left',\n 'bottom-right', 'bottom-left',\n 'top', 'right', 'bottom', 'left'\n ].includes(v)\n },\n offset: {\n type: Array,\n default: () => [18, 18],\n validator: v => v.length === 2\n }\n },\n\n computed: {\n classes () {\n return `absolute-${this.position}`\n },\n\n style () {\n return {\n margin: `${this.offset[1]}px ${this.offset[0]}px`\n }\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-carousel__control absolute',\n style: this.style,\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default Vue.extend({\n name: 'QChatMessage',\n\n mixins: [ ListenersMixin ],\n\n props: {\n sent: Boolean,\n label: String,\n bgColor: String,\n textColor: String,\n name: String,\n avatar: String,\n text: Array,\n stamp: String,\n size: String,\n labelSanitize: Boolean,\n nameSanitize: Boolean,\n textSanitize: Boolean,\n stampSanitize: Boolean\n },\n\n computed: {\n textClass () {\n return `q-message-text-content q-message-text-content--${this.op}` +\n (this.textColor !== void 0 ? ` text-${this.textColor}` : '')\n },\n\n messageClass () {\n return `q-message-text q-message-text--${this.op}` +\n (this.bgColor !== void 0 ? ` text-${this.bgColor}` : '')\n },\n\n containerClass () {\n return `q-message-container row items-end no-wrap` +\n (this.sent === true ? ' reverse' : '')\n },\n\n sizeClass () {\n if (this.size !== void 0) {\n return `col-${this.size}`\n }\n },\n\n op () {\n return this.sent === true ? 'sent' : 'received'\n }\n },\n\n methods: {\n __wrapStamp (h, node) {\n if (this.$scopedSlots.stamp !== void 0) {\n return [ node, h('div', { staticClass: 'q-message-stamp' }, this.$scopedSlots.stamp()) ]\n }\n\n if (this.stamp) {\n const domPropStamp = this.stampSanitize === true ? 'textContent' : 'innerHTML'\n\n return [\n node,\n h('div', {\n staticClass: 'q-message-stamp',\n domProps: { [domPropStamp]: this.stamp }\n })\n ]\n }\n\n return [ node ]\n },\n\n __getText (h, contentList, withSlots) {\n const domPropText = this.textSanitize === true ? 'textContent' : 'innerHTML'\n\n if (\n withSlots === true &&\n contentList.some(entry => entry.tag === void 0 && entry.text !== void 0) === true\n ) {\n return [\n h('div', { class: this.messageClass }, [\n h('div', { class: this.textClass }, this.__wrapStamp(h, h('div', contentList)))\n ])\n ]\n }\n\n const content = withSlots === true\n ? (contentList.length > 1 ? (text => text) : (text => h('div', [ text ])))\n : (text => h('div', { domProps: { [domPropText]: text } }))\n\n return contentList.map((msg, index) => h('div', {\n key: index,\n class: this.messageClass\n }, [\n h('div', { class: this.textClass }, this.__wrapStamp(h, content(msg)))\n ]))\n }\n },\n\n render (h) {\n const container = []\n\n if (this.$scopedSlots.avatar !== void 0) {\n container.push(this.$scopedSlots.avatar())\n }\n else if (this.avatar !== void 0) {\n container.push(\n h('img', {\n class: `q-message-avatar q-message-avatar--${this.op}`,\n attrs: { src: this.avatar, 'aria-hidden': 'true' }\n })\n )\n }\n\n const msg = []\n\n if (this.$scopedSlots.name !== void 0) {\n msg.push(\n h('div', {\n class: `q-message-name q-message-name--${this.op}`\n }, this.$scopedSlots.name())\n )\n }\n else if (this.name !== void 0) {\n msg.push(\n h('div', {\n class: `q-message-name q-message-name--${this.op}`,\n domProps: { [this.nameSanitize === true ? 'textContent' : 'innerHTML']: this.name }\n })\n )\n }\n\n this.text !== void 0 && msg.push(\n this.__getText(h, this.text)\n )\n\n this.$scopedSlots.default !== void 0 && msg.push(\n this.__getText(h, this.$scopedSlots.default(), true)\n )\n\n container.push(\n h('div', { class: this.sizeClass }, msg)\n )\n\n const child = []\n\n if (this.$scopedSlots.label !== void 0) {\n child.push(\n h('div', { staticClass: 'q-message-label' }, this.$scopedSlots.label())\n )\n }\n else if (this.label !== void 0) {\n child.push(\n h('div', {\n staticClass: 'q-message-label',\n domProps: { [this.labelSanitize === true ? 'textContent' : 'innerHTML']: this.label }\n })\n )\n }\n\n child.push(\n h('div', { class: this.containerClass }, container)\n )\n\n return h('div', {\n class: `q-message q-message-${this.op}`,\n on: { ...this.qListeners }\n }, child)\n }\n})\n","import { getSizeMixin } from './size.js'\n\nexport default getSizeMixin({\n xs: 30,\n sm: 35,\n md: 40,\n lg: 50,\n xl: 60\n})\n","export default {\n computed: {\n __refocusTargetEl () {\n if (this.disable !== true) {\n return this.$createElement('span', {\n ref: 'refocusTarget',\n staticClass: 'no-outline',\n attrs: { tabindex: -1 }\n })\n }\n }\n },\n\n methods: {\n __refocusTarget (e) {\n if (e !== void 0 && e.type.indexOf('key') === 0) {\n if (document.activeElement !== this.$el && this.$el.contains(document.activeElement) === true) {\n this.$el.focus()\n }\n }\n else if ((e === void 0 || this.$el.contains(e.target) === true) && this.$refs.refocusTarget !== void 0) {\n this.$refs.refocusTarget.focus()\n }\n }\n }\n}\n","import DarkMixin from './dark.js'\nimport { stopAndPrevent } from '../utils/event.js'\n\nimport FormMixin from './form.js'\nimport OptionSizeMixin from './option-size.js'\nimport RefocusTargetMixin from './refocus-target.js'\n\nimport { slot, mergeSlot } from '../utils/slot.js'\nimport cache from '../utils/cache.js'\n\nexport default {\n mixins: [ DarkMixin, OptionSizeMixin, FormMixin, RefocusTargetMixin ],\n\n props: {\n value: {\n required: true,\n default: null\n },\n val: {},\n\n trueValue: { default: true },\n falseValue: { default: false },\n indeterminateValue: { default: null },\n\n checkedIcon: String,\n uncheckedIcon: String,\n indeterminateIcon: String,\n\n toggleOrder: {\n type: String,\n validator: v => v === 'tf' || v === 'ft'\n },\n toggleIndeterminate: Boolean,\n\n label: String,\n leftLabel: Boolean,\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n disable: Boolean,\n tabindex: [String, Number]\n },\n\n computed: {\n isTrue () {\n return this.modelIsArray === true\n ? this.index > -1\n : this.value === this.trueValue\n },\n\n isFalse () {\n return this.modelIsArray === true\n ? this.index === -1\n : this.value === this.falseValue\n },\n\n isIndeterminate () {\n return this.isTrue === false && this.isFalse === false\n },\n\n index () {\n if (this.modelIsArray === true) {\n return this.value.indexOf(this.val)\n }\n },\n\n modelIsArray () {\n return this.val !== void 0 && Array.isArray(this.value)\n },\n\n computedTabindex () {\n return this.disable === true ? -1 : this.tabindex || 0\n },\n\n classes () {\n return `q-${this.type} cursor-pointer no-outline row inline no-wrap items-center` +\n (this.disable === true ? ' disabled' : '') +\n (this.isDark === true ? ` q-${this.type}--dark` : '') +\n (this.dense === true ? ` q-${this.type}--dense` : '') +\n (this.leftLabel === true ? ' reverse' : '')\n },\n\n innerClass () {\n const state = this.isTrue === true ? 'truthy' : (this.isFalse === true ? 'falsy' : 'indet')\n const color = this.color !== void 0 && (\n this.keepColor === true ||\n (this.type === 'toggle' ? this.isTrue === true : this.isFalse !== true)\n )\n ? ` text-${this.color}`\n : ''\n\n return `q-${this.type}__inner--${state}${color}`\n },\n\n formAttrs () {\n const prop = { type: 'checkbox' }\n\n this.name !== void 0 && Object.assign(prop, {\n checked: this.isTrue,\n name: this.name,\n value: this.modelIsArray === true\n ? this.val\n : this.trueValue\n })\n\n return prop\n },\n\n attrs () {\n const attrs = {\n tabindex: this.computedTabindex,\n role: 'checkbox',\n 'aria-label': this.label,\n 'aria-checked': this.isIndeterminate === true\n ? 'mixed'\n : (this.isTrue === true ? 'true' : 'false')\n }\n\n if (this.disable === true) {\n attrs['aria-disabled'] = 'true'\n }\n\n return attrs\n }\n },\n\n methods: {\n toggle (e) {\n if (e !== void 0) {\n stopAndPrevent(e)\n this.__refocusTarget(e)\n }\n\n if (this.disable !== true) {\n this.$emit('input', this.__getNextValue(), e)\n }\n },\n\n __getNextValue () {\n if (this.modelIsArray === true) {\n if (this.isTrue === true) {\n const val = this.value.slice()\n val.splice(this.index, 1)\n return val\n }\n\n return this.value.concat([ this.val ])\n }\n\n if (this.isTrue === true) {\n if (this.toggleOrder !== 'ft' || this.toggleIndeterminate === false) {\n return this.falseValue\n }\n }\n else if (this.isFalse === true) {\n if (this.toggleOrder === 'ft' || this.toggleIndeterminate === false) {\n return this.trueValue\n }\n }\n else {\n return this.toggleOrder !== 'ft'\n ? this.trueValue\n : this.falseValue\n }\n\n return this.indeterminateValue\n },\n\n __onKeydown (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n stopAndPrevent(e)\n }\n },\n\n __onKeyup (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n this.toggle(e)\n }\n }\n },\n\n render (h) {\n const inner = this.__getInner(h)\n\n this.disable !== true && this.__injectFormInput(\n inner,\n 'unshift',\n `q-${this.type}__native absolute q-ma-none q-pa-none`\n )\n\n const child = [\n h('div', {\n staticClass: `q-${this.type}__inner relative-position non-selectable`,\n class: this.innerClass,\n style: this.sizeStyle\n }, inner)\n ]\n\n if (this.__refocusTargetEl !== void 0) {\n child.push(this.__refocusTargetEl)\n }\n\n const label = this.label !== void 0\n ? mergeSlot([ this.label ], this, 'default')\n : slot(this, 'default')\n\n label !== void 0 && child.push(\n h('div', {\n staticClass: `q-${this.type}__label q-anchor--skip`\n }, label)\n )\n\n return h('div', {\n class: this.classes,\n attrs: this.attrs,\n on: cache(this, 'inpExt', {\n click: this.toggle,\n keydown: this.__onKeydown,\n keyup: this.__onKeyup\n })\n }, child)\n }\n}\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport CheckboxMixin from '../../mixins/checkbox.js'\n\nexport default Vue.extend({\n name: 'QCheckbox',\n\n mixins: [ CheckboxMixin ],\n\n computed: {\n computedIcon () {\n return this.isTrue === true\n ? this.checkedIcon\n : (this.isIndeterminate === true\n ? this.indeterminateIcon\n : this.uncheckedIcon\n )\n }\n },\n\n methods: {\n __getInner (h) {\n return this.computedIcon !== void 0\n ? [\n h('div', {\n key: 'icon',\n staticClass: 'q-checkbox__icon-container absolute flex flex-center no-wrap'\n }, [\n h(QIcon, {\n staticClass: 'q-checkbox__icon',\n props: { name: this.computedIcon }\n })\n ])\n ]\n : [\n h('div', {\n key: 'svg',\n staticClass: 'q-checkbox__bg absolute'\n }, [\n h('svg', {\n staticClass: 'q-checkbox__svg fit absolute-full',\n attrs: { focusable: 'false' /* needed for IE11 */, viewBox: '0 0 24 24', 'aria-hidden': 'true' }\n }, [\n h('path', {\n staticClass: 'q-checkbox__truthy',\n attrs: {\n fill: 'none',\n d: 'M1.73,12.91 8.1,19.28 22.79,4.59'\n }\n }),\n\n h('path', {\n staticClass: 'q-checkbox__indet',\n attrs: {\n d: 'M4,14H20V10H4'\n }\n })\n ])\n ])\n ]\n }\n },\n\n created () {\n this.type = 'checkbox'\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport RippleMixin from '../../mixins/ripple.js'\nimport { getSizeMixin } from '../../mixins/size.js'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { mergeSlotSafely } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QChip',\n\n mixins: [\n RippleMixin,\n DarkMixin,\n getSizeMixin({\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n })\n ],\n\n model: {\n event: 'remove'\n },\n\n props: {\n dense: Boolean,\n\n icon: String,\n iconRight: String,\n iconRemove: String,\n iconSelected: String,\n label: [String, Number],\n\n color: String,\n textColor: String,\n\n value: {\n type: Boolean,\n default: true\n },\n selected: {\n type: Boolean,\n default: null\n },\n\n square: Boolean,\n outline: Boolean,\n clickable: Boolean,\n removable: Boolean,\n\n tabindex: [String, Number],\n disable: Boolean\n },\n\n computed: {\n classes () {\n const text = this.outline === true\n ? this.color || this.textColor\n : this.textColor\n\n return {\n [`bg-${this.color}`]: this.outline === false && this.color !== void 0,\n [`text-${text} q-chip--colored`]: text,\n disabled: this.disable,\n 'q-chip--dense': this.dense,\n 'q-chip--outline': this.outline,\n 'q-chip--selected': this.selected,\n 'q-chip--clickable cursor-pointer non-selectable q-hoverable': this.isClickable,\n 'q-chip--square': this.square,\n 'q-chip--dark q-dark': this.isDark\n }\n },\n\n hasLeftIcon () {\n return this.selected === true || this.icon !== void 0\n },\n\n leftIcon () {\n return this.selected === true\n ? this.iconSelected || this.$q.iconSet.chip.selected\n : this.icon\n },\n\n removeIcon () {\n return this.iconRemove || this.$q.iconSet.chip.remove\n },\n\n isClickable () {\n return this.disable === false && (this.clickable === true || this.selected !== null)\n },\n\n attrs () {\n return this.disable === true\n ? { tabindex: -1, 'aria-disabled': 'true' }\n : { tabindex: this.tabindex || 0 }\n }\n },\n\n methods: {\n __onKeyup (e) {\n e.keyCode === 13 /* ENTER */ && this.__onClick(e)\n },\n\n __onClick (e) {\n if (!this.disable) {\n this.$emit('update:selected', !this.selected)\n this.$emit('click', e)\n }\n },\n\n __onRemove (e) {\n if (e.keyCode === void 0 || e.keyCode === 13) {\n stopAndPrevent(e)\n !this.disable && this.$emit('remove', false)\n }\n },\n\n __getContent (h) {\n const child = []\n\n this.isClickable === true && child.push(\n h('div', { staticClass: 'q-focus-helper' })\n )\n\n this.hasLeftIcon === true && child.push(\n h(QIcon, {\n staticClass: 'q-chip__icon q-chip__icon--left',\n props: { name: this.leftIcon }\n })\n )\n\n const label = this.label !== void 0\n ? [ h('div', { staticClass: 'ellipsis' }, [ this.label ]) ]\n : void 0\n\n child.push(\n h('div', {\n staticClass: 'q-chip__content col row no-wrap items-center q-anchor--skip'\n }, mergeSlotSafely(label, this, 'default'))\n )\n\n this.iconRight && child.push(\n h(QIcon, {\n staticClass: 'q-chip__icon q-chip__icon--right',\n props: { name: this.iconRight }\n })\n )\n\n this.removable === true && child.push(\n h(QIcon, {\n staticClass: 'q-chip__icon q-chip__icon--remove cursor-pointer',\n props: { name: this.removeIcon },\n attrs: this.attrs,\n on: cache(this, 'non', {\n click: this.__onRemove,\n keyup: this.__onRemove\n })\n })\n )\n\n return child\n }\n },\n\n render (h) {\n if (this.value === false) { return }\n\n const data = {\n staticClass: 'q-chip row inline no-wrap items-center',\n class: this.classes,\n style: this.sizeStyle\n }\n\n this.isClickable === true && Object.assign(data, {\n attrs: this.attrs,\n on: cache(this, 'click', {\n click: this.__onClick,\n keyup: this.__onKeyup\n }),\n directives: cache(this, 'dir#' + this.ripple, [\n { name: 'ripple', value: this.ripple }\n ])\n })\n\n return h('div', data, this.__getContent(h))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\nimport SizeMixin from '../../mixins/size.js'\nimport { mergeSlotSafely } from '../../utils/slot.js'\nimport { between } from '../../utils/format.js'\n\nconst\n radius = 50,\n diameter = 2 * radius,\n circumference = diameter * Math.PI,\n strokeDashArray = Math.round(circumference * 1000) / 1000\n\nexport default Vue.extend({\n name: 'QCircularProgress',\n\n mixins: [ ListenersMixin, SizeMixin ],\n\n props: {\n value: {\n type: Number,\n default: 0\n },\n\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n\n color: String,\n centerColor: String,\n trackColor: String,\n\n fontSize: String,\n\n // ratio\n thickness: {\n type: Number,\n default: 0.2,\n validator: v => v >= 0 && v <= 1\n },\n\n angle: {\n type: Number,\n default: 0\n },\n\n indeterminate: Boolean,\n showValue: Boolean,\n reverse: Boolean,\n\n instantFeedback: Boolean\n },\n\n computed: {\n normalizedValue () {\n return between(this.value, this.min, this.max)\n },\n\n svgStyle () {\n const angle = this.$q.lang.rtl === true ? -this.angle : this.angle\n\n return {\n transform: this.reverse !== (this.$q.lang.rtl === true)\n ? `scale3d(-1, 1, 1) rotate3d(0, 0, 1, ${-90 - angle}deg)`\n : `rotate3d(0, 0, 1, ${angle - 90}deg)`\n }\n },\n\n circleStyle () {\n if (this.instantFeedback !== true && this.indeterminate !== true) {\n return { transition: 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease' }\n }\n },\n\n viewBox () {\n return diameter / (1 - this.thickness / 2)\n },\n\n viewBoxAttr () {\n return `${this.viewBox / 2} ${this.viewBox / 2} ${this.viewBox} ${this.viewBox}`\n },\n\n strokeDashOffset () {\n const progress = 1 - (this.normalizedValue - this.min) / (this.max - this.min)\n return progress * circumference\n },\n\n strokeWidth () {\n return this.thickness / 2 * this.viewBox\n },\n\n attrs () {\n return {\n role: 'progressbar',\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.indeterminate === true ? void 0 : this.normalizedValue\n }\n }\n },\n\n methods: {\n __getCircle (h, { thickness, offset, color, cls }) {\n return h('circle', {\n staticClass: 'q-circular-progress__' + cls,\n class: color !== void 0 ? `text-${color}` : null,\n style: this.circleStyle,\n attrs: {\n fill: 'transparent',\n stroke: 'currentColor',\n 'stroke-width': thickness,\n 'stroke-dasharray': strokeDashArray,\n 'stroke-dashoffset': offset,\n cx: this.viewBox,\n cy: this.viewBox,\n r: radius\n }\n })\n }\n },\n\n render (h) {\n const svgChild = []\n\n this.centerColor !== void 0 && this.centerColor !== 'transparent' && svgChild.push(\n h('circle', {\n staticClass: 'q-circular-progress__center',\n class: `text-${this.centerColor}`,\n attrs: {\n fill: 'currentColor',\n r: radius - this.strokeWidth / 2,\n cx: this.viewBox,\n cy: this.viewBox\n }\n })\n )\n\n this.trackColor !== void 0 && this.trackColor !== 'transparent' && svgChild.push(\n this.__getCircle(h, {\n cls: 'track',\n thickness: this.strokeWidth,\n offset: 0,\n color: this.trackColor\n })\n )\n\n svgChild.push(\n this.__getCircle(h, {\n cls: 'circle',\n thickness: this.strokeWidth,\n offset: this.strokeDashOffset,\n color: this.color\n })\n )\n\n const child = [\n h('svg', {\n staticClass: 'q-circular-progress__svg',\n style: this.svgStyle,\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n viewBox: this.viewBoxAttr,\n 'aria-hidden': 'true'\n }\n }, svgChild)\n ]\n\n this.showValue === true && child.push(\n h('div', {\n staticClass: 'q-circular-progress__text absolute-full row flex-center content-center',\n style: { fontSize: this.fontSize }\n }, this.$scopedSlots.default !== void 0 ? this.$scopedSlots.default() : [ h('div', [ this.normalizedValue ]) ])\n )\n\n return h('div', {\n staticClass: 'q-circular-progress',\n class: `q-circular-progress--${this.indeterminate === true ? 'in' : ''}determinate`,\n style: this.sizeStyle,\n on: { ...this.qListeners },\n attrs: this.attrs\n }, mergeSlotSafely(child, this, 'internal'))\n }\n})\n","// file referenced from docs\n\nconst\n hex = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,\n hexa = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,\n hexOrHexa = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,\n rgb = /^rgb\\(((0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),){2}(0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5])\\)$/,\n rgba = /^rgba\\(((0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),){2}(0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),(0|0\\.[0-9]+[1-9]|0\\.[1-9]+|1)\\)$/\n\nexport const testPattern = {\n date: v => /^-?[\\d]+\\/[0-1]\\d\\/[0-3]\\d$/.test(v),\n time: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d$/.test(v),\n fulltime: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/.test(v),\n timeOrFulltime: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d(:[0-5]\\d)?$/.test(v),\n\n hexColor: v => hex.test(v),\n hexaColor: v => hexa.test(v),\n hexOrHexaColor: v => hexOrHexa.test(v),\n\n rgbColor: v => rgb.test(v),\n rgbaColor: v => rgba.test(v),\n rgbOrRgbaColor: v => rgb.test(v) || rgba.test(v),\n\n hexOrRgbColor: v => hex.test(v) || rgb.test(v),\n hexaOrRgbaColor: v => hexa.test(v) || rgba.test(v),\n anyColor: v => hexOrHexa.test(v) || rgb.test(v) || rgba.test(v)\n}\n\nexport default {\n testPattern\n}\n","import { client } from '../plugins/Platform.js'\nimport { getModifierDirections, shouldStart } from '../utils/touch.js'\nimport { addEvt, cleanEvt, position, leftClick, prevent, stop, stopAndPrevent, preventDraggable, noop } from '../utils/event.js'\nimport { clearSelection } from '../utils/selection.js'\n\nfunction getChanges (evt, ctx, isFinal) {\n const pos = position(evt)\n let\n dir,\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y,\n absX = Math.abs(distX),\n absY = Math.abs(distY)\n\n const direction = ctx.direction\n\n if (direction.horizontal === true && direction.vertical !== true) {\n dir = distX < 0 ? 'left' : 'right'\n }\n else if (direction.horizontal !== true && direction.vertical === true) {\n dir = distY < 0 ? 'up' : 'down'\n }\n else if (direction.up === true && distY < 0) {\n dir = 'up'\n if (absX > absY) {\n if (direction.left === true && distX < 0) {\n dir = 'left'\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n }\n }\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n if (absX > absY) {\n if (direction.left === true && distX < 0) {\n dir = 'left'\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n }\n }\n }\n else if (direction.left === true && distX < 0) {\n dir = 'left'\n if (absX < absY) {\n if (direction.up === true && distY < 0) {\n dir = 'up'\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n }\n }\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n if (absX < absY) {\n if (direction.up === true && distY < 0) {\n dir = 'up'\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n }\n }\n }\n\n let synthetic = false\n\n if (dir === void 0 && isFinal === false) {\n if (ctx.event.isFirst === true || ctx.event.lastDir === void 0) {\n return {}\n }\n\n dir = ctx.event.lastDir\n synthetic = true\n\n if (dir === 'left' || dir === 'right') {\n pos.left -= distX\n absX = 0\n distX = 0\n }\n else {\n pos.top -= distY\n absY = 0\n distY = 0\n }\n }\n\n return {\n synthetic,\n payload: {\n evt,\n touch: ctx.event.mouse !== true,\n mouse: ctx.event.mouse === true,\n position: pos,\n direction: dir,\n isFirst: ctx.event.isFirst,\n isFinal: isFinal === true,\n duration: Date.now() - ctx.event.time,\n distance: {\n x: absX,\n y: absY\n },\n offset: {\n x: distX,\n y: distY\n },\n delta: {\n x: pos.left - ctx.event.lastX,\n y: pos.top - ctx.event.lastY\n }\n }\n }\n}\n\nfunction destroy (el) {\n const ctx = el.__qtouchpan\n if (ctx !== void 0) {\n // emit the end event when the directive is destroyed while active\n // this is only needed in TouchPan because the rest of the touch directives do not emit an end event\n // the condition is also checked in the start of function but we avoid the call\n ctx.event !== void 0 && ctx.end()\n\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n client.is.firefox === true && preventDraggable(el, false)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__qtouchpan\n }\n}\n\nlet uid = 0\n\nexport default {\n name: 'touch-pan',\n\n bind (el, { value, modifiers }) {\n if (el.__qtouchpan !== void 0) {\n destroy(el)\n el.__qtouchpan_destroyed = true\n }\n\n // early return, we don't need to do anything\n if (modifiers.mouse !== true && client.has.touch !== true) {\n return\n }\n\n function handleEvent (evt, mouseEvent) {\n if (modifiers.mouse === true && mouseEvent === true) {\n stopAndPrevent(evt)\n }\n else {\n modifiers.stop === true && stop(evt)\n modifiers.prevent === true && prevent(evt)\n }\n }\n\n const ctx = {\n uid: 'qvtp_' + (uid++),\n handler: value,\n modifiers,\n direction: getModifierDirections(modifiers),\n\n noop,\n\n mouseStart (evt) {\n if (shouldStart(evt, ctx) && leftClick(evt)) {\n addEvt(ctx, 'temp', [\n [ document, 'mousemove', 'move', 'notPassiveCapture' ],\n [ document, 'mouseup', 'end', 'passiveCapture' ]\n ])\n\n ctx.start(evt, true)\n }\n },\n\n touchStart (evt) {\n if (shouldStart(evt, ctx)) {\n const target = evt.target\n\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'notPassiveCapture' ],\n [ target, 'touchcancel', 'end', 'passiveCapture' ],\n [ target, 'touchend', 'end', 'passiveCapture' ]\n ])\n\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent) {\n client.is.firefox === true && preventDraggable(el, true)\n ctx.lastEvt = evt\n\n const pos = position(evt)\n\n /*\n * Stop propagation so possible upper v-touch-pan don't catch this as well;\n * If we're not the target (based on modifiers), we'll re-emit the event later\n */\n if (mouseEvent === true || modifiers.stop === true) {\n /*\n * are we directly switching to detected state?\n * clone event only otherwise\n */\n if (\n ctx.direction.all !== true &&\n (mouseEvent !== true || ctx.direction.mouseAllDir !== true)\n ) {\n const clone = evt.type.indexOf('mouse') > -1\n ? new MouseEvent(evt.type, evt)\n : new TouchEvent(evt.type, evt)\n\n evt.defaultPrevented === true && prevent(clone)\n evt.cancelBubble === true && stop(clone)\n\n clone.qClonedBy = evt.qClonedBy === void 0\n ? [ctx.uid]\n : evt.qClonedBy.concat(ctx.uid)\n clone.qKeyEvent = evt.qKeyEvent\n clone.qClickOutside = evt.qClickOutside\n\n ctx.initialEvent = {\n target: evt.target,\n event: clone\n }\n }\n\n stop(evt)\n }\n\n ctx.event = {\n x: pos.left,\n y: pos.top,\n time: Date.now(),\n mouse: mouseEvent === true,\n detected: false,\n isFirst: true,\n isFinal: false,\n lastX: pos.left,\n lastY: pos.top\n }\n },\n\n move (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n ctx.lastEvt = evt\n\n const isMouseEvt = ctx.event.mouse === true\n const start = () => {\n handleEvent(evt, isMouseEvt)\n\n if (modifiers.preserveCursor !== true) {\n document.documentElement.style.cursor = 'grabbing'\n }\n isMouseEvt === true && document.body.classList.add('no-pointer-events--children')\n document.body.classList.add('non-selectable')\n clearSelection()\n\n ctx.styleCleanup = withDelayedFn => {\n ctx.styleCleanup = void 0\n\n if (modifiers.preserveCursor !== true) {\n document.documentElement.style.cursor = ''\n }\n document.body.classList.remove('non-selectable')\n\n if (isMouseEvt === true) {\n const remove = () => {\n document.body.classList.remove('no-pointer-events--children')\n }\n\n if (withDelayedFn !== void 0) {\n setTimeout(() => {\n remove()\n withDelayedFn()\n }, 50)\n }\n else { remove() }\n }\n else if (withDelayedFn !== void 0) {\n withDelayedFn()\n }\n }\n }\n\n if (ctx.event.detected === true) {\n ctx.event.isFirst !== true && handleEvent(evt, ctx.event.mouse)\n\n const { payload, synthetic } = getChanges(evt, ctx, false)\n\n if (payload !== void 0) {\n if (ctx.handler(payload) === false) {\n ctx.end(evt)\n }\n else {\n if (ctx.styleCleanup === void 0 && ctx.event.isFirst === true) {\n start()\n }\n\n ctx.event.lastX = payload.position.left\n ctx.event.lastY = payload.position.top\n ctx.event.lastDir = synthetic === true ? void 0 : payload.direction\n ctx.event.isFirst = false\n }\n }\n\n return\n }\n\n if (\n ctx.direction.all === true ||\n (isMouseEvt === true && ctx.modifiers.mouseAllDir === true)\n ) {\n start()\n ctx.event.detected = true\n ctx.move(evt)\n return\n }\n\n const\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y,\n absX = Math.abs(distX),\n absY = Math.abs(distY)\n\n if (absX !== absY) {\n if (\n (ctx.direction.horizontal === true && absX > absY) ||\n (ctx.direction.vertical === true && absX < absY) ||\n (ctx.direction.up === true && absX < absY && distY < 0) ||\n (ctx.direction.down === true && absX < absY && distY > 0) ||\n (ctx.direction.left === true && absX > absY && distX < 0) ||\n (ctx.direction.right === true && absX > absY && distX > 0)\n ) {\n ctx.event.detected = true\n ctx.move(evt)\n }\n else {\n ctx.end(evt, true)\n }\n }\n },\n\n end (evt, abort) {\n if (ctx.event === void 0) {\n return\n }\n\n cleanEvt(ctx, 'temp')\n client.is.firefox === true && preventDraggable(el, false)\n\n if (abort === true) {\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n if (ctx.event.detected !== true && ctx.initialEvent !== void 0) {\n ctx.initialEvent.target.dispatchEvent(ctx.initialEvent.event)\n }\n }\n else if (ctx.event.detected === true) {\n ctx.event.isFirst === true && ctx.handler(getChanges(evt === void 0 ? ctx.lastEvt : evt, ctx).payload)\n\n const { payload } = getChanges(evt === void 0 ? ctx.lastEvt : evt, ctx, true)\n const fn = () => { ctx.handler(payload) }\n\n if (ctx.styleCleanup !== void 0) {\n ctx.styleCleanup(fn)\n }\n else {\n fn()\n }\n }\n\n ctx.event = void 0\n ctx.initialEvent = void 0\n ctx.lastEvt = void 0\n }\n }\n\n el.__qtouchpan = ctx\n\n modifiers.mouse === true && addEvt(ctx, 'main', [\n [ el, 'mousedown', 'mouseStart', `passive${modifiers.mouseCapture === true ? 'Capture' : ''}` ]\n ])\n\n client.has.touch === true && addEvt(ctx, 'main', [\n [ el, 'touchstart', 'touchStart', `passive${modifiers.capture === true ? 'Capture' : ''}` ],\n [ el, 'touchmove', 'noop', 'notPassiveCapture' ]\n ])\n },\n\n update (el, { oldValue, value }) {\n const ctx = el.__qtouchpan\n if (ctx !== void 0 && oldValue !== value) {\n typeof value !== 'function' && ctx.end()\n ctx.handler = value\n }\n },\n\n unbind (el) {\n if (el.__qtouchpan_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qtouchpan_destroyed\n }\n }\n}\n","import TouchPan from '../../directives/TouchPan.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport FormMixin from '../../mixins/form.js'\n\nimport { between } from '../../utils/format.js'\nimport { position } from '../../utils/event.js'\nimport { isNumber, isPlainObject } from '../../utils/is.js'\n\nconst markerPrefixClass = 'q-slider__marker-labels'\nconst defaultMarkerConvertFn = v => ({ value: v })\n\n// PGDOWN, LEFT, DOWN, PGUP, RIGHT, UP\nexport const keyCodes = [ 34, 37, 40, 33, 39, 38 ]\n\nexport const SliderMixin = {\n mixins: [ DarkMixin, FormMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n innerMin: Number,\n innerMax: Number,\n\n step: {\n type: Number,\n default: 1,\n validator: v => v >= 0\n },\n\n snap: Boolean,\n\n vertical: Boolean,\n reverse: Boolean,\n\n hideSelection: Boolean,\n\n color: String,\n markerLabelsClass: String,\n\n label: Boolean,\n labelColor: String,\n labelTextColor: String,\n labelAlways: Boolean,\n switchLabelSide: Boolean,\n\n markers: [ Boolean, Number ],\n markerLabels: [ Boolean, Array, Object, Function ],\n switchMarkerLabelsSide: Boolean,\n\n trackImg: String,\n trackColor: String,\n innerTrackImg: String,\n innerTrackColor: String,\n selectionColor: String,\n selectionImg: String,\n\n thumbSize: {\n type: String,\n default: '20px'\n },\n trackSize: {\n type: String,\n default: '4px'\n },\n\n disable: Boolean,\n readonly: Boolean,\n dense: Boolean,\n\n tabindex: [ String, Number ],\n\n thumbColor: String,\n thumbPath: {\n type: String,\n default: 'M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0'\n }\n },\n\n data () {\n return {\n active: false,\n preventFocus: false,\n focus: false,\n dragging: false\n }\n },\n\n computed: {\n axis () {\n return this.vertical === true ? '--v' : '--h'\n },\n\n labelSide () {\n return '-' + (this.switchLabelSide === true ? 'switched' : 'standard')\n },\n\n isReversed () {\n return this.vertical === true\n ? this.reverse === true\n : this.reverse !== (this.$q.lang.rtl === true)\n },\n\n computedInnerMin () {\n return this.__getInnerMin(this.innerMin)\n },\n\n computedInnerMax () {\n return this.__getInnerMax(this.innerMax)\n },\n\n editable () {\n return this.disable !== true && this.readonly !== true &&\n this.computedInnerMin < this.computedInnerMax\n },\n\n computedDecimals () {\n return (String(this.step).trim('0').split('.')[ 1 ] || '').length\n },\n\n computedStep () {\n return this.step === 0 ? 1 : this.step\n },\n\n computedTabindex () {\n return this.editable === true ? this.tabindex || 0 : -1\n },\n\n trackLen () {\n return this.max - this.min\n },\n\n innerBarLen () {\n return this.computedInnerMax - this.computedInnerMin\n },\n\n innerMinRatio () {\n return this.__convertModelToRatio(this.computedInnerMin)\n },\n\n innerMaxRatio () {\n return this.__convertModelToRatio(this.computedInnerMax)\n },\n\n positionProp () {\n return this.vertical === true\n ? (this.isReversed === true ? 'bottom' : 'top')\n : (this.isReversed === true ? 'right' : 'left')\n },\n\n sizeProp () {\n return this.vertical === true ? 'height' : 'width'\n },\n\n thicknessProp () {\n return this.vertical === true ? 'width' : 'height'\n },\n\n orientation () {\n return this.vertical === true ? 'vertical' : 'horizontal'\n },\n\n attributes () {\n const acc = {\n role: 'slider',\n 'aria-valuemin': this.computedInnerMin,\n 'aria-valuemax': this.computedInnerMax,\n 'aria-orientation': this.orientation,\n 'data-step': this.step\n }\n\n if (this.disable === true) {\n acc[ 'aria-disabled' ] = 'true'\n }\n else if (this.readonly === true) {\n acc[ 'aria-readonly' ] = 'true'\n }\n\n return acc\n },\n\n classes () {\n return `q-slider q-slider${this.axis} q-slider--${this.active === true ? '' : 'in'}active inline no-wrap ` +\n (this.vertical === true ? 'row' : 'column') +\n (this.disable === true ? ' disabled' : ' q-slider--enabled' + (this.editable === true ? ' q-slider--editable' : '')) +\n (this.focus === 'both' ? ' q-slider--focus' : '') +\n (this.label || this.labelAlways === true ? ' q-slider--label' : '') +\n (this.labelAlways === true ? ' q-slider--label-always' : '') +\n (this.isDark === true ? ' q-slider--dark' : '') +\n (this.dense === true ? ' q-slider--dense q-slider--dense' + this.axis : '')\n },\n\n selectionBarClass () {\n const color = this.selectionColor || this.color\n return 'q-slider__selection absolute' +\n (color !== void 0 ? ` text-${color}` : '')\n },\n\n markerClass () {\n return this.__getAxisClass('markers') + ' absolute overflow-hidden'\n },\n trackContainerClass () {\n return this.__getAxisClass('track-container')\n },\n pinClass () {\n return this.__getPositionClass('pin')\n },\n labelClass () {\n return this.__getPositionClass('label')\n },\n textContainerClass () {\n return this.__getPositionClass('text-container')\n },\n markerLabelsContainerClass () {\n return this.__getPositionClass('marker-labels-container') +\n (this.markerLabelsClass !== void 0 ? ` ${this.markerLabelsClass}` : '')\n },\n\n trackClass () {\n return 'q-slider__track relative-position no-outline' +\n (this.trackColor !== void 0 ? ` bg-${this.trackColor}` : '')\n },\n trackStyle () {\n const acc = { [ this.thicknessProp ]: this.trackSize }\n if (this.trackImg !== void 0) {\n acc.backgroundImage = `url(${this.trackImg}) !important`\n }\n return acc\n },\n\n innerBarClass () {\n return 'q-slider__inner absolute' +\n (this.innerTrackColor !== void 0 ? ` bg-${this.innerTrackColor}` : '')\n },\n\n innerBarStyle () {\n const acc = {\n [ this.positionProp ]: `${100 * this.innerMinRatio}%`,\n [ this.sizeProp ]: `${100 * (this.innerMaxRatio - this.innerMinRatio)}%`\n }\n if (this.innerTrackImg !== void 0) {\n acc.backgroundImage = `url(${this.innerTrackImg}) !important`\n }\n return acc\n },\n\n markerStep () {\n return isNumber(this.markers) === true ? this.markers : this.computedStep\n },\n\n markerTicks () {\n const acc = []\n const step = this.markerStep\n\n let value = this.min\n do {\n acc.push(value)\n value += step\n } while (value < this.max)\n\n acc.push(this.max)\n return acc\n },\n\n markerLabelClass () {\n const prefix = ` ${markerPrefixClass}${this.axis}-`\n return markerPrefixClass +\n `${prefix}${this.switchMarkerLabelsSide === true ? 'switched' : 'standard'}` +\n `${prefix}${this.isReversed === true ? 'rtl' : 'ltr'}`\n },\n\n markerLabelsList () {\n if (this.markerLabels === false) { return null }\n\n return this.__getMarkerList(this.markerLabels).map((entry, index) => ({\n index,\n value: entry.value,\n label: entry.label || entry.value,\n classes: this.markerLabelClass +\n (entry.classes !== void 0 ? ' ' + entry.classes : ''),\n style: {\n ...this.__getMarkerLabelStyle(entry.value),\n ...(entry.style || {})\n }\n }))\n },\n\n markerScope () {\n return {\n markerList: this.markerLabelsList,\n markerMap: this.markerLabelsMap,\n classes: this.markerLabelClass,\n getStyle: this.__getMarkerLabelStyle\n }\n },\n\n markerStyle () {\n if (this.innerBarLen !== 0) {\n const size = 100 * this.markerStep / this.innerBarLen\n\n return {\n ...this.innerBarStyle,\n backgroundSize: this.vertical === true\n ? `2px ${size}%`\n : `${size}% 2px`\n }\n }\n\n return null\n },\n\n markerLabelsMap () {\n if (this.markerLabels === false) { return null }\n\n const acc = {}\n this.markerLabelsList.forEach(entry => {\n acc[ entry.value ] = entry\n })\n return acc\n },\n\n panDirectives () {\n return this.editable === true\n ? [{\n name: 'touch-pan',\n value: this.__onPan,\n modifiers: {\n [ this.orientation ]: true,\n prevent: true,\n stop: true,\n mouse: true,\n mouseAllDir: true\n }\n }]\n : null\n }\n },\n\n methods: {\n __getInnerMin (val) {\n return isNaN(val) === true || this.innerMin < this.min\n ? this.min\n : this.innerMin\n },\n\n __getInnerMax (val) {\n return isNaN(val) === true || val > this.max\n ? this.max\n : this.innerMax\n },\n\n __getPositionClass (name) {\n const cls = 'q-slider__' + name\n return `${cls} ${cls}${this.axis} ${cls}${this.axis}${this.labelSide}`\n },\n\n __getAxisClass (name) {\n const cls = 'q-slider__' + name\n return `${cls} ${cls}${this.axis}`\n },\n\n __convertRatioToModel (ratio) {\n let model = this.min + ratio * (this.max - this.min)\n\n if (this.step > 0) {\n const modulo = (model - this.min) % this.step\n model += (Math.abs(modulo) >= this.step / 2 ? (modulo < 0 ? -1 : 1) * this.step : 0) - modulo\n }\n\n if (this.computedDecimals > 0) {\n model = parseFloat(model.toFixed(this.computedDecimals))\n }\n\n return between(model, this.computedInnerMin, this.computedInnerMax)\n },\n\n __convertModelToRatio (model) {\n return this.trackLen === 0\n ? 0\n : (model - this.min) / this.trackLen\n },\n\n __getDraggingRatio (evt, dragging) {\n const\n pos = position(evt),\n val = this.vertical === true\n ? between((pos.top - dragging.top) / dragging.height, 0, 1)\n : between((pos.left - dragging.left) / dragging.width, 0, 1)\n\n return between(\n this.isReversed === true ? 1.0 - val : val,\n this.innerMinRatio,\n this.innerMaxRatio\n )\n },\n\n __getMarkerList (def) {\n if (def === false) { return null }\n\n if (def === true) {\n return this.markerTicks.map(defaultMarkerConvertFn)\n }\n\n if (typeof def === 'function') {\n return this.markerTicks.map(value => {\n const item = def(value)\n return isPlainObject(item) === true ? { ...item, value } : { value, label: item }\n })\n }\n\n const filterFn = ({ value }) => value >= this.min && value <= this.max\n\n if (Array.isArray(def) === true) {\n return def\n .map(item => (isPlainObject(item) === true ? item : { value: item }))\n .filter(filterFn)\n }\n\n return Object.keys(def).map(key => {\n const item = def[ key ]\n const value = Number(key)\n return isPlainObject(item) === true ? { ...item, value } : { value, label: item }\n }).filter(filterFn)\n },\n\n __getMarkerLabelStyle (val) {\n return { [ this.positionProp ]: `${100 * (val - this.min) / this.trackLen}%` }\n },\n\n __getMarkerLabelsContent (h) {\n if (this.$scopedSlots[ 'marker-label-group' ] !== void 0) {\n return this.$scopedSlots[ 'marker-label-group' ](this.markerScope)\n }\n\n const fn = this.$scopedSlots[ 'marker-label' ]\n if (fn !== void 0) {\n return this.markerLabelsList.map(marker => fn({\n marker,\n ...this.markerScope\n }))\n }\n\n return this.markerLabelsList.map(marker => h('div', {\n key: marker.value,\n style: marker.style,\n class: marker.classes\n }, marker.label))\n },\n\n __onPan (event) {\n if (event.isFinal === true) {\n if (this.dragging !== void 0) {\n this.__updatePosition(event.evt)\n // only if touch, because we also have mousedown/up:\n event.touch === true && this.__updateValue(true)\n this.dragging = void 0\n this.$emit('pan', 'end')\n }\n this.active = false\n this.focus = false\n }\n else if (event.isFirst === true) {\n this.dragging = this.__getDragging(event.evt)\n this.__updatePosition(event.evt)\n this.__updateValue()\n this.active = true\n this.$emit('pan', 'start')\n }\n else {\n this.__updatePosition(event.evt)\n this.__updateValue()\n }\n },\n\n __onBlur () {\n this.focus = false\n },\n\n __onActivate (evt) {\n this.__updatePosition(evt, this.__getDragging(evt))\n this.__updateValue()\n\n this.preventFocus = true\n this.active = true\n\n document.addEventListener('mouseup', this.__onDeactivate, true)\n },\n\n __onDeactivate () {\n this.preventFocus = false\n this.active = false\n\n this.__updateValue(true)\n this.__onBlur()\n\n document.removeEventListener('mouseup', this.__onDeactivate, true)\n },\n\n __onMobileClick (evt) {\n this.__updatePosition(evt, this.__getDragging(evt))\n this.__updateValue(true)\n },\n\n __onKeyup (evt) {\n if (keyCodes.includes(evt.keyCode)) {\n this.__updateValue(true)\n }\n },\n\n __getTextContainerStyle (ratio) {\n if (this.vertical === true) { return null }\n\n const p = this.$q.lang.rtl !== this.reverse ? 1 - ratio : ratio\n return {\n transform: `translateX(calc(${2 * p - 1} * ${this.thumbSize} / 2 + ${50 - 100 * p}%))`\n }\n },\n\n __getThumb (h, thumb) {\n const thumbContent = [\n h('svg', {\n class: 'q-slider__thumb-shape absolute-full',\n attrs: {\n viewBox: '0 0 20 20',\n 'aria-hidden': 'true'\n }\n }, [\n h('path', {\n attrs: { d: this.thumbPath }\n })\n ]),\n\n h('div', { class: 'q-slider__focus-ring fit' })\n ]\n\n if (this.label === true || this.labelAlways === true) {\n thumbContent.push(\n h('div', {\n class: this.pinClass + ' absolute fit no-pointer-events' + thumb.pinColor\n }, [\n h('div', {\n class: this.labelClass,\n style: { minWidth: this.thumbSize }\n }, [\n h('div', {\n class: this.textContainerClass,\n style: thumb.textContainerStyle\n }, [\n h('span', { class: thumb.textClass }, thumb.label)\n ])\n ])\n ])\n )\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(thumbContent, 'push')\n }\n }\n\n return h('div', {\n class: thumb.classes,\n style: thumb.style,\n ...thumb.nodeData\n }, thumbContent)\n },\n\n __getContent (h, injectThumb) {\n const trackContent = []\n\n this.innerTrackColor !== 'transparent' && trackContent.push(\n h('div', {\n key: 'inner',\n class: this.innerBarClass,\n style: this.innerBarStyle\n })\n )\n\n this.selectionColor !== 'transparent' && trackContent.push(\n h('div', {\n key: 'selection',\n class: this.selectionBarClass,\n style: this.selectionBarStyle\n })\n )\n\n this.markers !== false && trackContent.push(\n h('div', {\n key: 'marker',\n class: this.markerClass,\n style: this.markerStyle\n })\n )\n\n injectThumb(trackContent)\n\n const content = [\n h(\n 'div',\n {\n key: 'trackC',\n class: this.trackContainerClass,\n attrs: this.trackContainerAttrs,\n on: this.trackContainerEvents,\n directives: this.panDirectives\n },\n [\n h('div', {\n class: this.trackClass,\n style: this.trackStyle\n }, trackContent)\n ]\n )\n ]\n\n if (this.markerLabels !== false) {\n const action = this.switchMarkerLabelsSide === true\n ? 'unshift'\n : 'push'\n\n content[ action ](\n h('div', {\n key: 'markerL',\n class: this.markerLabelsContainerClass\n }, this.__getMarkerLabelsContent(h))\n )\n }\n\n return content\n }\n },\n\n beforeDestroy () {\n document.removeEventListener('mouseup', this.__onDeactivate, true)\n }\n}\n","import Vue from 'vue'\n\nimport {\n keyCodes,\n SliderMixin\n} from './slider-utils.js'\n\nimport { between } from '../../utils/format.js'\nimport { stopAndPrevent } from '../../utils/event.js'\n\nexport default Vue.extend({\n name: 'QSlider',\n\n mixins: [ SliderMixin ],\n\n props: {\n value: {\n required: true,\n default: null,\n validator: v => typeof v === 'number' || v === null\n },\n\n labelValue: [ String, Number ]\n },\n\n data () {\n const innerMin = this.__getInnerMin(this.innerMin)\n const innerMax = this.__getInnerMax(this.innerMax)\n return {\n model: this.value === null ? innerMin : between(this.value, innerMin, innerMax),\n curRatio: 0\n }\n },\n\n computed: {\n modelRatio () {\n return this.__convertModelToRatio(this.model)\n },\n\n ratio () {\n return this.active === true ? this.curRatio : this.modelRatio\n },\n\n selectionBarStyle () {\n const acc = {\n [ this.positionProp ]: `${100 * this.innerMinRatio}%`,\n [ this.sizeProp ]: `${100 * (this.ratio - this.innerMinRatio)}%`\n }\n if (this.selectionImg !== void 0) {\n acc.backgroundImage = `url(${this.selectionImg}) !important`\n }\n return acc\n },\n\n thumbLabel () {\n return this.labelValue !== void 0\n ? this.labelValue\n : this.model\n },\n\n thumbClasses () {\n const color = this.thumbColor || this.color\n return `q-slider__thumb q-slider__thumb${this.axis} q-slider__thumb${this.axis}-${this.isReversed === true ? 'rtl' : 'ltr'} absolute non-selectable` +\n (\n this.preventFocus === false && this.focus === true\n ? ' q-slider--focus'\n : ''\n ) +\n (color !== void 0 ? ` text-${color}` : '')\n },\n\n thumbStyle () {\n return {\n width: this.thumbSize,\n height: this.thumbSize,\n [ this.positionProp ]: `${100 * this.ratio}%`\n }\n },\n\n thumbPinColor () {\n return this.labelColor !== void 0\n ? ` text-${this.labelColor}`\n : ''\n },\n\n thumbTextContainerStyle () {\n return this.__getTextContainerStyle(this.ratio)\n },\n\n thumbTextClass () {\n return 'q-slider__text' +\n (this.labelTextColor !== void 0 ? ` text-${this.labelTextColor}` : '')\n },\n\n trackContainerEvents () {\n if (this.editable !== true) {\n return {}\n }\n\n return this.$q.platform.is.mobile === true\n ? { click: this.__onMobileClick }\n : {\n mousedown: this.__onActivate,\n focus: this.__onFocus,\n blur: this.__onBlur,\n keydown: this.__onKeydown,\n keyup: this.__onKeyup\n }\n },\n\n trackContainerAttrs () {\n return {\n tabindex: this.$q.platform.is.mobile !== true\n ? this.computedTabindex\n : null\n }\n },\n\n modelUpdate () {\n return `${this.value}|${this.computedInnerMin}|${this.computedInnerMax}`\n }\n },\n\n watch: {\n modelUpdate () {\n this.model = this.value === null\n ? this.computedInnerMin\n : between(this.value, this.computedInnerMin, this.computedInnerMax)\n }\n },\n\n methods: {\n __updateValue (change) {\n if (this.model !== this.value) {\n this.$emit('input', this.model)\n }\n change === true && this.$emit('change', this.model)\n },\n\n __getDragging () {\n return this.$el.getBoundingClientRect()\n },\n\n __updatePosition (event, dragging = this.dragging) {\n const ratio = this.__getDraggingRatio(event, dragging)\n\n this.model = this.__convertRatioToModel(ratio)\n this.curRatio = this.snap !== true || this.computedStep === 0\n ? ratio\n : this.__convertModelToRatio(this.model)\n },\n\n __onFocus () {\n this.focus = true\n },\n\n __onKeydown (evt) {\n if (!keyCodes.includes(evt.keyCode)) {\n return\n }\n\n stopAndPrevent(evt)\n\n const\n step = ([34, 33].includes(evt.keyCode) ? 10 : 1) * this.computedStep,\n offset = ([ 34, 37, 40 ].includes(evt.keyCode) ? -1 : 1) * (this.isReversed === true ? -1 : 1) * step\n\n this.model = between(\n parseFloat((this.model + offset).toFixed(this.computedDecimals)),\n this.computedInnerMin,\n this.computedInnerMax\n )\n\n this.__updateValue()\n }\n },\n\n render (h) {\n const content = this.__getContent(h, node => {\n node.push(\n this.__getThumb(h, {\n pinColor: this.thumbPinColor,\n textContainerStyle: this.thumbTextContainerStyle,\n textClass: this.thumbTextClass,\n label: this.thumbLabel,\n classes: this.thumbClasses,\n style: this.thumbStyle,\n nodeData: {}\n })\n )\n })\n\n return h('div', {\n class: this.classes + (this.value === null ? ' q-slider--no-value' : ''),\n attrs: {\n ...this.attributes,\n 'aria-valuenow': this.value\n }\n }, content)\n }\n})\n","// using it to manage SSR rendering with best performance\nimport { onSSR } from '../plugins/Platform.js'\n\nexport default {\n data () {\n return {\n canRender: !onSSR\n }\n },\n\n mounted () {\n this.canRender === false && (this.canRender = true)\n }\n}\n","import Vue from 'vue'\n\nimport { listenOpts } from '../../utils/event.js'\nimport CanRenderMixin from '../../mixins/can-render.js'\nimport { isSSR } from '../../plugins/Platform.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QResizeObserver',\n\n mixins: [ CanRenderMixin ],\n\n props: {\n debounce: {\n type: [ String, Number ],\n default: 100\n }\n },\n\n data () {\n return this.hasObserver === true\n ? {}\n : { url: this.$q.platform.is.ie === true ? null : 'about:blank' }\n },\n\n methods: {\n trigger (immediately) {\n if (immediately === true || this.debounce === 0 || this.debounce === '0') {\n this.__emit()\n }\n else if (this.timer === null) {\n this.timer = setTimeout(this.__emit, this.debounce)\n }\n },\n\n __emit () {\n if (this.timer !== null) {\n clearTimeout(this.timer)\n this.timer = null\n }\n\n if (!this.$el || !this.$el.parentNode) {\n return\n }\n\n const\n parent = this.$el.parentNode,\n size = {\n width: parent.offsetWidth,\n height: parent.offsetHeight\n }\n\n if (size.width === this.size.width && size.height === this.size.height) {\n return\n }\n\n this.size = size\n this.$emit('resize', this.size)\n },\n\n __cleanup () {\n if (this.curDocView !== void 0) {\n // iOS is fuzzy, need to check it first\n if (this.curDocView.removeEventListener !== void 0) {\n this.curDocView.removeEventListener('resize', this.trigger, listenOpts.passive)\n }\n this.curDocView = void 0\n }\n },\n\n __onObjLoad () {\n this.__cleanup()\n\n if (this.$el.contentDocument) {\n this.curDocView = this.$el.contentDocument.defaultView\n this.curDocView.addEventListener('resize', this.trigger, listenOpts.passive)\n }\n\n this.__emit()\n }\n },\n\n render (h) {\n if (this.canRender === false || this.hasObserver === true) {\n return\n }\n\n return h('object', {\n style: this.style,\n attrs: {\n tabindex: -1, // fix for Firefox\n type: 'text/html',\n data: this.url,\n 'aria-hidden': 'true'\n },\n on: cache(this, 'load', {\n load: this.__onObjLoad\n })\n })\n },\n\n beforeCreate () {\n this.size = { width: -1, height: -1 }\n if (isSSR === true) { return }\n\n this.hasObserver = typeof ResizeObserver !== 'undefined'\n\n if (this.hasObserver !== true) {\n this.style = `${this.$q.platform.is.ie ? 'visibility:hidden;' : ''}display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;`\n }\n },\n\n mounted () {\n this.timer = null\n\n if (this.hasObserver === true) {\n this.observer = new ResizeObserver(this.trigger)\n this.observer.observe(this.$el.parentNode)\n this.__emit()\n return\n }\n\n if (this.$q.platform.is.ie === true) {\n this.url = 'about:blank'\n this.__emit()\n }\n else {\n this.__onObjLoad()\n }\n },\n\n beforeDestroy () {\n clearTimeout(this.timer)\n\n if (this.hasObserver === true) {\n if (this.observer !== void 0 && this.$el.parentNode) {\n this.observer.unobserve(this.$el.parentNode)\n }\n return\n }\n\n this.__cleanup()\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport TimeoutMixin from '../../mixins/timeout.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stop, noop } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\nimport { rtlHasScrollBug } from '../../utils/scroll.js'\n\nfunction getIndicatorClass (color, top, vertical) {\n const pos = vertical === true\n ? ['left', 'right']\n : ['top', 'bottom']\n\n return `absolute-${top === true ? pos[0] : pos[1]}${color ? ` text-${color}` : ''}`\n}\n\nfunction bufferPrioritySort (t1, t2) {\n if (t1.priorityMatched === t2.priorityMatched) {\n return t2.priorityHref - t1.priorityHref\n }\n return t2.priorityMatched - t1.priorityMatched\n}\n\nfunction bufferCleanSelected (t) {\n t.selected = false\n return t\n}\n\nconst\n bufferFilters = [\n t => t.selected === true && t.exact === true && t.redirected !== true,\n t => t.selected === true && t.exact === true,\n t => t.selected === true && t.redirected !== true,\n t => t.selected === true,\n t => t.exact === true && t.redirected !== true,\n t => t.redirected !== true,\n t => t.exact === true,\n t => true\n ],\n bufferFiltersLen = bufferFilters.length\n\nexport default Vue.extend({\n name: 'QTabs',\n\n mixins: [ TimeoutMixin, ListenersMixin ],\n\n provide () {\n return {\n tabs: this.tabs,\n __recalculateScroll: this.__recalculateScroll,\n __activateTab: this.__activateTab,\n __activateRoute: this.__activateRoute,\n __onKbdNavigate: this.__onKbdNavigate\n }\n },\n\n props: {\n value: [Number, String],\n\n align: {\n type: String,\n default: 'center',\n validator: v => ['left', 'center', 'right', 'justify'].includes(v)\n },\n breakpoint: {\n type: [String, Number],\n default: 600\n },\n\n vertical: Boolean,\n shrink: Boolean,\n stretch: Boolean,\n\n activeClass: String,\n activeColor: String,\n activeBgColor: String,\n indicatorColor: String,\n leftIcon: String,\n rightIcon: String,\n\n outsideArrows: Boolean,\n mobileArrows: Boolean,\n\n switchIndicator: Boolean,\n\n narrowIndicator: Boolean,\n inlineLabel: Boolean,\n noCaps: Boolean,\n\n dense: Boolean,\n\n contentClass: String\n },\n\n data () {\n return {\n tabs: {\n current: this.value,\n hasFocus: false,\n activeClass: this.activeClass,\n activeColor: this.activeColor,\n activeBgColor: this.activeBgColor,\n indicatorClass: getIndicatorClass(\n this.indicatorColor,\n this.switchIndicator,\n this.vertical\n ),\n narrowIndicator: this.narrowIndicator,\n inlineLabel: this.inlineLabel,\n noCaps: this.noCaps\n },\n scrollable: false,\n startArrow: true,\n endArrow: false,\n justify: false\n }\n },\n\n watch: {\n value (name) {\n this.__activateTab(name, true, true)\n },\n\n activeClass (v) {\n this.tabs.activeClass = v\n },\n\n activeColor (v) {\n this.tabs.activeColor = v\n },\n\n activeBgColor (v) {\n this.tabs.activeBgColor = v\n },\n\n vertical (v) {\n this.tabs.indicatorClass = getIndicatorClass(this.indicatorColor, this.switchIndicator, v)\n },\n\n indicatorColor (v) {\n this.tabs.indicatorClass = getIndicatorClass(v, this.switchIndicator, this.vertical)\n },\n\n switchIndicator (v) {\n this.tabs.indicatorClass = getIndicatorClass(this.indicatorColor, v, this.vertical)\n },\n\n narrowIndicator (v) {\n this.tabs.narrowIndicator = v\n },\n\n inlineLabel (v) {\n this.tabs.inlineLabel = v\n },\n\n noCaps (v) {\n this.tabs.noCaps = v\n },\n\n outsideArrows () {\n this.__recalculateScroll()\n },\n\n arrowsEnabled (v) {\n this.__updateArrows = v === true\n ? this.__updateArrowsFn\n : noop\n\n this.__recalculateScroll()\n },\n\n isRTL () {\n this.__updateArrows()\n }\n },\n\n computed: {\n arrowsEnabled () {\n return this.$q.platform.is.desktop === true || this.mobileArrows === true\n },\n\n arrowIcons () {\n const sides = this.isRTL === true\n ? [ 'end', 'start' ]\n : [ 'start', 'end' ]\n\n return {\n [sides[0]]: this.leftIcon || (this.vertical === true ? this.$q.iconSet.tabs.up : this.$q.iconSet.tabs.left),\n [sides[1]]: this.rightIcon || (this.vertical === true ? this.$q.iconSet.tabs.down : this.$q.iconSet.tabs.right)\n }\n },\n\n alignClass () {\n const align = this.scrollable === true\n ? 'left'\n : (this.justify === true ? 'justify' : this.align)\n\n return `q-tabs__content--align-${align}`\n },\n\n classes () {\n return `q-tabs--${this.scrollable === true ? '' : 'not-'}scrollable` +\n ` q-tabs--${this.vertical === true ? 'vertical' : 'horizontal'}` +\n ` q-tabs__arrows--${this.arrowsEnabled === true && this.outsideArrows === true ? 'outside' : 'inside'}` +\n (this.dense === true ? ' q-tabs--dense' : '') +\n (this.shrink === true ? ' col-shrink' : '') +\n (this.stretch === true ? ' self-stretch' : '')\n },\n\n innerClass () {\n return this.alignClass +\n (this.contentClass !== void 0 ? ` ${this.contentClass}` : '') +\n (this.$q.platform.is.mobile === true ? ' scroll' : '')\n },\n\n domProps () {\n return this.vertical === true\n ? { container: 'height', content: 'offsetHeight', scroll: 'scrollHeight' }\n : { container: 'width', content: 'offsetWidth', scroll: 'scrollWidth' }\n },\n\n isRTL () {\n return this.vertical !== true && this.$q.lang.rtl === true\n },\n\n __getScrollPosition () {\n return this.vertical === true\n ? el => el.scrollTop\n : (\n this.$q.lang.rtl !== true\n ? el => el.scrollLeft\n : (\n this.rtlHasScrollBug === true\n ? el => el.scrollWidth - el.clientWidth - el.scrollLeft\n : el => 1 - el.scrollLeft\n )\n )\n },\n\n __setScrollPosition () {\n return this.vertical === true\n ? (el, value) => { el.scrollTop = value }\n : (\n this.$q.lang.rtl !== true\n ? (el, value) => { el.scrollLeft = value }\n : (\n this.rtlHasScrollBug === true\n ? (el, value) => { el.scrollLeft = el.scrollWidth - el.clientWidth - value }\n : (el, value) => { el.scrollLeft = 1 - value }\n )\n )\n },\n\n __getScrollOffset () {\n return this.vertical === true\n ? el => el.offsetTop\n : (\n this.$q.lang.rtl !== true || this.rtlHasScrollBug === true\n ? el => el.offsetLeft\n : el => el.offsetParent.offsetWidth - el.offsetLeft - el.clientWidth\n )\n },\n\n onEvents () {\n return {\n input: stop,\n ...this.qListeners,\n focusin: this.__onFocusin,\n focusout: this.__onFocusout\n }\n }\n },\n\n methods: {\n __onFocusin (e) {\n this.tabs.hasFocus = true\n this.qListeners.focusin !== void 0 && this.$emit('focusin', e)\n },\n\n __onFocusout (e) {\n this.tabs.hasFocus = false\n this.qListeners.focusout !== void 0 && this.$emit('focusout', e)\n },\n\n __activateTab (name, setCurrent, skipEmit) {\n if (this.tabs.current !== name) {\n skipEmit !== true && this.$emit('input', name)\n if (setCurrent === true || this.qListeners.input === void 0) {\n this.__animate(this.tabs.current, name)\n this.tabs.current = name\n }\n }\n },\n\n __activateRoute (params) {\n if (this.bufferRoute !== this.$route && this.buffer.length > 0) {\n clearTimeout(this.bufferTimer)\n this.bufferTimer = void 0\n this.buffer.length = 0\n }\n this.bufferRoute = this.$route\n\n if (params !== void 0) {\n if (params.remove === true) {\n this.buffer = this.buffer.filter(t => t.name !== params.name)\n }\n else {\n this.buffer.push(params)\n }\n }\n\n if (this.bufferTimer === void 0) {\n this.bufferTimer = setTimeout(() => {\n let tabs = []\n\n for (let i = 0; i < bufferFiltersLen && tabs.length === 0; i++) {\n tabs = this.buffer.filter(bufferFilters[i])\n }\n\n tabs.sort(bufferPrioritySort)\n this.__activateTab(tabs.length === 0 ? null : tabs[0].name, true)\n this.buffer = this.buffer.map(bufferCleanSelected)\n this.bufferTimer = void 0\n }, 1)\n }\n },\n\n __recalculateScroll () {\n this.__nextTick(() => {\n this._isDestroyed !== true && this.__updateContainer({\n width: this.$el.offsetWidth,\n height: this.$el.offsetHeight\n })\n })\n\n this.__prepareTick()\n },\n\n __updateContainer (domSize) {\n const\n size = domSize[this.domProps.container],\n scrollSize = Math.min(\n this.$refs.content[this.domProps.scroll],\n Array.prototype.reduce.call(\n this.$refs.content.children,\n (acc, el) => acc + (el[this.domProps.content] || 0),\n 0\n )\n ),\n scroll = size > 0 && scrollSize > size // when there is no tab, in Chrome, size === 0 and scrollSize === 1\n\n if (this.scrollable !== scroll) {\n this.scrollable = scroll\n }\n\n // Arrows need to be updated even if the scroll status was already true\n scroll === true && this.$nextTick(() => this.__updateArrows())\n\n const justify = size < parseInt(this.breakpoint, 10)\n\n if (this.justify !== justify) {\n this.justify = justify\n }\n },\n\n __animate (oldName, newName) {\n const\n oldTab = oldName !== void 0 && oldName !== null && oldName !== ''\n ? this.$children.find(tab => tab.name === oldName)\n : null,\n newTab = newName !== void 0 && newName !== null && newName !== ''\n ? this.$children.find(tab => tab.name === newName)\n : null\n\n if (oldTab && newTab) {\n const\n oldEl = oldTab.$el.getElementsByClassName('q-tab__indicator')[0],\n newEl = newTab.$el.getElementsByClassName('q-tab__indicator')[0]\n\n clearTimeout(this.animateTimer)\n\n oldEl.style.transition = 'none'\n oldEl.style.transform = 'none'\n newEl.style.transition = 'none'\n newEl.style.transform = 'none'\n\n const\n oldPos = oldEl.getBoundingClientRect(),\n newPos = newEl.getBoundingClientRect()\n\n newEl.style.transform = this.vertical === true\n ? `translate3d(0,${oldPos.top - newPos.top}px,0) scale3d(1,${newPos.height ? oldPos.height / newPos.height : 1},1)`\n : `translate3d(${oldPos.left - newPos.left}px,0,0) scale3d(${newPos.width ? oldPos.width / newPos.width : 1},1,1)`\n\n // allow scope updates to kick in (QRouteTab needs more time)\n this.$nextTick(() => {\n this.animateTimer = setTimeout(() => {\n newEl.style.transition = 'transform .25s cubic-bezier(.4, 0, .2, 1)'\n newEl.style.transform = 'none'\n }, 70)\n })\n }\n\n if (newTab && this.scrollable === true) {\n this.__scrollToTab(newTab.$el, void 0, true)\n }\n else {\n this.__updateArrows()\n }\n },\n\n __updateArrowsFn () {\n const { content } = this.$refs\n\n if (content !== void 0) {\n const\n rect = content.getBoundingClientRect(),\n pos = this.__getScrollPosition(content)\n\n this.startArrow = pos > (this.isRTL === true ? 1 : 0)\n this.endArrow = this.vertical === true\n ? Math.ceil(pos + rect.height) < content.scrollHeight\n : Math.ceil(pos + rect.width) < content.scrollWidth\n }\n },\n\n __animScrollTo (value, onEnd) {\n this.__stopAnimScroll()\n\n this.__onAnimScrollEnd = onEnd\n this.__scrollTowards(value)\n\n this.scrollTimer = setInterval(() => {\n if (this.__scrollTowards(value)) {\n this.__stopAnimScroll()\n }\n }, 5)\n },\n\n __scrollToStart () {\n this.__animScrollTo(0)\n },\n\n __scrollToEnd () {\n this.__animScrollTo(Number.MAX_SAFE_INTEGER)\n },\n\n __stopAnimScroll () {\n clearInterval(this.scrollTimer)\n\n if (this.__onAnimScrollEnd !== void 0) {\n this.__onAnimScrollEnd()\n this.__onAnimScrollEnd = void 0\n }\n },\n\n __scrollTowards (value) {\n const content = this.$refs.content\n const max = this.vertical === true ? content.scrollHeight - content.offsetHeight : content.scrollWidth - content.offsetWidth\n\n let pos = this.__getScrollPosition(content)\n let done = false\n\n value = Math.max(0, Math.min(max, value))\n\n const direction = value < pos ? -1 : 1\n\n pos += direction * 5\n\n if (\n (direction === -1 && pos <= value) ||\n (direction === 1 && pos >= value)\n ) {\n done = true\n pos = value\n }\n\n this.__setScrollPosition(content, pos)\n this.__updateArrows()\n\n return done\n },\n\n __scrollToTab (tab, alignEnd, skipFocus) {\n if (this.$refs.content === void 0) {\n return\n }\n\n const content = this.$refs.content\n const startContent = this.__getScrollPosition(content)\n const sizeContent = this.vertical === true ? content.offsetHeight : content.offsetWidth\n const sizeScroll = this.vertical === true ? content.scrollHeight : content.scrollWidth\n\n const startTab = this.__getScrollOffset(tab)\n const endTab = startTab + (this.vertical === true ? tab.offsetHeight : tab.offsetWidth)\n\n const startsBefore = startTab < startContent\n const endsAfter = endTab > startContent + sizeContent\n\n if (startsBefore !== true && endsAfter !== true) {\n alignEnd = void 0\n }\n else if (alignEnd === void 0) {\n if (endTab >= sizeScroll - 1) {\n alignEnd = true\n }\n else if (startsBefore === true || (endsAfter === true && startTab < endTab - sizeContent)) {\n alignEnd = false\n }\n else if (startsBefore !== endsAfter) {\n alignEnd = endsAfter\n }\n }\n\n if (alignEnd !== void 0) {\n this.__animScrollTo(\n alignEnd === true ? (endTab >= sizeScroll - 1 ? sizeScroll : endTab - sizeContent) : (startTab <= 1 ? 0 : startTab),\n skipFocus !== true\n ? () => {\n setTimeout(() => {\n tab && tab.focus()\n })\n }\n : void 0\n )\n }\n else if (skipFocus !== true) {\n tab.focus()\n }\n },\n\n __onKbdNavigate (keyCode, fromEl) {\n const matchTab = el => el === fromEl || (el.matches && el.matches('.q-tab.q-focusable') === true)\n const tabs = Array.prototype.filter.call(this.$refs.content.children, matchTab)\n const tabsLength = tabs.length\n\n if (tabsLength === 0) {\n return\n }\n\n if (keyCode === 36) { // Home\n if (tabs[0].contains(document.activeElement) === true) {\n return false\n }\n\n this.__scrollToTab(tabs[0], false)\n this.__recalculateScroll()\n\n return true\n }\n if (keyCode === 35) { // End\n if (tabs[tabsLength - 1].contains(document.activeElement) === true) {\n return false\n }\n\n this.__scrollToTab(tabs[tabsLength - 1], true)\n this.__recalculateScroll()\n\n return true\n }\n\n const dirPrev = (this.vertical === true && keyCode === 38 /* ArrowUp */) ||\n (this.vertical !== true && keyCode === 37 /* ArrowLeft */)\n const dirNext = (this.vertical === true && keyCode === 40 /* ArrowDown */) ||\n (this.vertical !== true && keyCode === 39 /* ArrowRight */)\n const dir = dirPrev === true ? -1 : (dirNext === true ? 1 : void 0)\n\n if (dir !== void 0) {\n const rtlDir = this.isRTL === true ? -1 : 1\n const index = tabs.indexOf(fromEl) + dir * rtlDir\n\n if (\n index < 0 ||\n index >= tabsLength ||\n tabs[index].contains(document.activeElement) === true\n ) {\n return false\n }\n\n this.__scrollToTab(tabs[index], dir === rtlDir)\n this.__recalculateScroll()\n\n return true\n }\n }\n },\n\n created () {\n this.buffer = []\n\n this.__updateArrows = this.arrowsEnabled === true\n ? this.__updateArrowsFn\n : noop\n },\n\n mounted () {\n this.rtlHasScrollBug = rtlHasScrollBug()\n },\n\n activated () {\n if (this.shouldActivate !== true) { return }\n this.__recalculateScroll()\n },\n\n deactivated () {\n this.shouldActivate = true\n },\n\n beforeDestroy () {\n clearTimeout(this.bufferTimer)\n clearTimeout(this.animateTimer)\n },\n\n render (h) {\n const child = [\n h(QResizeObserver, {\n on: cache(this, 'resize', { resize: this.__updateContainer })\n }),\n\n h('div', {\n ref: 'content',\n staticClass: 'q-tabs__content row no-wrap items-center self-stretch hide-scrollbar relative-position',\n class: this.innerClass,\n on: this.arrowsEnabled === true ? cache(this, 'scroll', { scroll: this.__updateArrowsFn }) : void 0\n }, slot(this, 'default'))\n ]\n\n this.arrowsEnabled === true && child.push(\n h(QIcon, {\n staticClass: 'q-tabs__arrow q-tabs__arrow--start absolute q-tab__icon',\n class: this.startArrow === true ? '' : 'q-tabs__arrow--faded',\n props: { name: this.arrowIcons.start },\n on: cache(this, 'onS', {\n mousedown: this.__scrollToStart,\n touchstart: this.__scrollToStart,\n mouseup: this.__stopAnimScroll,\n mouseleave: this.__stopAnimScroll,\n touchend: this.__stopAnimScroll\n })\n }),\n\n h(QIcon, {\n staticClass: 'q-tabs__arrow q-tabs__arrow--end absolute q-tab__icon',\n class: this.endArrow === true ? '' : 'q-tabs__arrow--faded',\n props: { name: this.arrowIcons.end },\n on: cache(this, 'onE', {\n mousedown: this.__scrollToEnd,\n touchstart: this.__scrollToEnd,\n mouseup: this.__stopAnimScroll,\n mouseleave: this.__stopAnimScroll,\n touchend: this.__stopAnimScroll\n })\n })\n )\n\n return h('div', {\n staticClass: 'q-tabs row no-wrap items-center',\n class: this.classes,\n on: this.onEvents,\n attrs: { role: 'tablist' }\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport RippleMixin from '../../mixins/ripple.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stop, prevent, stopAndPrevent } from '../../utils/event.js'\nimport { mergeSlot } from '../../utils/slot.js'\nimport { shouldIgnoreKey } from '../../utils/key-composition.js'\n\nlet uid = 0\n\nexport default Vue.extend({\n name: 'QTab',\n\n mixins: [ RippleMixin, ListenersMixin ],\n\n inject: {\n tabs: {\n default () {\n console.error('QTab/QRouteTab components need to be child of QTabs')\n }\n },\n __activateTab: {},\n __recalculateScroll: {},\n __onKbdNavigate: {}\n },\n\n props: {\n icon: String,\n label: [Number, String],\n\n alert: [Boolean, String],\n alertIcon: String,\n\n name: {\n type: [Number, String],\n default: () => `t_${uid++}`\n },\n\n noCaps: Boolean,\n\n tabindex: [String, Number],\n disable: Boolean,\n\n contentClass: String\n },\n\n computed: {\n isActive () {\n return this.tabs.current === this.name\n },\n\n classes () {\n return {\n ...(\n this.isActive === true\n ? {\n 'q-tab--active': true,\n [this.tabs.activeClass]: this.tabs.activeClass,\n [`text-${this.tabs.activeColor}`]: this.tabs.activeColor,\n [`bg-${this.tabs.activeBgColor}`]: this.tabs.activeBgColor\n }\n : { 'q-tab--inactive': true }\n ),\n 'q-tab--full': this.icon && this.label && !this.tabs.inlineLabel,\n 'q-tab--no-caps': this.noCaps === true || this.tabs.noCaps === true,\n 'q-focusable q-hoverable cursor-pointer': !this.disable,\n disabled: this.disable\n }\n },\n\n innerClass () {\n return (this.tabs.inlineLabel === true ? 'row no-wrap q-tab__content--inline' : 'column') +\n (this.contentClass !== void 0 ? ` ${this.contentClass}` : '')\n },\n\n computedTabIndex () {\n return this.disable === true || this.tabs.hasFocus === true\n ? -1\n : this.tabindex || 0\n },\n\n computedRipple () {\n return this.ripple === false\n ? false\n : Object.assign(\n { keyCodes: [13, 32], early: true },\n this.ripple === true ? {} : this.ripple\n )\n },\n\n onEvents () {\n return {\n input: stop,\n ...this.qListeners,\n click: this.__activate,\n keydown: this.__onKeydown\n }\n },\n\n attrs () {\n const attrs = {\n tabindex: this.computedTabIndex,\n role: 'tab',\n 'aria-selected': this.isActive === true ? 'true' : 'false'\n }\n\n if (this.disable === true) {\n attrs['aria-disabled'] = 'true'\n }\n\n return attrs\n }\n },\n\n methods: {\n __activate (e, keyboard) {\n if (keyboard !== true && this.$refs.blurTarget !== void 0) {\n this.$refs.blurTarget.focus({ preventScroll: true })\n }\n\n if (this.disable !== true) {\n this.qListeners.click !== void 0 && this.$emit('click', e)\n this.__activateTab(this.name)\n }\n },\n\n __onKeydown (e) {\n if (shouldIgnoreKey(e)) {\n return\n }\n\n if ([ 13, 32 ].indexOf(e.keyCode) !== -1) {\n this.__activate(e, true)\n prevent(e)\n }\n else if (e.keyCode >= 35 && e.keyCode <= 40) {\n this.__onKbdNavigate(e.keyCode, this.$el) === true && stopAndPrevent(e)\n }\n },\n\n __getContent (h) {\n const\n narrow = this.tabs.narrowIndicator,\n content = [],\n indicator = h('div', {\n staticClass: 'q-tab__indicator',\n class: this.tabs.indicatorClass\n })\n\n this.icon !== void 0 && content.push(\n h(QIcon, {\n staticClass: 'q-tab__icon',\n props: { name: this.icon }\n })\n )\n\n this.label !== void 0 && content.push(\n h('div', {\n staticClass: 'q-tab__label'\n }, [ this.label ])\n )\n\n this.alert !== false && content.push(\n this.alertIcon !== void 0\n ? h(QIcon, {\n staticClass: 'q-tab__alert-icon',\n props: {\n color: this.alert !== true\n ? this.alert\n : void 0,\n name: this.alertIcon\n }\n })\n : h('div', {\n staticClass: 'q-tab__alert',\n class: this.alert !== true\n ? `text-${this.alert}`\n : null\n })\n )\n\n narrow === true && content.push(indicator)\n\n const node = [\n h('div', { staticClass: 'q-focus-helper', attrs: { tabindex: -1 }, ref: 'blurTarget' }),\n\n h('div', {\n staticClass: 'q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable',\n class: this.innerClass\n }, mergeSlot(content, this, 'default'))\n ]\n\n narrow === false && node.push(indicator)\n\n return node\n },\n\n __renderTab (h, tag) {\n const data = {\n staticClass: 'q-tab relative-position self-stretch flex flex-center text-center no-outline',\n class: this.classes,\n attrs: this.attrs,\n directives: this.ripple === false || this.disable === true ? null : [\n { name: 'ripple', value: this.computedRipple }\n ]\n }\n\n if (this.hasRouterLink === true) {\n return h(tag, {\n ...data,\n nativeOn: this.onEvents,\n props: this.routerTabLinkProps,\n scopedSlots: {\n default: ({ href, isActive, isExactActive }) => h('a', {\n class: {\n [this.activeClass]: isActive,\n [this.exactActiveClass]: isExactActive\n },\n attrs: {\n ...this.linkProps.attrs,\n href\n }\n }, this.__getContent(h))\n }\n })\n }\n\n if (this.hasLink === true) {\n Object.assign(data.attrs, this.linkProps.attrs)\n data.props = this.linkProps.props\n }\n data.on = this.onEvents\n return h(tag, data, this.__getContent(h))\n }\n },\n\n mounted () {\n this.__recalculateScroll()\n },\n\n beforeDestroy () {\n this.__recalculateScroll()\n },\n\n render (h) {\n return this.__renderTab(h, 'div')\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport { PanelParentMixin } from '../../mixins/panel.js'\n\nexport default Vue.extend({\n name: 'QTabPanels',\n\n mixins: [ DarkMixin, PanelParentMixin ],\n\n computed: {\n classes () {\n return 'q-tab-panels q-panel-parent' +\n (this.isDark === true ? ' q-tab-panels--dark q-dark' : '')\n }\n },\n\n methods: {\n __renderPanels (h) {\n return h('div', {\n class: this.classes,\n directives: this.panelDirectives,\n on: { ...this.qListeners }\n }, this.__getPanelContent(h))\n }\n }\n})\n","import Vue from 'vue'\n\nimport { PanelChildMixin } from '../../mixins/panel.js'\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTabPanel',\n\n mixins: [ PanelChildMixin ],\n\n render (h) {\n return h('div', {\n staticClass: 'q-tab-panel',\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport { testPattern } from '../../utils/patterns.js'\nimport throttle from '../../utils/throttle.js'\nimport cache from '../../utils/cache.js'\nimport { stop } from '../../utils/event.js'\nimport { hexToRgb, rgbToHex, rgbToString, textToRgb, rgbToHsv, hsvToRgb, luminosity } from '../../utils/colors.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport FormMixin from '../../mixins/form.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport QSlider from '../slider/QSlider.js'\nimport QIcon from '../icon/QIcon.js'\n\nimport QTabs from '../tabs/QTabs.js'\nimport QTab from '../tabs/QTab.js'\nimport QTabPanels from '../tab-panels/QTabPanels.js'\nimport QTabPanel from '../tab-panels/QTabPanel.js'\n\nconst palette = [\n 'rgb(255,204,204)', 'rgb(255,230,204)', 'rgb(255,255,204)', 'rgb(204,255,204)', 'rgb(204,255,230)', 'rgb(204,255,255)', 'rgb(204,230,255)', 'rgb(204,204,255)', 'rgb(230,204,255)', 'rgb(255,204,255)',\n 'rgb(255,153,153)', 'rgb(255,204,153)', 'rgb(255,255,153)', 'rgb(153,255,153)', 'rgb(153,255,204)', 'rgb(153,255,255)', 'rgb(153,204,255)', 'rgb(153,153,255)', 'rgb(204,153,255)', 'rgb(255,153,255)',\n 'rgb(255,102,102)', 'rgb(255,179,102)', 'rgb(255,255,102)', 'rgb(102,255,102)', 'rgb(102,255,179)', 'rgb(102,255,255)', 'rgb(102,179,255)', 'rgb(102,102,255)', 'rgb(179,102,255)', 'rgb(255,102,255)',\n 'rgb(255,51,51)', 'rgb(255,153,51)', 'rgb(255,255,51)', 'rgb(51,255,51)', 'rgb(51,255,153)', 'rgb(51,255,255)', 'rgb(51,153,255)', 'rgb(51,51,255)', 'rgb(153,51,255)', 'rgb(255,51,255)',\n 'rgb(255,0,0)', 'rgb(255,128,0)', 'rgb(255,255,0)', 'rgb(0,255,0)', 'rgb(0,255,128)', 'rgb(0,255,255)', 'rgb(0,128,255)', 'rgb(0,0,255)', 'rgb(128,0,255)', 'rgb(255,0,255)',\n 'rgb(245,0,0)', 'rgb(245,123,0)', 'rgb(245,245,0)', 'rgb(0,245,0)', 'rgb(0,245,123)', 'rgb(0,245,245)', 'rgb(0,123,245)', 'rgb(0,0,245)', 'rgb(123,0,245)', 'rgb(245,0,245)',\n 'rgb(214,0,0)', 'rgb(214,108,0)', 'rgb(214,214,0)', 'rgb(0,214,0)', 'rgb(0,214,108)', 'rgb(0,214,214)', 'rgb(0,108,214)', 'rgb(0,0,214)', 'rgb(108,0,214)', 'rgb(214,0,214)',\n 'rgb(163,0,0)', 'rgb(163,82,0)', 'rgb(163,163,0)', 'rgb(0,163,0)', 'rgb(0,163,82)', 'rgb(0,163,163)', 'rgb(0,82,163)', 'rgb(0,0,163)', 'rgb(82,0,163)', 'rgb(163,0,163)',\n 'rgb(92,0,0)', 'rgb(92,46,0)', 'rgb(92,92,0)', 'rgb(0,92,0)', 'rgb(0,92,46)', 'rgb(0,92,92)', 'rgb(0,46,92)', 'rgb(0,0,92)', 'rgb(46,0,92)', 'rgb(92,0,92)',\n 'rgb(255,255,255)', 'rgb(205,205,205)', 'rgb(178,178,178)', 'rgb(153,153,153)', 'rgb(127,127,127)', 'rgb(102,102,102)', 'rgb(76,76,76)', 'rgb(51,51,51)', 'rgb(25,25,25)', 'rgb(0,0,0)'\n]\n\nconst thumbPath = 'M5 5 h10 v10 h-10 v-10 z'\nconst alphaTrackImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg=='\n\nexport default Vue.extend({\n name: 'QColor',\n\n mixins: [ ListenersMixin, DarkMixin, FormMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n value: String,\n\n defaultValue: String,\n defaultView: {\n type: String,\n default: 'spectrum',\n validator: v => ['spectrum', 'tune', 'palette'].includes(v)\n },\n\n formatModel: {\n type: String,\n default: 'auto',\n validator: v => ['auto', 'hex', 'rgb', 'hexa', 'rgba'].includes(v)\n },\n\n palette: Array,\n\n noHeader: Boolean,\n noHeaderTabs: Boolean,\n noFooter: Boolean,\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean,\n\n disable: Boolean,\n readonly: Boolean\n },\n\n data () {\n return {\n topView: this.formatModel === 'auto'\n ? (\n (this.value === void 0 || this.value === null || this.value === '' || this.value.startsWith('#'))\n ? 'hex'\n : 'rgb'\n )\n : (this.formatModel.startsWith('hex') ? 'hex' : 'rgb'),\n view: this.defaultView,\n model: this.__parseModel(this.value || this.defaultValue)\n }\n },\n\n watch: {\n value (v) {\n const model = this.__parseModel(v || this.defaultValue)\n if (model.hex !== this.model.hex) {\n this.model = model\n }\n },\n\n defaultValue (v) {\n if (!this.value && v) {\n const model = this.__parseModel(v)\n if (model.hex !== this.model.hex) {\n this.model = model\n }\n }\n }\n },\n\n computed: {\n editable () {\n return this.disable !== true && this.readonly !== true\n },\n\n forceHex () {\n return this.formatModel === 'auto'\n ? null\n : this.formatModel.indexOf('hex') > -1\n },\n\n forceAlpha () {\n return this.formatModel === 'auto'\n ? null\n : this.formatModel.indexOf('a') > -1\n },\n\n isHex () {\n return this.value === void 0 ||\n this.value === null ||\n this.value === '' ||\n this.value.startsWith('#')\n },\n\n isOutputHex () {\n return this.forceHex !== null\n ? this.forceHex\n : this.isHex\n },\n\n formAttrs () {\n return {\n type: 'hidden',\n name: this.name,\n value: this.model[ this.isOutputHex === true ? 'hex' : 'rgb' ]\n }\n },\n\n hasAlpha () {\n if (this.forceAlpha !== null) {\n return this.forceAlpha\n }\n return this.model.a !== void 0\n },\n\n currentBgColor () {\n return {\n backgroundColor: this.model.rgb || '#000'\n }\n },\n\n headerClass () {\n const light = this.model.a !== void 0 && this.model.a < 65\n ? true\n : luminosity(this.model) > 0.4\n\n return `q-color-picker__header-content--${light ? 'light' : 'dark'}`\n },\n\n spectrumStyle () {\n return {\n background: `hsl(${this.model.h},100%,50%)`\n }\n },\n\n spectrumPointerStyle () {\n return {\n top: `${100 - this.model.v}%`,\n [this.$q.lang.rtl === true ? 'right' : 'left']: `${this.model.s}%`\n }\n },\n\n computedPalette () {\n return this.palette !== void 0 && this.palette.length > 0\n ? this.palette\n : palette\n },\n\n classes () {\n return 'q-color-picker' +\n (this.bordered === true ? ' q-color-picker--bordered' : '') +\n (this.square === true ? ' q-color-picker--square no-border-radius' : '') +\n (this.flat === true ? ' q-color-picker--flat no-shadow' : '') +\n (this.disable === true ? ' disabled' : '') +\n (this.isDark === true ? ' q-color-picker--dark q-dark' : '')\n },\n\n attrs () {\n if (this.disable === true) {\n return { 'aria-disabled': 'true' }\n }\n if (this.readonly === true) {\n return { 'aria-readonly': 'true' }\n }\n }\n },\n\n created () {\n this.__spectrumChange = throttle(this.__spectrumChange, 20)\n },\n\n render (h) {\n const child = [ this.__getContent(h) ]\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(child, 'push')\n }\n\n this.noHeader !== true && child.unshift(\n this.__getHeader(h)\n )\n\n this.noFooter !== true && child.push(\n this.__getFooter(h)\n )\n\n return h('div', {\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, child)\n },\n\n methods: {\n __getHeader (h) {\n const child = []\n\n this.noHeaderTabs !== true && child.push(\n h(QTabs, {\n class: 'q-color-picker__header-tabs',\n props: {\n value: this.topView,\n dense: true,\n align: 'justify'\n },\n on: cache(this, 'topVTab', {\n input: val => { this.topView = val }\n })\n }, [\n h(QTab, {\n props: {\n label: 'HEX' + (this.hasAlpha === true ? 'A' : ''),\n name: 'hex',\n ripple: false\n }\n }),\n\n h(QTab, {\n props: {\n label: 'RGB' + (this.hasAlpha === true ? 'A' : ''),\n name: 'rgb',\n ripple: false\n }\n })\n ])\n )\n\n child.push(\n h('div', {\n staticClass: 'q-color-picker__header-banner row flex-center no-wrap'\n }, [\n h('input', {\n staticClass: 'fit',\n domProps: { value: this.model[this.topView] },\n attrs: this.editable !== true ? {\n readonly: true\n } : null,\n on: cache(this, 'topIn', {\n input: evt => {\n this.__updateErrorIcon(this.__onEditorChange(evt) === true)\n },\n change: stop,\n blur: evt => {\n this.__onEditorChange(evt, true) === true && this.$forceUpdate()\n this.__updateErrorIcon(false)\n }\n })\n }),\n\n h(QIcon, {\n ref: 'errorIcon',\n staticClass: 'q-color-picker__error-icon absolute no-pointer-events',\n props: { name: this.$q.iconSet.type.negative }\n })\n ])\n )\n\n return h('div', {\n staticClass: 'q-color-picker__header relative-position overflow-hidden'\n }, [\n h('div', { staticClass: 'q-color-picker__header-bg absolute-full' }),\n\n h('div', {\n staticClass: 'q-color-picker__header-content',\n class: this.headerClass,\n style: this.currentBgColor\n }, child)\n ])\n },\n\n __getContent (h) {\n return h(QTabPanels, {\n props: {\n value: this.view,\n animated: true\n }\n }, [\n h(QTabPanel, {\n staticClass: 'q-color-picker__spectrum-tab overflow-hidden',\n props: { name: 'spectrum' }\n }, this.__getSpectrumTab(h)),\n\n h(QTabPanel, {\n staticClass: 'q-pa-md q-color-picker__tune-tab',\n props: { name: 'tune' }\n }, this.__getTuneTab(h)),\n\n h(QTabPanel, {\n staticClass: 'q-color-picker__palette-tab',\n props: { name: 'palette' }\n }, this.__getPaletteTab(h))\n ])\n },\n\n __getFooter (h) {\n return h('div', {\n staticClass: 'q-color-picker__footer relative-position overflow-hidden'\n }, [\n h(QTabs, {\n staticClass: 'absolute-full',\n props: {\n value: this.view,\n dense: true,\n align: 'justify'\n },\n on: cache(this, 'ftIn', {\n input: val => { this.view = val }\n })\n }, [\n h(QTab, {\n props: {\n icon: this.$q.iconSet.colorPicker.spectrum,\n name: 'spectrum',\n ripple: false\n }\n }),\n\n h(QTab, {\n props: {\n icon: this.$q.iconSet.colorPicker.tune,\n name: 'tune',\n ripple: false\n }\n }),\n\n h(QTab, {\n props: {\n icon: this.$q.iconSet.colorPicker.palette,\n name: 'palette',\n ripple: false\n }\n })\n ])\n ])\n },\n\n __getSpectrumTab (h) {\n return [\n h('div', {\n ref: 'spectrum',\n staticClass: 'q-color-picker__spectrum non-selectable relative-position cursor-pointer',\n style: this.spectrumStyle,\n class: { readonly: this.editable !== true },\n on: this.editable === true\n ? cache(this, 'spectrT', {\n click: this.__spectrumClick,\n mousedown: this.__activate\n })\n : null,\n directives: this.editable === true\n ? cache(this, 'spectrDir', [{\n name: 'touch-pan',\n modifiers: {\n prevent: true,\n stop: true,\n mouse: true\n },\n value: this.__spectrumPan\n }])\n : null\n }, [\n h('div', { style: { paddingBottom: '100%' } }),\n h('div', { staticClass: 'q-color-picker__spectrum-white absolute-full' }),\n h('div', { staticClass: 'q-color-picker__spectrum-black absolute-full' }),\n h('div', {\n staticClass: 'absolute',\n style: this.spectrumPointerStyle\n }, [\n this.model.hex !== void 0 ? h('div', { staticClass: 'q-color-picker__spectrum-circle' }) : null\n ])\n ]),\n\n h('div', {\n staticClass: 'q-color-picker__sliders'\n }, [\n h(QSlider, {\n staticClass: 'q-color-picker__hue non-selectable',\n props: {\n value: this.model.h,\n min: 0,\n max: 360,\n trackSize: '8px',\n innerTrackColor: 'transparent',\n selectionColor: 'transparent',\n readonly: this.editable !== true,\n thumbPath\n },\n on: cache(this, 'hueSlide', {\n input: this.__onHueChange,\n change: val => this.__onHueChange(val, true)\n })\n }),\n\n this.hasAlpha === true\n ? h(QSlider, {\n staticClass: 'q-color-picker__alpha non-selectable',\n props: {\n value: this.model.a,\n min: 0,\n max: 100,\n trackSize: '8px',\n trackColor: 'white',\n innerTrackColor: 'transparent',\n selectionColor: 'transparent',\n trackImg: alphaTrackImg,\n readonly: this.editable !== true,\n hideSelection: true,\n thumbPath\n },\n on: cache(this, 'alphaSlide', {\n input: value => this.__onNumericChange(value, 'a', 100),\n change: value => this.__onNumericChange(value, 'a', 100, void 0, true)\n })\n })\n : null\n ])\n ]\n },\n\n __getTuneTab (h) {\n const attrs = {\n inputmode: 'numeric',\n maxlength: 3,\n readonly: this.editable !== true\n }\n\n return [\n h('div', { staticClass: 'row items-center no-wrap' }, [\n h('div', ['R']),\n h(QSlider, {\n props: {\n value: this.model.r,\n min: 0,\n max: 255,\n color: 'red',\n dark: this.isDark,\n readonly: this.editable !== true\n },\n on: cache(this, 'rSlide', {\n input: value => this.__onNumericChange(value, 'r', 255),\n change: value => this.__onNumericChange(value, 'r', 255, void 0, true)\n })\n }),\n h('input', {\n domProps: { value: this.model.r },\n attrs,\n on: cache(this, 'rIn', {\n input: evt => this.__onNumericChange(evt.target.value, 'r', 255, evt),\n change: stop,\n blur: evt => this.__onNumericChange(evt.target.value, 'r', 255, evt, true)\n })\n })\n ]),\n\n h('div', { staticClass: 'row items-center no-wrap' }, [\n h('div', ['G']),\n h(QSlider, {\n props: {\n value: this.model.g,\n min: 0,\n max: 255,\n color: 'green',\n dark: this.isDark,\n readonly: this.editable !== true\n },\n on: cache(this, 'gSlide', {\n input: value => this.__onNumericChange(value, 'g', 255),\n change: value => this.__onNumericChange(value, 'g', 255, void 0, true)\n })\n }),\n h('input', {\n domProps: { value: this.model.g },\n attrs,\n on: cache(this, 'gIn', {\n input: evt => this.__onNumericChange(evt.target.value, 'g', 255, evt),\n change: stop,\n blur: evt => this.__onNumericChange(evt.target.value, 'g', 255, evt, true)\n })\n })\n ]),\n\n h('div', { staticClass: 'row items-center no-wrap' }, [\n h('div', ['B']),\n h(QSlider, {\n props: {\n value: this.model.b,\n min: 0,\n max: 255,\n color: 'blue',\n readonly: this.editable !== true,\n dark: this.isDark\n },\n on: cache(this, 'bSlide', {\n input: value => this.__onNumericChange(value, 'b', 255),\n change: value => this.__onNumericChange(value, 'b', 255, void 0, true)\n })\n }),\n h('input', {\n domProps: { value: this.model.b },\n attrs,\n on: cache(this, 'bIn', {\n input: evt => this.__onNumericChange(evt.target.value, 'b', 255, evt),\n change: stop,\n blur: evt => this.__onNumericChange(evt.target.value, 'b', 255, evt, true)\n })\n })\n ]),\n\n this.hasAlpha === true ? h('div', { staticClass: 'row items-center no-wrap' }, [\n h('div', ['A']),\n h(QSlider, {\n props: {\n value: this.model.a,\n color: 'grey',\n readonly: this.editable !== true,\n dark: this.isDark\n },\n on: cache(this, 'aSlide', {\n input: value => this.__onNumericChange(value, 'a', 100),\n change: value => this.__onNumericChange(value, 'a', 100, void 0, true)\n })\n }),\n h('input', {\n domProps: { value: this.model.a },\n attrs,\n on: cache(this, 'aIn', {\n input: evt => this.__onNumericChange(evt.target.value, 'a', 100, evt),\n change: stop,\n blur: evt => this.__onNumericChange(evt.target.value, 'a', 100, evt, true)\n })\n })\n ]) : null\n ]\n },\n\n __getPaletteTab (h) {\n return [\n h('div', {\n staticClass: 'row items-center q-color-picker__palette-rows',\n class: this.editable === true\n ? 'q-color-picker__palette-rows--editable'\n : ''\n }, this.computedPalette.map(color => h('div', {\n staticClass: 'q-color-picker__cube col-auto',\n style: { backgroundColor: color },\n on: this.editable === true ? cache(this, 'palette#' + color, {\n click: () => {\n this.__onPalettePick(color)\n }\n }) : null\n })))\n ]\n },\n\n __onSpectrumChange (left, top, change) {\n const panel = this.$refs.spectrum\n if (panel === void 0) { return }\n\n const\n width = panel.clientWidth,\n height = panel.clientHeight,\n rect = panel.getBoundingClientRect()\n\n let x = Math.min(width, Math.max(0, left - rect.left))\n\n if (this.$q.lang.rtl === true) {\n x = width - x\n }\n\n const\n y = Math.min(height, Math.max(0, top - rect.top)),\n s = Math.round(100 * x / width),\n v = Math.round(100 * Math.max(0, Math.min(1, -(y / height) + 1))),\n rgb = hsvToRgb({\n h: this.model.h,\n s,\n v,\n a: this.hasAlpha === true ? this.model.a : void 0\n })\n\n this.model.s = s\n this.model.v = v\n this.__update(rgb, change)\n },\n\n __onHueChange (h, change) {\n h = Math.round(h)\n const rgb = hsvToRgb({\n h,\n s: this.model.s,\n v: this.model.v,\n a: this.hasAlpha === true ? this.model.a : void 0\n })\n\n this.model.h = h\n this.__update(rgb, change)\n },\n\n __onNumericChange (value, formatModel, max, evt, change) {\n evt !== void 0 && stop(evt)\n\n if (!/^[0-9]+$/.test(value)) {\n change === true && this.$forceUpdate()\n return\n }\n\n const val = Math.floor(Number(value))\n\n if (val < 0 || val > max) {\n change === true && this.$forceUpdate()\n return\n }\n\n const rgb = {\n r: formatModel === 'r' ? val : this.model.r,\n g: formatModel === 'g' ? val : this.model.g,\n b: formatModel === 'b' ? val : this.model.b,\n a: this.hasAlpha === true\n ? (formatModel === 'a' ? val : this.model.a)\n : void 0\n }\n\n if (formatModel !== 'a') {\n const hsv = rgbToHsv(rgb)\n this.model.h = hsv.h\n this.model.s = hsv.s\n this.model.v = hsv.v\n }\n\n this.__update(rgb, change)\n\n if (evt !== void 0 && change !== true && evt.target.selectionEnd !== void 0) {\n const index = evt.target.selectionEnd\n this.$nextTick(() => {\n evt.target.setSelectionRange(index, index)\n })\n }\n },\n\n __onEditorChange (evt, change) {\n let rgb\n const inp = evt.target.value\n\n stop(evt)\n\n if (this.topView === 'hex') {\n if (\n inp.length !== (this.hasAlpha === true ? 9 : 7) ||\n !/^#[0-9A-Fa-f]+$/.test(inp)\n ) {\n return true\n }\n\n rgb = hexToRgb(inp)\n }\n else {\n let model\n\n if (!inp.endsWith(')')) {\n return true\n }\n else if (this.hasAlpha !== true && inp.startsWith('rgb(')) {\n model = inp.substring(4, inp.length - 1).split(',').map(n => parseInt(n, 10))\n\n if (\n model.length !== 3 ||\n !/^rgb\\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\\)$/.test(inp)\n ) {\n return true\n }\n }\n else if (this.hasAlpha === true && inp.startsWith('rgba(')) {\n model = inp.substring(5, inp.length - 1).split(',')\n\n if (\n model.length !== 4 ||\n !/^rgba\\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(0|0\\.[0-9]+[1-9]|0\\.[1-9]+|1)\\)$/.test(inp)\n ) {\n return true\n }\n\n for (let i = 0; i < 3; i++) {\n const v = parseInt(model[i], 10)\n if (v < 0 || v > 255) {\n return true\n }\n model[i] = v\n }\n\n const v = parseFloat(model[3])\n if (v < 0 || v > 1) {\n return true\n }\n model[3] = v\n }\n else {\n return true\n }\n\n if (\n model[0] < 0 || model[0] > 255 ||\n model[1] < 0 || model[1] > 255 ||\n model[2] < 0 || model[2] > 255 ||\n (this.hasAlpha === true && (model[3] < 0 || model[3] > 1))\n ) {\n return true\n }\n\n rgb = {\n r: model[0],\n g: model[1],\n b: model[2],\n a: this.hasAlpha === true\n ? model[3] * 100\n : void 0\n }\n }\n\n const hsv = rgbToHsv(rgb)\n this.model.h = hsv.h\n this.model.s = hsv.s\n this.model.v = hsv.v\n\n this.__update(rgb, change)\n\n if (change !== true) {\n const index = evt.target.selectionEnd\n this.$nextTick(() => {\n evt.target.setSelectionRange(index, index)\n })\n }\n },\n\n __onPalettePick (color) {\n const def = this.__parseModel(color)\n const rgb = { r: def.r, g: def.g, b: def.b, a: def.a }\n\n if (rgb.a === void 0) {\n rgb.a = this.model.a\n }\n\n this.model.h = def.h\n this.model.s = def.s\n this.model.v = def.v\n\n this.__update(rgb, true)\n },\n\n __update (rgb, change) {\n // update internally\n this.model.hex = rgbToHex(rgb)\n this.model.rgb = rgbToString(rgb)\n this.model.r = rgb.r\n this.model.g = rgb.g\n this.model.b = rgb.b\n this.model.a = rgb.a\n\n const value = this.model[this.isOutputHex === true ? 'hex' : 'rgb']\n\n // emit new value\n this.$emit('input', value)\n change === true && this.$emit('change', value)\n },\n\n __updateErrorIcon (val) {\n // we MUST avoid vue triggering a render,\n // so manually changing this\n if (this.$refs.errorIcon !== void 0) {\n this.$refs.errorIcon.$el.style.opacity = val ? 1 : 0\n }\n },\n\n __parseModel (v) {\n const forceAlpha = this.forceAlpha !== void 0\n ? this.forceAlpha\n : (\n this.formatModel === 'auto'\n ? null\n : this.formatModel.indexOf('a') > -1\n )\n\n if (typeof v !== 'string' || v.length === 0 || testPattern.anyColor(v.replace(/ /g, '')) !== true) {\n return {\n h: 0,\n s: 0,\n v: 0,\n r: 0,\n g: 0,\n b: 0,\n a: forceAlpha === true ? 100 : void 0,\n hex: void 0,\n rgb: void 0\n }\n }\n\n const model = textToRgb(v)\n\n if (forceAlpha === true && model.a === void 0) {\n model.a = 100\n }\n\n model.hex = rgbToHex(model)\n model.rgb = rgbToString(model)\n\n return Object.assign(model, rgbToHsv(model))\n },\n\n __spectrumPan (evt) {\n if (evt.isFinal) {\n this.__onSpectrumChange(\n evt.position.left,\n evt.position.top,\n true\n )\n }\n else {\n this.__spectrumChange(evt)\n }\n },\n\n // throttled in created()\n __spectrumChange (evt) {\n this.__onSpectrumChange(\n evt.position.left,\n evt.position.top\n )\n },\n\n __spectrumClick (evt) {\n this.__onSpectrumChange(\n evt.pageX - window.pageXOffset,\n evt.pageY - window.pageYOffset,\n true\n )\n },\n\n __activate (evt) {\n this.__onSpectrumChange(\n evt.pageX - window.pageXOffset,\n evt.pageY - window.pageYOffset\n )\n }\n }\n})\n","// taken from https://github.com/jalaali/jalaali-js\n\n/*\n Jalaali years starting the 33-year rule.\n*/\nconst breaks = [ -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210,\n 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178\n]\n\n/*\n Converts a Gregorian date to Jalaali.\n*/\nexport function toJalaali (gy, gm, gd) {\n if (Object.prototype.toString.call(gy) === '[object Date]') {\n gd = gy.getDate()\n gm = gy.getMonth() + 1\n gy = gy.getFullYear()\n }\n return d2j(g2d(gy, gm, gd))\n}\n\n/*\n Converts a Jalaali date to Gregorian.\n*/\nexport function toGregorian (jy, jm, jd) {\n return d2g(j2d(jy, jm, jd))\n}\n\n/*\n Checks whether a Jalaali date is valid or not.\n*/\nexport function isValidJalaaliDate (jy, jm, jd) {\n return jy >= -61 && jy <= 3177 &&\n jm >= 1 && jm <= 12 &&\n jd >= 1 && jd <= jalaaliMonthLength(jy, jm)\n}\n\n/*\n Is this a leap year or not?\n*/\nfunction isLeapJalaaliYear (jy) {\n return jalCalLeap(jy) === 0\n}\n\n/*\n Number of days in a given month in a Jalaali year.\n*/\nexport function jalaaliMonthLength (jy, jm) {\n if (jm <= 6) return 31\n if (jm <= 11) return 30\n if (isLeapJalaaliYear(jy)) return 30\n return 29\n}\n\n/*\n This function determines if the Jalaali (Persian) year is\n leap (366-day long) or is the common year (365 days)\n\n @param jy Jalaali calendar year (-61 to 3177)\n @returns number of years since the last leap year (0 to 4)\n */\nfunction jalCalLeap (jy) {\n const bl = breaks.length\n let\n jp = breaks[0],\n jm,\n jump,\n leap,\n n,\n i\n\n if (jy < jp || jy >= breaks[bl - 1]) { throw new Error('Invalid Jalaali year ' + jy) }\n\n for (i = 1; i < bl; i += 1) {\n jm = breaks[i]\n jump = jm - jp\n if (jy < jm) { break }\n jp = jm\n }\n n = jy - jp\n\n if (jump - n < 6) { n = n - jump + div(jump + 4, 33) * 33 }\n leap = mod(mod(n + 1, 33) - 1, 4)\n if (leap === -1) {\n leap = 4\n }\n\n return leap\n}\n\n/*\n This function determines if the Jalaali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalaali year (jy).\n\n @param jy Jalaali calendar year (-61 to 3177)\n @param withoutLeap when don't need leap (true or false) default is false\n @return\n leap: number of years since the last leap year (0 to 4)\n gy: Gregorian year of the beginning of Jalaali year\n march: the March day of Farvardin the 1st (1st day of jy)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n*/\nfunction jalCal (jy, withoutLeap) {\n const\n bl = breaks.length,\n gy = jy + 621\n let\n leapJ = -14,\n jp = breaks[0],\n jm,\n jump,\n leap,\n n,\n i\n\n if (jy < jp || jy >= breaks[bl - 1]) { throw new Error('Invalid Jalaali year ' + jy) }\n\n // Find the limiting years for the Jalaali year jy.\n for (i = 1; i < bl; i += 1) {\n jm = breaks[i]\n jump = jm - jp\n if (jy < jm) { break }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4)\n jp = jm\n }\n n = jy - jp\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalaali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4)\n if (mod(jump, 33) === 4 && jump - n === 4) { leapJ += 1 }\n\n // And the same in the Gregorian calendar (until the year gy).\n const leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG\n\n // Find how many years have passed since the last leap year.\n if (!withoutLeap) {\n if (jump - n < 6) { n = n - jump + div(jump + 4, 33) * 33 }\n leap = mod(mod(n + 1, 33) - 1, 4)\n if (leap === -1) {\n leap = 4\n }\n }\n\n return {\n leap: leap,\n gy: gy,\n march: march\n }\n}\n\n/*\n Converts a date of the Jalaali calendar to the Julian Day number.\n\n @param jy Jalaali year (1 to 3100)\n @param jm Jalaali month (1 to 12)\n @param jd Jalaali day (1 to 29/31)\n @return Julian Day number\n*/\nfunction j2d (jy, jm, jd) {\n const r = jalCal(jy, true)\n return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1\n}\n\n/*\n Converts the Julian Day number to a date in the Jalaali calendar.\n\n @param jdn Julian Day number\n @return\n jy: Jalaali year (1 to 3100)\n jm: Jalaali month (1 to 12)\n jd: Jalaali day (1 to 29/31)\n*/\nfunction d2j (jdn) {\n const gy = d2g(jdn).gy // Calculate Gregorian year (gy).\n let\n jy = gy - 621,\n jd,\n jm,\n k\n const\n r = jalCal(jy, false),\n jdn1f = g2d(gy, 3, r.march)\n\n // Find number of days that passed since 1 Farvardin.\n k = jdn - jdn1f\n if (k >= 0) {\n if (k <= 185) {\n // The first 6 months.\n jm = 1 + div(k, 31)\n jd = mod(k, 31) + 1\n return { jy: jy,\n jm: jm,\n jd: jd\n }\n }\n else {\n // The remaining months.\n k -= 186\n }\n }\n else {\n // Previous Jalaali year.\n jy -= 1\n k += 179\n if (r.leap === 1) { k += 1 }\n }\n jm = 7 + div(k, 30)\n jd = mod(k, 30) + 1\n return { jy: jy,\n jm: jm,\n jd: jd\n }\n}\n\n/*\n Calculates the Julian Day number from Gregorian or Julian\n calendar dates. This integer number corresponds to the noon of\n the date (i.e. 12 hours of Universal Time).\n The procedure was tested to be good since 1 March, -100100 (of both\n calendars) up to a few million years into the future.\n\n @param gy Calendar year (years BC numbered 0, -1, -2, ...)\n @param gm Calendar month (1 to 12)\n @param gd Calendar day of the month (1 to 28/29/30/31)\n @return Julian Day number\n*/\nfunction g2d (gy, gm, gd) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) +\n div(153 * mod(gm + 9, 12) + 2, 5) +\n gd - 34840408\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752\n return d\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n\n @param jdn Julian Day number\n @return\n gy: Calendar year (years BC numbered 0, -1, -2, ...)\n gm: Calendar month (1 to 12)\n gd: Calendar day of the month M (1 to 28/29/30/31)\n*/\nfunction d2g (jdn) {\n let j = 4 * jdn + 139361631\n j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908\n const\n i = div(mod(j, 1461), 4) * 5 + 308,\n gd = div(mod(i, 153), 5) + 1,\n gm = mod(div(i, 153), 12) + 1,\n gy = div(j, 1461) - 100100 + div(8 - gm, 6)\n return {\n gy: gy,\n gm: gm,\n gd: gd\n }\n}\n\n/*\n Utility helper functions.\n*/\n\nfunction div (a, b) {\n return ~~(a / b)\n}\n\nfunction mod (a, b) {\n return a - ~~(a / b) * b\n}\n","import { toJalaali } from '../utils/date-persian.js'\n\nimport DarkMixin from './dark.js'\nimport FormMixin from './form.js'\nimport ListenersMixin from './listeners.js'\n\nimport { pad } from '../utils/format.js'\n\nconst calendars = [ 'gregorian', 'persian' ]\n\nexport default {\n mixins: [ DarkMixin, FormMixin, ListenersMixin ],\n\n props: {\n value: {\n required: true\n },\n\n mask: {\n type: String\n },\n locale: Object,\n\n calendar: {\n type: String,\n validator: v => calendars.includes(v),\n default: 'gregorian'\n },\n\n landscape: Boolean,\n\n color: String,\n textColor: String,\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean,\n\n readonly: Boolean,\n disable: Boolean\n },\n\n computed: {\n computedMask () {\n return this.__getMask()\n },\n\n computedLocale () {\n return this.__getLocale()\n },\n\n editable () {\n return this.disable !== true && this.readonly !== true\n },\n\n computedColor () {\n return this.color || 'primary'\n },\n\n computedTextColor () {\n return this.textColor || 'white'\n },\n\n computedTabindex () {\n return this.editable === true ? 0 : -1\n },\n\n headerClass () {\n const cls = []\n this.color !== void 0 && cls.push(`bg-${this.color}`)\n this.textColor !== void 0 && cls.push(`text-${this.textColor}`)\n return cls.join(' ')\n }\n },\n\n methods: {\n __getLocale () {\n return this.locale !== void 0\n ? { ...this.$q.lang.date, ...this.locale }\n : this.$q.lang.date\n },\n\n __getCurrentDate (dateOnly) {\n const d = new Date()\n const timeFill = dateOnly === true ? null : 0\n\n if (this.calendar === 'persian') {\n const jDate = toJalaali(d)\n return {\n year: jDate.jy,\n month: jDate.jm,\n day: jDate.jd\n }\n }\n\n return {\n year: d.getFullYear(),\n month: d.getMonth() + 1,\n day: d.getDate(),\n hour: timeFill,\n minute: timeFill,\n second: timeFill,\n millisecond: timeFill\n }\n },\n\n __getCurrentTime () {\n const d = new Date()\n\n return {\n hour: d.getHours(),\n minute: d.getMinutes(),\n second: d.getSeconds(),\n millisecond: d.getMilliseconds()\n }\n },\n\n __getDayHash (date) {\n return date.year + '/' + pad(date.month) + '/' + pad(date.day)\n }\n }\n}\n","/* eslint no-fallthrough: 0 */\n\nimport { isDate } from './is.js'\nimport { pad, capitalize } from './format.js'\nimport { jalaaliMonthLength } from './date-persian.js'\nimport lang, { defaultLang } from '../lang.js'\n\nconst\n MILLISECONDS_IN_DAY = 86400000,\n MILLISECONDS_IN_HOUR = 3600000,\n MILLISECONDS_IN_MINUTE = 60000,\n defaultMask = 'YYYY-MM-DDTHH:mm:ss.SSSZ',\n token = /\\[((?:[^\\]\\\\]|\\\\]|\\\\)*)\\]|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,\n reverseToken = /(\\[[^\\]]*\\])|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\\s${}()|\\\\]+)/g,\n regexStore = {}\n\nfunction getRegexData (mask, dateLocale) {\n const\n days = '(' + dateLocale.days.join('|') + ')',\n key = mask + days\n\n if (regexStore[ key ] !== void 0) {\n return regexStore[ key ]\n }\n\n const\n daysShort = '(' + dateLocale.daysShort.join('|') + ')',\n months = '(' + dateLocale.months.join('|') + ')',\n monthsShort = '(' + dateLocale.monthsShort.join('|') + ')'\n\n const map = {}\n let index = 0\n\n const regexText = mask.replace(reverseToken, match => {\n index++\n switch (match) {\n case 'YY':\n map.YY = index\n return '(-?\\\\d{1,2})'\n case 'YYYY':\n map.YYYY = index\n return '(-?\\\\d{1,4})'\n case 'M':\n map.M = index\n return '(\\\\d{1,2})'\n case 'MM':\n map.M = index // bumping to M\n return '(\\\\d{2})'\n case 'MMM':\n map.MMM = index\n return monthsShort\n case 'MMMM':\n map.MMMM = index\n return months\n case 'D':\n map.D = index\n return '(\\\\d{1,2})'\n case 'Do':\n map.D = index++ // bumping to D\n return '(\\\\d{1,2}(st|nd|rd|th))'\n case 'DD':\n map.D = index // bumping to D\n return '(\\\\d{2})'\n case 'H':\n map.H = index\n return '(\\\\d{1,2})'\n case 'HH':\n map.H = index // bumping to H\n return '(\\\\d{2})'\n case 'h':\n map.h = index\n return '(\\\\d{1,2})'\n case 'hh':\n map.h = index // bumping to h\n return '(\\\\d{2})'\n case 'm':\n map.m = index\n return '(\\\\d{1,2})'\n case 'mm':\n map.m = index // bumping to m\n return '(\\\\d{2})'\n case 's':\n map.s = index\n return '(\\\\d{1,2})'\n case 'ss':\n map.s = index // bumping to s\n return '(\\\\d{2})'\n case 'S':\n map.S = index\n return '(\\\\d{1})'\n case 'SS':\n map.S = index // bump to S\n return '(\\\\d{2})'\n case 'SSS':\n map.S = index // bump to S\n return '(\\\\d{3})'\n case 'A':\n map.A = index\n return '(AM|PM)'\n case 'a':\n map.a = index\n return '(am|pm)'\n case 'aa':\n map.aa = index\n return '(a\\\\.m\\\\.|p\\\\.m\\\\.)'\n\n case 'ddd':\n return daysShort\n case 'dddd':\n return days\n case 'Q':\n case 'd':\n case 'E':\n return '(\\\\d{1})'\n case 'Qo':\n return '(1st|2nd|3rd|4th)'\n case 'DDD':\n case 'DDDD':\n return '(\\\\d{1,3})'\n case 'w':\n return '(\\\\d{1,2})'\n case 'ww':\n return '(\\\\d{2})'\n\n case 'Z': // to split: (?:(Z)()()|([+-])?(\\\\d{2}):?(\\\\d{2}))\n map.Z = index\n return '(Z|[+-]\\\\d{2}:\\\\d{2})'\n case 'ZZ':\n map.ZZ = index\n return '(Z|[+-]\\\\d{2}\\\\d{2})'\n\n case 'X':\n map.X = index\n return '(-?\\\\d+)'\n case 'x':\n map.x = index\n return '(-?\\\\d{4,})'\n\n default:\n index--\n if (match[ 0 ] === '[') {\n match = match.substring(1, match.length - 1)\n }\n return match.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n }\n })\n\n const res = { map, regex: new RegExp('^' + regexText) }\n regexStore[ key ] = res\n\n return res\n}\n\nfunction getDateLocale (paramDateLocale, langProps) {\n return paramDateLocale !== void 0\n ? paramDateLocale\n : (\n langProps !== void 0\n ? langProps.date\n : defaultLang.date\n )\n}\n\nfunction formatTimezone (offset, delimeter = '') {\n const\n sign = offset > 0 ? '-' : '+',\n absOffset = Math.abs(offset),\n hours = Math.floor(absOffset / 60),\n minutes = absOffset % 60\n\n return sign + pad(hours) + delimeter + pad(minutes)\n}\n\nfunction applyYearMonthDayChange (date, mod, sign) {\n let\n year = date.getFullYear(),\n month = date.getMonth()\n\n const day = date.getDate()\n\n if (mod.year !== void 0) {\n year += sign * mod.year\n delete mod.year\n }\n\n if (mod.month !== void 0) {\n month += sign * mod.month\n delete mod.month\n }\n\n date.setDate(1)\n date.setMonth(2)\n\n date.setFullYear(year)\n date.setMonth(month)\n date.setDate(Math.min(day, daysInMonth(date)))\n\n if (mod.date !== void 0) {\n date.setDate(date.getDate() + sign * mod.date)\n delete mod.date\n }\n\n return date\n}\n\nfunction applyYearMonthDay (date, mod, middle) {\n const\n year = mod.year !== void 0 ? mod.year : date[ `get${middle}FullYear` ](),\n month = mod.month !== void 0 ? mod.month - 1 : date[ `get${middle}Month` ](),\n maxDay = (new Date(year, month + 1, 0)).getDate(),\n day = Math.min(maxDay, mod.date !== void 0 ? mod.date : date[ `get${middle}Date` ]())\n\n date[ `set${middle}Date` ](1)\n date[ `set${middle}Month` ](2)\n\n date[ `set${middle}FullYear` ](year)\n date[ `set${middle}Month` ](month)\n date[ `set${middle}Date` ](day)\n\n delete mod.year\n delete mod.month\n delete mod.date\n\n return date\n}\n\nfunction getChange (date, rawMod, sign) {\n const\n mod = normalizeMod(rawMod),\n d = new Date(date),\n t = mod.year !== void 0 || mod.month !== void 0 || mod.date !== void 0\n ? applyYearMonthDayChange(d, mod, sign) // removes year/month/day\n : d\n\n for (const key in mod) {\n const op = capitalize(key)\n t[ `set${op}` ](t[ `get${op}` ]() + sign * mod[ key ])\n }\n\n return t\n}\n\nfunction normalizeMod (mod) {\n const acc = { ...mod }\n\n if (mod.years !== void 0) {\n acc.year = mod.years\n delete acc.years\n }\n\n if (mod.months !== void 0) {\n acc.month = mod.months\n delete acc.months\n }\n\n if (mod.days !== void 0) {\n acc.date = mod.days\n delete acc.days\n }\n if (mod.day !== void 0) {\n acc.date = mod.day\n delete acc.day\n }\n\n if (mod.hour !== void 0) {\n acc.hours = mod.hour\n delete acc.hour\n }\n\n if (mod.minute !== void 0) {\n acc.minutes = mod.minute\n delete acc.minute\n }\n\n if (mod.second !== void 0) {\n acc.seconds = mod.second\n delete acc.second\n }\n\n if (mod.millisecond !== void 0) {\n acc.milliseconds = mod.millisecond\n delete acc.millisecond\n }\n\n return acc\n}\n\nexport function adjustDate (date, rawMod, utc) {\n const\n mod = normalizeMod(rawMod),\n middle = utc === true ? 'UTC' : '',\n d = new Date(date),\n t = mod.year !== void 0 || mod.month !== void 0 || mod.date !== void 0\n ? applyYearMonthDay(d, mod, middle) // removes year/month/day\n : d\n\n for (const key in mod) {\n const op = key.charAt(0).toUpperCase() + key.slice(1)\n t[ `set${middle}${op}` ](mod[ key ])\n }\n\n return t\n}\n\nexport function extractDate (str, mask, dateLocale) {\n const d = __splitDate(str, mask, dateLocale)\n\n const date = new Date(\n d.year,\n d.month === null ? null : d.month - 1,\n d.day,\n d.hour,\n d.minute,\n d.second,\n d.millisecond\n )\n\n const tzOffset = date.getTimezoneOffset()\n\n return d.timezoneOffset === null || d.timezoneOffset === tzOffset\n ? date\n : getChange(date, { minutes: d.timezoneOffset - tzOffset }, 1)\n}\n\nexport function __splitDate (str, mask, dateLocale, calendar, defaultModel) {\n const date = {\n year: null,\n month: null,\n day: null,\n hour: null,\n minute: null,\n second: null,\n millisecond: null,\n timezoneOffset: null,\n dateHash: null,\n timeHash: null\n }\n\n defaultModel !== void 0 && Object.assign(date, defaultModel)\n\n if (\n str === void 0 ||\n str === null ||\n str === '' ||\n typeof str !== 'string'\n ) {\n return date\n }\n\n if (mask === void 0) {\n mask = defaultMask\n }\n\n const\n langOpts = getDateLocale(dateLocale, lang.props),\n months = langOpts.months,\n monthsShort = langOpts.monthsShort\n\n const { regex, map } = getRegexData(mask, langOpts)\n\n const match = str.match(regex)\n\n if (match === null) {\n return date\n }\n\n let tzString = ''\n\n if (map.X !== void 0 || map.x !== void 0) {\n const stamp = parseInt(match[ map.X !== void 0 ? map.X : map.x ], 10)\n\n if (isNaN(stamp) === true || stamp < 0) {\n return date\n }\n\n const d = new Date(stamp * (map.X !== void 0 ? 1000 : 1))\n\n date.year = d.getFullYear()\n date.month = d.getMonth() + 1\n date.day = d.getDate()\n date.hour = d.getHours()\n date.minute = d.getMinutes()\n date.second = d.getSeconds()\n date.millisecond = d.getMilliseconds()\n }\n else {\n if (map.YYYY !== void 0) {\n date.year = parseInt(match[ map.YYYY ], 10)\n }\n else if (map.YY !== void 0) {\n const y = parseInt(match[ map.YY ], 10)\n date.year = y < 0 ? y : 2000 + y\n }\n\n if (map.M !== void 0) {\n date.month = parseInt(match[ map.M ], 10)\n if (date.month < 1 || date.month > 12) {\n return date\n }\n }\n else if (map.MMM !== void 0) {\n date.month = monthsShort.indexOf(match[ map.MMM ]) + 1\n }\n else if (map.MMMM !== void 0) {\n date.month = months.indexOf(match[ map.MMMM ]) + 1\n }\n\n if (map.D !== void 0) {\n date.day = parseInt(match[ map.D ], 10)\n\n if (date.year === null || date.month === null || date.day < 1) {\n return date\n }\n\n const maxDay = calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n\n if (date.day > maxDay) {\n return date\n }\n }\n\n if (map.H !== void 0) {\n date.hour = parseInt(match[ map.H ], 10) % 24\n }\n else if (map.h !== void 0) {\n date.hour = parseInt(match[ map.h ], 10) % 12\n if (\n (map.A && match[ map.A ] === 'PM') ||\n (map.a && match[ map.a ] === 'pm') ||\n (map.aa && match[ map.aa ] === 'p.m.')\n ) {\n date.hour += 12\n }\n date.hour = date.hour % 24\n }\n\n if (map.m !== void 0) {\n date.minute = parseInt(match[ map.m ], 10) % 60\n }\n\n if (map.s !== void 0) {\n date.second = parseInt(match[ map.s ], 10) % 60\n }\n\n if (map.S !== void 0) {\n date.millisecond = parseInt(match[ map.S ], 10) * 10 ** (3 - match[ map.S ].length)\n }\n\n if (map.Z !== void 0 || map.ZZ !== void 0) {\n tzString = (map.Z !== void 0 ? match[ map.Z ].replace(':', '') : match[ map.ZZ ])\n date.timezoneOffset = (tzString[ 0 ] === '+' ? -1 : 1) * (60 * tzString.slice(1, 3) + 1 * tzString.slice(3, 5))\n }\n }\n\n date.dateHash = pad(date.year, 6) + '/' + pad(date.month) + '/' + pad(date.day)\n date.timeHash = pad(date.hour) + ':' + pad(date.minute) + ':' + pad(date.second) + tzString\n\n return date\n}\n\nexport function isValid (date) {\n return typeof date === 'number'\n ? true\n : isNaN(Date.parse(date)) === false\n}\n\nexport function buildDate (mod, utc) {\n return adjustDate(new Date(), mod, utc)\n}\n\nexport function getDayOfWeek (date) {\n const dow = new Date(date).getDay()\n return dow === 0 ? 7 : dow\n}\n\nexport function getWeekOfYear (date) {\n // Remove time components of date\n const thursday = new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\n // Change date to Thursday same week\n thursday.setDate(thursday.getDate() - ((thursday.getDay() + 6) % 7) + 3)\n\n // Take January 4th as it is always in week 1 (see ISO 8601)\n const firstThursday = new Date(thursday.getFullYear(), 0, 4)\n\n // Change date to Thursday same week\n firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3)\n\n // Check if daylight-saving-time-switch occurred and correct for it\n const ds = thursday.getTimezoneOffset() - firstThursday.getTimezoneOffset()\n thursday.setHours(thursday.getHours() - ds)\n\n // Number of weeks between target Thursday and first Thursday\n const weekDiff = (thursday - firstThursday) / (MILLISECONDS_IN_DAY * 7)\n return 1 + Math.floor(weekDiff)\n}\n\nfunction getDayIdentifier (date) {\n return date.getFullYear() * 10000 + date.getMonth() * 100 + date.getDate()\n}\n\nfunction getDateIdentifier (date, onlyDate /* = false */) {\n const d = new Date(date)\n return onlyDate === true ? getDayIdentifier(d) : d.getTime()\n}\n\nexport function isBetweenDates (date, from, to, opts = {}) {\n const\n d1 = getDateIdentifier(from, opts.onlyDate),\n d2 = getDateIdentifier(to, opts.onlyDate),\n cur = getDateIdentifier(date, opts.onlyDate)\n\n return (cur > d1 || (opts.inclusiveFrom === true && cur === d1)) &&\n (cur < d2 || (opts.inclusiveTo === true && cur === d2))\n}\n\nexport function addToDate (date, mod) {\n return getChange(date, mod, 1)\n}\nexport function subtractFromDate (date, mod) {\n return getChange(date, mod, -1)\n}\n\nexport function startOfDate (date, unit, utc) {\n const\n t = new Date(date),\n prefix = `set${utc === true ? 'UTC' : ''}`\n\n switch (unit) {\n case 'year':\n case 'years':\n t[ `${prefix}Month` ](0)\n case 'month':\n case 'months':\n t[ `${prefix}Date` ](1)\n case 'day':\n case 'days':\n case 'date':\n t[ `${prefix}Hours` ](0)\n case 'hour':\n case 'hours':\n t[ `${prefix}Minutes` ](0)\n case 'minute':\n case 'minutes':\n t[ `${prefix}Seconds` ](0)\n case 'second':\n case 'seconds':\n t[ `${prefix}Milliseconds` ](0)\n }\n return t\n}\n\nexport function endOfDate (date, unit, utc) {\n const\n t = new Date(date),\n prefix = `set${utc === true ? 'UTC' : ''}`\n\n switch (unit) {\n case 'year':\n case 'years':\n t[ `${prefix}Month` ](11)\n case 'month':\n case 'months':\n t[ `${prefix}Date` ](daysInMonth(t))\n case 'day':\n case 'days':\n case 'date':\n t[ `${prefix}Hours` ](23)\n case 'hour':\n case 'hours':\n t[ `${prefix}Minutes` ](59)\n case 'minute':\n case 'minutes':\n t[ `${prefix}Seconds` ](59)\n case 'second':\n case 'seconds':\n t[ `${prefix}Milliseconds` ](999)\n }\n return t\n}\n\nexport function getMaxDate (date /* , ...args */) {\n let t = new Date(date)\n Array.prototype.slice.call(arguments, 1).forEach(d => {\n t = Math.max(t, new Date(d))\n })\n return t\n}\n\nexport function getMinDate (date /*, ...args */) {\n let t = new Date(date)\n Array.prototype.slice.call(arguments, 1).forEach(d => {\n t = Math.min(t, new Date(d))\n })\n return t\n}\n\nfunction getDiff (t, sub, interval) {\n return (\n (t.getTime() - t.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) -\n (sub.getTime() - sub.getTimezoneOffset() * MILLISECONDS_IN_MINUTE)\n ) / interval\n}\n\nexport function getDateDiff (date, subtract, unit = 'days') {\n const\n t = new Date(date),\n sub = new Date(subtract)\n\n switch (unit) {\n case 'years':\n case 'year':\n return (t.getFullYear() - sub.getFullYear())\n\n case 'months':\n case 'month':\n return (t.getFullYear() - sub.getFullYear()) * 12 + t.getMonth() - sub.getMonth()\n\n case 'days':\n case 'day':\n case 'date':\n return getDiff(startOfDate(t, 'day'), startOfDate(sub, 'day'), MILLISECONDS_IN_DAY)\n\n case 'hours':\n case 'hour':\n return getDiff(startOfDate(t, 'hour'), startOfDate(sub, 'hour'), MILLISECONDS_IN_HOUR)\n\n case 'minutes':\n case 'minute':\n return getDiff(startOfDate(t, 'minute'), startOfDate(sub, 'minute'), MILLISECONDS_IN_MINUTE)\n\n case 'seconds':\n case 'second':\n return getDiff(startOfDate(t, 'second'), startOfDate(sub, 'second'), 1000)\n }\n}\n\nexport function getDayOfYear (date) {\n return getDateDiff(date, startOfDate(date, 'year'), 'days') + 1\n}\n\nexport function inferDateFormat (date) {\n return isDate(date) === true\n ? 'date'\n : (typeof date === 'number' ? 'number' : 'string')\n}\n\nexport function getDateBetween (date, min, max) {\n const t = new Date(date)\n\n if (min) {\n const low = new Date(min)\n if (t < low) {\n return low\n }\n }\n\n if (max) {\n const high = new Date(max)\n if (t > high) {\n return high\n }\n }\n\n return t\n}\n\nexport function isSameDate (date, date2, unit) {\n const\n t = new Date(date),\n d = new Date(date2)\n\n if (unit === void 0) {\n return t.getTime() === d.getTime()\n }\n\n switch (unit) {\n case 'second':\n case 'seconds':\n if (t.getSeconds() !== d.getSeconds()) {\n return false\n }\n case 'minute': // intentional fall-through\n case 'minutes':\n if (t.getMinutes() !== d.getMinutes()) {\n return false\n }\n case 'hour': // intentional fall-through\n case 'hours':\n if (t.getHours() !== d.getHours()) {\n return false\n }\n case 'day': // intentional fall-through\n case 'days':\n case 'date':\n if (t.getDate() !== d.getDate()) {\n return false\n }\n case 'month': // intentional fall-through\n case 'months':\n if (t.getMonth() !== d.getMonth()) {\n return false\n }\n case 'year': // intentional fall-through\n case 'years':\n if (t.getFullYear() !== d.getFullYear()) {\n return false\n }\n break\n default:\n throw new Error(`date isSameDate unknown unit ${unit}`)\n }\n\n return true\n}\n\nexport function daysInMonth (date) {\n return (new Date(date.getFullYear(), date.getMonth() + 1, 0)).getDate()\n}\n\nfunction getOrdinal (n) {\n if (n >= 11 && n <= 13) {\n return `${n}th`\n }\n switch (n % 10) {\n case 1: return `${n}st`\n case 2: return `${n}nd`\n case 3: return `${n}rd`\n }\n return `${n}th`\n}\n\nconst formatter = {\n // Year: 00, 01, ..., 99\n YY (date, _, forcedYear) {\n // workaround for < 1900 with new Date()\n const y = this.YYYY(date, _, forcedYear) % 100\n return y > 0\n ? pad(y)\n : '-' + pad(Math.abs(y))\n },\n\n // Year: 1900, 1901, ..., 2099\n YYYY (date, _, forcedYear) {\n // workaround for < 1900 with new Date()\n return forcedYear !== void 0 && forcedYear !== null\n ? forcedYear\n : date.getFullYear()\n },\n\n // Month: 1, 2, ..., 12\n M (date) {\n return date.getMonth() + 1\n },\n\n // Month: 01, 02, ..., 12\n MM (date) {\n return pad(date.getMonth() + 1)\n },\n\n // Month Short Name: Jan, Feb, ...\n MMM (date, dateLocale) {\n return dateLocale.monthsShort[ date.getMonth() ]\n },\n\n // Month Name: January, February, ...\n MMMM (date, dateLocale) {\n return dateLocale.months[ date.getMonth() ]\n },\n\n // Quarter: 1, 2, 3, 4\n Q (date) {\n return Math.ceil((date.getMonth() + 1) / 3)\n },\n\n // Quarter: 1st, 2nd, 3rd, 4th\n Qo (date) {\n return getOrdinal(this.Q(date))\n },\n\n // Day of month: 1, 2, ..., 31\n D (date) {\n return date.getDate()\n },\n\n // Day of month: 1st, 2nd, ..., 31st\n Do (date) {\n return getOrdinal(date.getDate())\n },\n\n // Day of month: 01, 02, ..., 31\n DD (date) {\n return pad(date.getDate())\n },\n\n // Day of year: 1, 2, ..., 366\n DDD (date) {\n return getDayOfYear(date)\n },\n\n // Day of year: 001, 002, ..., 366\n DDDD (date) {\n return pad(getDayOfYear(date), 3)\n },\n\n // Day of week: 0, 1, ..., 6\n d (date) {\n return date.getDay()\n },\n\n // Day of week: Su, Mo, ...\n dd (date, dateLocale) {\n return this.dddd(date, dateLocale).slice(0, 2)\n },\n\n // Day of week: Sun, Mon, ...\n ddd (date, dateLocale) {\n return dateLocale.daysShort[ date.getDay() ]\n },\n\n // Day of week: Sunday, Monday, ...\n dddd (date, dateLocale) {\n return dateLocale.days[ date.getDay() ]\n },\n\n // Day of ISO week: 1, 2, ..., 7\n E (date) {\n return date.getDay() || 7\n },\n\n // Week of Year: 1 2 ... 52 53\n w (date) {\n return getWeekOfYear(date)\n },\n\n // Week of Year: 01 02 ... 52 53\n ww (date) {\n return pad(getWeekOfYear(date))\n },\n\n // Hour: 0, 1, ... 23\n H (date) {\n return date.getHours()\n },\n\n // Hour: 00, 01, ..., 23\n HH (date) {\n return pad(date.getHours())\n },\n\n // Hour: 1, 2, ..., 12\n h (date) {\n const hours = date.getHours()\n if (hours === 0) {\n return 12\n }\n if (hours > 12) {\n return hours % 12\n }\n return hours\n },\n\n // Hour: 01, 02, ..., 12\n hh (date) {\n return pad(this.h(date))\n },\n\n // Minute: 0, 1, ..., 59\n m (date) {\n return date.getMinutes()\n },\n\n // Minute: 00, 01, ..., 59\n mm (date) {\n return pad(date.getMinutes())\n },\n\n // Second: 0, 1, ..., 59\n s (date) {\n return date.getSeconds()\n },\n\n // Second: 00, 01, ..., 59\n ss (date) {\n return pad(date.getSeconds())\n },\n\n // 1/10 of second: 0, 1, ..., 9\n S (date) {\n return Math.floor(date.getMilliseconds() / 100)\n },\n\n // 1/100 of second: 00, 01, ..., 99\n SS (date) {\n return pad(Math.floor(date.getMilliseconds() / 10))\n },\n\n // Millisecond: 000, 001, ..., 999\n SSS (date) {\n return pad(date.getMilliseconds(), 3)\n },\n\n // Meridiem: AM, PM\n A (date) {\n return this.H(date) < 12 ? 'AM' : 'PM'\n },\n\n // Meridiem: am, pm\n a (date) {\n return this.H(date) < 12 ? 'am' : 'pm'\n },\n\n // Meridiem: a.m., p.m.\n aa (date) {\n return this.H(date) < 12 ? 'a.m.' : 'p.m.'\n },\n\n // Timezone: -01:00, +00:00, ... +12:00\n Z (date, dateLocale, forcedYear, forcedTimezoneOffset) {\n const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null\n ? date.getTimezoneOffset()\n : forcedTimezoneOffset\n\n return formatTimezone(tzOffset, ':')\n },\n\n // Timezone: -0100, +0000, ... +1200\n ZZ (date, dateLocale, forcedYear, forcedTimezoneOffset) {\n const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null\n ? date.getTimezoneOffset()\n : forcedTimezoneOffset\n\n return formatTimezone(tzOffset)\n },\n\n // Seconds timestamp: 512969520\n X (date) {\n return Math.floor(date.getTime() / 1000)\n },\n\n // Milliseconds timestamp: 512969520900\n x (date) {\n return date.getTime()\n }\n}\n\nexport function formatDate (val, mask, dateLocale, __forcedYear, __forcedTimezoneOffset) {\n if (\n (val !== 0 && !val) ||\n val === Infinity ||\n val === -Infinity\n ) {\n return\n }\n\n const date = new Date(val)\n\n if (isNaN(date)) {\n return\n }\n\n if (mask === void 0) {\n mask = defaultMask\n }\n\n const locale = getDateLocale(dateLocale, lang.props)\n\n return mask.replace(\n token,\n (match, text) => (\n match in formatter\n ? formatter[ match ](date, locale, __forcedYear, __forcedTimezoneOffset)\n : (text === void 0 ? match : text.split('\\\\]').join(']'))\n )\n )\n}\n\nexport function clone (date) {\n return isDate(date) === true\n ? new Date(date.getTime())\n : date\n}\n\nexport default {\n isValid,\n extractDate,\n buildDate,\n getDayOfWeek,\n getWeekOfYear,\n isBetweenDates,\n addToDate,\n subtractFromDate,\n adjustDate,\n startOfDate,\n endOfDate,\n getMaxDate,\n getMinDate,\n getDateDiff,\n getDayOfYear,\n inferDateFormat,\n getDateBetween,\n isSameDate,\n daysInMonth,\n formatDate,\n clone\n}\n","import { getEventPath, listenOpts, stopAndPrevent } from '../utils/event.js'\nimport { hasScrollbar, getScrollPosition, getHorizontalScrollPosition } from '../utils/scroll.js'\nimport { client } from '../plugins/Platform.js'\n\nlet\n registered = 0,\n scrollPositionX,\n scrollPositionY,\n maxScrollTop,\n vpPendingUpdate = false,\n bodyLeft,\n bodyTop,\n closeTimer\n\nfunction onWheel (e) {\n if (shouldPreventScroll(e)) {\n stopAndPrevent(e)\n }\n}\n\nfunction shouldPreventScroll (e) {\n if (e.target === document.body || e.target.classList.contains('q-layout__backdrop')) {\n return true\n }\n\n const\n path = getEventPath(e),\n shift = e.shiftKey && !e.deltaX,\n scrollY = !shift && Math.abs(e.deltaX) <= Math.abs(e.deltaY),\n delta = shift || scrollY ? e.deltaY : e.deltaX\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (hasScrollbar(el, scrollY)) {\n return scrollY\n ? (\n delta < 0 && el.scrollTop === 0\n ? true\n : delta > 0 && el.scrollTop + el.clientHeight === el.scrollHeight\n )\n : (\n delta < 0 && el.scrollLeft === 0\n ? true\n : delta > 0 && el.scrollLeft + el.clientWidth === el.scrollWidth\n )\n }\n }\n\n return true\n}\n\nfunction onAppleScroll (e) {\n if (e.target === document) {\n // required, otherwise iOS blocks further scrolling\n // until the mobile scrollbar dissappears\n document.scrollingElement.scrollTop = document.scrollingElement.scrollTop // eslint-disable-line\n }\n}\n\nfunction onAppleResize (evt) {\n if (vpPendingUpdate === true) {\n return\n }\n\n vpPendingUpdate = true\n\n requestAnimationFrame(() => {\n vpPendingUpdate = false\n\n const\n { height } = evt.target,\n { clientHeight, scrollTop } = document.scrollingElement\n\n if (maxScrollTop === void 0 || height !== window.innerHeight) {\n maxScrollTop = clientHeight - height\n document.scrollingElement.scrollTop = scrollTop\n }\n\n if (scrollTop > maxScrollTop) {\n document.scrollingElement.scrollTop -= Math.ceil((scrollTop - maxScrollTop) / 8)\n }\n })\n}\n\nfunction apply (action) {\n const\n body = document.body,\n hasViewport = window.visualViewport !== void 0\n\n if (action === 'add') {\n const overflowY = window.getComputedStyle(body).overflowY\n\n scrollPositionX = getHorizontalScrollPosition(window)\n scrollPositionY = getScrollPosition(window)\n bodyLeft = body.style.left\n bodyTop = body.style.top\n\n body.style.left = `-${scrollPositionX}px`\n body.style.top = `-${scrollPositionY}px`\n if (overflowY !== 'hidden' && (overflowY === 'scroll' || body.scrollHeight > window.innerHeight)) {\n body.classList.add('q-body--force-scrollbar')\n }\n\n body.classList.add('q-body--prevent-scroll')\n document.qScrollPrevented = true\n if (client.is.ios === true) {\n if (hasViewport === true) {\n window.scrollTo(0, 0)\n window.visualViewport.addEventListener('resize', onAppleResize, listenOpts.passiveCapture)\n window.visualViewport.addEventListener('scroll', onAppleResize, listenOpts.passiveCapture)\n window.scrollTo(0, 0)\n }\n else {\n window.addEventListener('scroll', onAppleScroll, listenOpts.passiveCapture)\n }\n }\n }\n\n if (client.is.desktop === true && client.is.mac === true) {\n // ref. https://developers.google.com/web/updates/2017/01/scrolling-intervention\n window[`${action}EventListener`]('wheel', onWheel, listenOpts.notPassive)\n }\n\n if (action === 'remove') {\n if (client.is.ios === true) {\n if (hasViewport === true) {\n window.visualViewport.removeEventListener('resize', onAppleResize, listenOpts.passiveCapture)\n window.visualViewport.removeEventListener('scroll', onAppleResize, listenOpts.passiveCapture)\n }\n else {\n window.removeEventListener('scroll', onAppleScroll, listenOpts.passiveCapture)\n }\n }\n\n body.classList.remove('q-body--prevent-scroll')\n body.classList.remove('q-body--force-scrollbar')\n document.qScrollPrevented = false\n\n body.style.left = bodyLeft\n body.style.top = bodyTop\n\n window.scrollTo(scrollPositionX, scrollPositionY)\n maxScrollTop = void 0\n }\n}\n\nexport function preventScroll (state) {\n let action = 'add'\n\n if (state === true) {\n registered++\n\n if (closeTimer !== void 0) {\n clearTimeout(closeTimer)\n closeTimer = void 0\n return\n }\n\n if (registered > 1) {\n return\n }\n }\n else {\n if (registered === 0) {\n return\n }\n\n registered--\n\n if (registered > 0) {\n return\n }\n\n action = 'remove'\n\n if (client.is.ios === true && client.is.nativeMobile === true) {\n clearTimeout(closeTimer)\n\n closeTimer = setTimeout(() => {\n apply(action)\n closeTimer = void 0\n }, 100)\n return\n }\n }\n\n apply(action)\n}\n\nexport default {\n methods: {\n __preventScroll (state) {\n if (\n state !== this.preventedScroll &&\n (this.preventedScroll !== void 0 || state === true)\n ) {\n this.preventedScroll = state\n preventScroll(state)\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport DateTimeMixin from '../../mixins/datetime.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { formatDate, __splitDate, getDateDiff } from '../../utils/date.js'\nimport { pad } from '../../utils/format.js'\nimport { jalaaliMonthLength, toGregorian } from '../../utils/date-persian.js'\nimport cache from '../../utils/cache.js'\nimport { isPlainObject } from '../../utils/is.js'\n\nconst yearsInterval = 20\nconst views = [ 'Calendar', 'Years', 'Months' ]\nconst viewIsValid = v => views.includes(v)\nconst yearMonthValidator = v => /^-?[\\d]+\\/[0-1]\\d$/.test(v)\nconst lineStr = ' \\u2014 '\n\nexport default Vue.extend({\n name: 'QDate',\n\n mixins: [ DateTimeMixin ],\n\n props: {\n multiple: Boolean,\n range: Boolean,\n\n title: String,\n subtitle: String,\n\n mask: {\n // this mask is forced\n // when using persian calendar\n default: 'YYYY/MM/DD'\n },\n\n defaultYearMonth: {\n type: String,\n validator: yearMonthValidator\n },\n\n yearsInMonthView: Boolean,\n\n events: [ Array, Function ],\n eventColor: [ String, Function ],\n\n emitImmediately: Boolean,\n\n options: [ Array, Function ],\n\n navigationMinYearMonth: {\n type: String,\n validator: yearMonthValidator\n },\n\n navigationMaxYearMonth: {\n type: String,\n validator: yearMonthValidator\n },\n\n noUnset: Boolean,\n\n firstDayOfWeek: [ String, Number ],\n todayBtn: Boolean,\n minimal: Boolean,\n defaultView: {\n type: String,\n default: 'Calendar',\n validator: viewIsValid\n }\n },\n\n data () {\n const\n innerMask = this.__getMask(),\n innerLocale = this.__getLocale(),\n viewModel = this.__getViewModel(innerMask, innerLocale),\n year = viewModel.year,\n direction = this.$q.lang.rtl === true ? 'right' : 'left'\n\n return {\n view: this.defaultView,\n monthDirection: direction,\n yearDirection: direction,\n startYear: year - (year % yearsInterval) - (year < 0 ? yearsInterval : 0),\n editRange: void 0,\n innerMask,\n innerLocale,\n viewModel // model of current calendar view\n }\n },\n\n watch: {\n value (v) {\n if (this.lastEmitValue === v) {\n this.lastEmitValue = 0\n }\n else {\n const { year, month } = this.__getViewModel(this.innerMask, this.innerLocale)\n this.__updateViewModel(year, month)\n }\n },\n\n view () {\n this.$refs.blurTarget !== void 0 && this.$refs.blurTarget.focus()\n },\n\n 'viewModel.year' (year) {\n this.$emit('navigation', { year, month: this.viewModel.month })\n },\n\n 'viewModel.month' (month) {\n this.$emit('navigation', { year: this.viewModel.year, month })\n },\n\n computedMask (val) {\n this.__updateValue(val, this.innerLocale, 'mask')\n this.innerMask = val\n },\n\n computedLocale (val) {\n this.__updateValue(this.innerMask, val, 'locale')\n this.innerLocale = val\n }\n },\n\n computed: {\n classes () {\n const type = this.landscape === true ? 'landscape' : 'portrait'\n return `q-date q-date--${type} q-date--${type}-${this.minimal === true ? 'minimal' : 'standard'}` +\n (this.isDark === true ? ' q-date--dark q-dark' : '') +\n (this.bordered === true ? ` q-date--bordered` : '') +\n (this.square === true ? ` q-date--square no-border-radius` : '') +\n (this.flat === true ? ` q-date--flat no-shadow` : '') +\n (this.disable === true ? ' disabled' : (this.readonly === true ? ' q-date--readonly' : ''))\n },\n\n isImmediate () {\n return this.emitImmediately === true &&\n this.multiple !== true &&\n this.range !== true\n },\n\n normalizedModel () {\n return Array.isArray(this.value) === true\n ? this.value\n : (this.value !== null && this.value !== void 0 ? [ this.value ] : [])\n },\n\n daysModel () {\n return this.normalizedModel\n .filter(date => typeof date === 'string')\n .map(date => this.__decodeString(date, this.innerMask, this.innerLocale))\n .filter(date =>\n date.dateHash !== null &&\n date.day !== null &&\n date.month !== null &&\n date.year !== null\n )\n },\n\n rangeModel () {\n const fn = date => this.__decodeString(date, this.innerMask, this.innerLocale)\n return this.normalizedModel\n .filter(date => isPlainObject(date) === true && date.from !== void 0 && date.to !== void 0)\n .map(range => ({ from: fn(range.from), to: fn(range.to) }))\n .filter(range => range.from.dateHash !== null && range.to.dateHash !== null && range.from.dateHash < range.to.dateHash)\n },\n\n getNativeDateFn () {\n return this.calendar !== 'persian'\n ? model => new Date(model.year, model.month - 1, model.day)\n : model => {\n const gDate = toGregorian(model.year, model.month, model.day)\n return new Date(gDate.gy, gDate.gm - 1, gDate.gd)\n }\n },\n\n encodeObjectFn () {\n return this.calendar === 'persian'\n ? this.__getDayHash\n : (date, mask, locale) => formatDate(\n new Date(\n date.year,\n date.month - 1,\n date.day,\n date.hour,\n date.minute,\n date.second,\n date.millisecond\n ),\n mask === void 0 ? this.innerMask : mask,\n locale === void 0 ? this.innerLocale : locale,\n date.year,\n date.timezoneOffset\n )\n },\n\n daysInModel () {\n return this.daysModel.length + this.rangeModel.reduce(\n (acc, range) => acc + 1 + getDateDiff(\n this.getNativeDateFn(range.to),\n this.getNativeDateFn(range.from)\n ),\n 0\n )\n },\n\n headerTitle () {\n if (this.title !== void 0 && this.title !== null && this.title.length > 0) {\n return this.title\n }\n\n if (this.editRange !== void 0) {\n const model = this.editRange.init\n const date = this.getNativeDateFn(model)\n\n return this.innerLocale.daysShort[ date.getDay() ] + ', ' +\n this.innerLocale.monthsShort[ model.month - 1 ] + ' ' +\n model.day + lineStr + '?'\n }\n\n if (this.daysInModel === 0) {\n return lineStr\n }\n\n if (this.daysInModel > 1) {\n return `${this.daysInModel} ${this.innerLocale.pluralDay}`\n }\n\n const model = this.daysModel[0]\n const date = this.getNativeDateFn(model)\n\n if (isNaN(date.valueOf()) === true) {\n return lineStr\n }\n\n if (this.innerLocale.headerTitle !== void 0) {\n return this.innerLocale.headerTitle(date, model)\n }\n\n return this.innerLocale.daysShort[ date.getDay() ] + ', ' +\n this.innerLocale.monthsShort[ model.month - 1 ] + ' ' +\n model.day\n },\n\n headerSubtitle () {\n if (this.subtitle !== void 0 && this.subtitle !== null && this.subtitle.length > 0) {\n return this.subtitle\n }\n\n if (this.daysInModel === 0) {\n return lineStr\n }\n\n if (this.daysInModel > 1) {\n const from = this.minSelectedModel\n const to = this.maxSelectedModel\n const month = this.innerLocale.monthsShort\n\n return month[from.month - 1] + (\n from.year !== to.year\n ? ' ' + from.year + lineStr + month[to.month - 1] + ' '\n : (\n from.month !== to.month\n ? lineStr + month[to.month - 1]\n : ''\n )\n ) + ' ' + to.year\n }\n\n return this.daysModel[0].year\n },\n\n minSelectedModel () {\n const model = this.daysModel.concat(this.rangeModel.map(range => range.from))\n .sort((a, b) => a.year - b.year || a.month - b.month)\n\n return model[0]\n },\n\n maxSelectedModel () {\n const model = this.daysModel.concat(this.rangeModel.map(range => range.to))\n .sort((a, b) => b.year - a.year || b.month - a.month)\n\n return model[0]\n },\n\n dateArrow () {\n const val = [ this.$q.iconSet.datetime.arrowLeft, this.$q.iconSet.datetime.arrowRight ]\n return this.$q.lang.rtl === true ? val.reverse() : val\n },\n\n computedFirstDayOfWeek () {\n return this.firstDayOfWeek !== void 0\n ? Number(this.firstDayOfWeek)\n : this.innerLocale.firstDayOfWeek\n },\n\n daysOfWeek () {\n const\n days = this.innerLocale.daysShort,\n first = this.computedFirstDayOfWeek\n\n return first > 0\n ? days.slice(first, 7).concat(days.slice(0, first))\n : days\n },\n\n daysInMonth () {\n const date = this.viewModel\n return this.calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n },\n\n today () {\n return this.__getCurrentDate()\n },\n\n evtColor () {\n return typeof this.eventColor === 'function'\n ? this.eventColor\n : () => this.eventColor\n },\n\n minNav () {\n if (this.navigationMinYearMonth !== void 0) {\n const data = this.navigationMinYearMonth.split('/')\n return { year: parseInt(data[0], 10), month: parseInt(data[1], 10) }\n }\n },\n\n maxNav () {\n if (this.navigationMaxYearMonth !== void 0) {\n const data = this.navigationMaxYearMonth.split('/')\n return { year: parseInt(data[0], 10), month: parseInt(data[1], 10) }\n }\n },\n\n navBoundaries () {\n const data = {\n month: { prev: true, next: true },\n year: { prev: true, next: true }\n }\n\n if (this.minNav !== void 0 && this.minNav.year >= this.viewModel.year) {\n data.year.prev = false\n if (this.minNav.year === this.viewModel.year && this.minNav.month >= this.viewModel.month) {\n data.month.prev = false\n }\n }\n\n if (this.maxNav !== void 0 && this.maxNav.year <= this.viewModel.year) {\n data.year.next = false\n if (this.maxNav.year === this.viewModel.year && this.maxNav.month <= this.viewModel.month) {\n data.month.next = false\n }\n }\n\n return data\n },\n\n daysMap () {\n const map = {}\n\n this.daysModel.forEach(entry => {\n const hash = this.__getMonthHash(entry)\n\n if (map[hash] === void 0) {\n map[hash] = []\n }\n\n map[hash].push(entry.day)\n })\n\n return map\n },\n\n rangeMap () {\n const map = {}\n\n this.rangeModel.forEach(entry => {\n const hashFrom = this.__getMonthHash(entry.from)\n const hashTo = this.__getMonthHash(entry.to)\n\n if (map[hashFrom] === void 0) {\n map[hashFrom] = []\n }\n\n map[hashFrom].push({\n from: entry.from.day,\n to: hashFrom === hashTo ? entry.to.day : void 0,\n range: entry\n })\n\n if (hashFrom < hashTo) {\n let hash\n const { year, month } = entry.from\n const cur = month < 12\n ? { year, month: month + 1 }\n : { year: year + 1, month: 1 }\n\n while ((hash = this.__getMonthHash(cur)) <= hashTo) {\n if (map[hash] === void 0) {\n map[hash] = []\n }\n\n map[hash].push({\n from: void 0,\n to: hash === hashTo ? entry.to.day : void 0,\n range: entry\n })\n\n cur.month++\n if (cur.month > 12) {\n cur.year++\n cur.month = 1\n }\n }\n }\n })\n\n return map\n },\n\n rangeView () {\n if (this.editRange === void 0) {\n return\n }\n\n const { init, initHash, final, finalHash } = this.editRange\n\n const [ from, to ] = initHash <= finalHash\n ? [ init, final ]\n : [ final, init ]\n\n const fromHash = this.__getMonthHash(from)\n const toHash = this.__getMonthHash(to)\n\n if (fromHash !== this.viewMonthHash && toHash !== this.viewMonthHash) {\n return\n }\n\n const view = {}\n\n if (fromHash === this.viewMonthHash) {\n view.from = from.day\n view.includeFrom = true\n }\n else {\n view.from = 1\n }\n\n if (toHash === this.viewMonthHash) {\n view.to = to.day\n view.includeTo = true\n }\n else {\n view.to = this.daysInMonth\n }\n\n return view\n },\n\n viewMonthHash () {\n return this.__getMonthHash(this.viewModel)\n },\n\n selectionDaysMap () {\n const map = {}\n\n if (this.options === void 0) {\n for (let i = 1; i <= this.daysInMonth; i++) {\n map[i] = true\n }\n\n return map\n }\n\n const fn = typeof this.options === 'function'\n ? this.options\n : date => this.options.includes(date)\n\n for (let i = 1; i <= this.daysInMonth; i++) {\n const dayHash = this.viewMonthHash + '/' + pad(i)\n map[i] = fn(dayHash)\n }\n\n return map\n },\n\n eventDaysMap () {\n const map = {}\n\n if (this.events === void 0) {\n for (let i = 1; i <= this.daysInMonth; i++) {\n map[i] = false\n }\n }\n else {\n const fn = typeof this.events === 'function'\n ? this.events\n : date => this.events.includes(date)\n\n for (let i = 1; i <= this.daysInMonth; i++) {\n const dayHash = this.viewMonthHash + '/' + pad(i)\n map[i] = fn(dayHash) === true && this.evtColor(dayHash)\n }\n }\n\n return map\n },\n\n viewDays () {\n let date, endDay\n const { year, month } = this.viewModel\n\n if (this.calendar !== 'persian') {\n date = new Date(year, month - 1, 1)\n endDay = (new Date(year, month - 1, 0)).getDate()\n }\n else {\n const gDate = toGregorian(year, month, 1)\n date = new Date(gDate.gy, gDate.gm - 1, gDate.gd)\n let prevJM = month - 1\n let prevJY = year\n if (prevJM === 0) {\n prevJM = 12\n prevJY--\n }\n endDay = jalaaliMonthLength(prevJY, prevJM)\n }\n\n return {\n days: date.getDay() - this.computedFirstDayOfWeek - 1,\n endDay\n }\n },\n\n days () {\n const res = []\n const { days, endDay } = this.viewDays\n\n const len = days < 0 ? days + 7 : days\n if (len < 6) {\n for (let i = endDay - len; i <= endDay; i++) {\n res.push({ i, fill: true })\n }\n }\n\n const index = res.length\n\n for (let i = 1; i <= this.daysInMonth; i++) {\n const day = { i, event: this.eventDaysMap[i], classes: [] }\n\n if (this.selectionDaysMap[i] === true) {\n day.in = true\n day.flat = true\n }\n\n res.push(day)\n }\n\n // if current view has days in model\n if (this.daysMap[this.viewMonthHash] !== void 0) {\n this.daysMap[this.viewMonthHash].forEach(day => {\n const i = index + day - 1\n Object.assign(res[i], {\n selected: true,\n unelevated: true,\n flat: false,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n })\n }\n\n // if current view has ranges in model\n if (this.rangeMap[this.viewMonthHash] !== void 0) {\n this.rangeMap[this.viewMonthHash].forEach(entry => {\n if (entry.from !== void 0) {\n const from = index + entry.from - 1\n const to = index + (entry.to || this.daysInMonth) - 1\n\n for (let day = from; day <= to; day++) {\n Object.assign(res[day], {\n range: entry.range,\n unelevated: true,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n }\n\n Object.assign(res[from], {\n rangeFrom: true,\n flat: false\n })\n\n entry.to !== void 0 && Object.assign(res[to], {\n rangeTo: true,\n flat: false\n })\n }\n else if (entry.to !== void 0) {\n const to = index + entry.to - 1\n\n for (let day = index; day <= to; day++) {\n Object.assign(res[day], {\n range: entry.range,\n unelevated: true,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n }\n\n Object.assign(res[to], {\n flat: false,\n rangeTo: true\n })\n }\n else {\n const to = index + this.daysInMonth - 1\n for (let day = index; day <= to; day++) {\n Object.assign(res[day], {\n range: entry.range,\n unelevated: true,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n }\n }\n })\n }\n\n if (this.rangeView !== void 0) {\n const from = index + this.rangeView.from - 1\n const to = index + this.rangeView.to - 1\n\n for (let day = from; day <= to; day++) {\n res[day].color = this.computedColor\n res[day].editRange = true\n }\n\n if (this.rangeView.includeFrom === true) {\n res[from].editRangeFrom = true\n }\n if (this.rangeView.includeTo === true) {\n res[to].editRangeTo = true\n }\n }\n\n if (this.viewModel.year === this.today.year && this.viewModel.month === this.today.month) {\n res[index + this.today.day - 1].today = true\n }\n\n const left = res.length % 7\n if (left > 0) {\n const afterDays = 7 - left\n for (let i = 1; i <= afterDays; i++) {\n res.push({ i, fill: true })\n }\n }\n\n res.forEach(day => {\n let cls = `q-date__calendar-item `\n\n if (day.fill === true) {\n cls += 'q-date__calendar-item--fill'\n }\n else {\n cls += `q-date__calendar-item--${day.in === true ? 'in' : 'out'}`\n\n if (day.range !== void 0) {\n cls += ` q-date__range${day.rangeTo === true ? '-to' : (day.rangeFrom === true ? '-from' : '')}`\n }\n\n if (day.editRange === true) {\n cls += ` q-date__edit-range${day.editRangeFrom === true ? '-from' : ''}${day.editRangeTo === true ? '-to' : ''}`\n }\n\n if (day.range !== void 0 || day.editRange === true) {\n cls += ` text-${day.color}`\n }\n }\n\n day.classes = cls\n })\n\n return res\n },\n\n attrs () {\n if (this.disable === true) {\n return { 'aria-disabled': 'true' }\n }\n if (this.readonly === true) {\n return { 'aria-readonly': 'true' }\n }\n }\n },\n\n methods: {\n setToday () {\n const date = this.today\n const month = this.daysMap[this.__getMonthHash(date)]\n\n if (month === void 0 || month.includes(date.day) === false) {\n this.__addToModel(date)\n }\n\n this.setCalendarTo(this.today.year, this.today.month)\n },\n\n setView (view) {\n if (viewIsValid(view) === true) {\n this.view = view\n }\n },\n\n offsetCalendar (type, descending) {\n if (['month', 'year'].includes(type)) {\n this[`__goTo${type === 'month' ? 'Month' : 'Year'}`](\n descending === true ? -1 : 1\n )\n }\n },\n\n setCalendarTo (year, month) {\n this.view = 'Calendar'\n this.__updateViewModel(year, month)\n },\n\n setEditingRange (from, to) {\n if (this.range === false || !from) {\n this.editRange = void 0\n return\n }\n\n const init = Object.assign({ ...this.viewModel }, from)\n const final = to !== void 0\n ? Object.assign({ ...this.viewModel }, to)\n : init\n\n this.editRange = {\n init,\n initHash: this.__getDayHash(init),\n final,\n finalHash: this.__getDayHash(final)\n }\n\n this.setCalendarTo(init.year, init.month)\n },\n\n __getMask () {\n return this.calendar === 'persian' ? 'YYYY/MM/DD' : this.mask\n },\n\n __decodeString (date, mask, locale) {\n return __splitDate(\n date,\n mask,\n locale,\n this.calendar,\n {\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n }\n )\n },\n\n __getViewModel (mask, locale) {\n const model = Array.isArray(this.value) === true\n ? this.value\n : (this.value ? [ this.value ] : [])\n\n if (model.length === 0) {\n return this.__getDefaultViewModel()\n }\n\n const decoded = this.__decodeString(\n model[0].from !== void 0 ? model[0].from : model[0],\n mask,\n locale\n )\n\n return decoded.dateHash === null\n ? this.__getDefaultViewModel()\n : decoded\n },\n\n __getDefaultViewModel () {\n let year, month\n\n if (this.defaultYearMonth !== void 0) {\n const d = this.defaultYearMonth.split('/')\n year = parseInt(d[0], 10)\n month = parseInt(d[1], 10)\n }\n else {\n // may come from data() where computed\n // props are not yet available\n const d = this.today !== void 0\n ? this.today\n : this.__getCurrentDate()\n\n year = d.year\n month = d.month\n }\n\n return {\n year,\n month,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n dateHash: year + '/' + pad(month) + '/01'\n }\n },\n\n __getHeader (h) {\n if (this.minimal === true) { return }\n\n return h('div', {\n staticClass: 'q-date__header',\n class: this.headerClass\n }, [\n h('div', {\n staticClass: 'relative-position'\n }, [\n h('transition', {\n props: {\n name: 'q-transition--fade'\n }\n }, [\n h('div', {\n key: 'h-yr-' + this.headerSubtitle,\n staticClass: 'q-date__header-subtitle q-date__header-link',\n class: this.view === 'Years' ? 'q-date__header-link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vY', {\n click: () => { this.view = 'Years' },\n keyup: e => { e.keyCode === 13 && (this.view = 'Years') }\n })\n }, [ this.headerSubtitle ])\n ])\n ]),\n\n h('div', {\n staticClass: 'q-date__header-title relative-position flex no-wrap'\n }, [\n h('div', {\n staticClass: 'relative-position col'\n }, [\n h('transition', {\n props: {\n name: 'q-transition--fade'\n }\n }, [\n h('div', {\n key: 'h-sub' + this.headerTitle,\n staticClass: 'q-date__header-title-label q-date__header-link',\n class: this.view === 'Calendar' ? 'q-date__header-link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vC', {\n click: () => { this.view = 'Calendar' },\n keyup: e => { e.keyCode === 13 && (this.view = 'Calendar') }\n })\n }, [ this.headerTitle ])\n ])\n ]),\n\n this.todayBtn === true ? h(QBtn, {\n staticClass: 'q-date__header-today self-start',\n props: {\n icon: this.$q.iconSet.datetime.today,\n flat: true,\n size: 'sm',\n round: true,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'today', { click: this.setToday })\n }) : null\n ])\n ])\n },\n\n __getNavigation (h, { label, view, key, dir, goTo, boundaries, cls }) {\n return [\n h('div', {\n staticClass: 'row items-center q-date__arrow'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n size: 'sm',\n flat: true,\n icon: this.dateArrow[0],\n tabindex: this.computedTabindex,\n disable: boundaries.prev === false\n },\n on: cache(this, 'go-#' + view, { click () { goTo(-1) } })\n })\n ]),\n\n h('div', {\n staticClass: 'relative-position overflow-hidden flex flex-center' + cls\n }, [\n h('transition', {\n props: {\n name: 'q-transition--jump-' + dir\n }\n }, [\n h('div', { key }, [\n h(QBtn, {\n props: {\n flat: true,\n dense: true,\n noCaps: true,\n label,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'view#' + view, { click: () => { this.view = view } })\n })\n ])\n ])\n ]),\n\n h('div', {\n staticClass: 'row items-center q-date__arrow'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n size: 'sm',\n flat: true,\n icon: this.dateArrow[1],\n tabindex: this.computedTabindex,\n disable: boundaries.next === false\n },\n on: cache(this, 'go+#' + view, { click () { goTo(1) } })\n })\n ])\n ]\n },\n\n __getCalendarView (h) {\n return [\n h('div', {\n key: 'calendar-view',\n staticClass: 'q-date__view q-date__calendar'\n }, [\n h('div', {\n staticClass: 'q-date__navigation row items-center no-wrap'\n }, this.__getNavigation(h, {\n label: this.innerLocale.months[ this.viewModel.month - 1 ],\n view: 'Months',\n key: this.viewModel.month,\n dir: this.monthDirection,\n goTo: this.__goToMonth,\n boundaries: this.navBoundaries.month,\n cls: ' col'\n }).concat(this.__getNavigation(h, {\n label: this.viewModel.year,\n view: 'Years',\n key: this.viewModel.year,\n dir: this.yearDirection,\n goTo: this.__goToYear,\n boundaries: this.navBoundaries.year,\n cls: ''\n }))),\n\n h('div', {\n staticClass: 'q-date__calendar-weekdays row items-center no-wrap'\n }, this.daysOfWeek.map(day => h('div', { staticClass: 'q-date__calendar-item' }, [ h('div', [ day ]) ]))),\n\n h('div', {\n staticClass: 'q-date__calendar-days-container relative-position overflow-hidden'\n }, [\n h('transition', {\n props: {\n name: 'q-transition--slide-' + this.monthDirection\n }\n }, [\n h('div', {\n key: this.viewMonthHash,\n staticClass: 'q-date__calendar-days fit'\n }, this.days.map(day => h('div', { staticClass: day.classes }, [\n day.in === true\n ? h(QBtn, {\n staticClass: day.today === true ? 'q-date__today' : null,\n props: {\n dense: true,\n flat: day.flat,\n unelevated: day.unelevated,\n color: day.color,\n textColor: day.textColor,\n label: day.i,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'day#' + day.i, {\n click: () => { this.__onDayClick(day.i) },\n mouseover: () => { this.__onDayMouseover(day.i) }\n })\n }, day.event !== false ? [\n h('div', { staticClass: 'q-date__event bg-' + day.event })\n ] : null)\n : h('div', [ day.i ])\n ])))\n ])\n ])\n ])\n ]\n },\n\n __getMonthsView (h) {\n const currentYear = this.viewModel.year === this.today.year\n const isDisabled = month => {\n return (\n (this.minNav !== void 0 && this.viewModel.year === this.minNav.year && this.minNav.month > month) ||\n (this.maxNav !== void 0 && this.viewModel.year === this.maxNav.year && this.maxNav.month < month)\n )\n }\n\n const content = this.innerLocale.monthsShort.map((month, i) => {\n const active = this.viewModel.month === i + 1\n\n return h('div', {\n staticClass: 'q-date__months-item flex flex-center'\n }, [\n h(QBtn, {\n staticClass: currentYear === true && this.today.month === i + 1 ? 'q-date__today' : null,\n props: {\n flat: active !== true,\n label: month,\n unelevated: active,\n color: active === true ? this.computedColor : null,\n textColor: active === true ? this.computedTextColor : null,\n tabindex: this.computedTabindex,\n disable: isDisabled(i + 1)\n },\n on: cache(this, 'month#' + i, { click: () => { this.__setMonth(i + 1) } })\n })\n ])\n })\n\n this.yearsInMonthView === true && content.unshift(\n h('div', { staticClass: 'row no-wrap full-width' }, [\n this.__getNavigation(h, {\n label: this.viewModel.year,\n view: 'Years',\n key: this.viewModel.year,\n dir: this.yearDirection,\n goTo: this.__goToYear,\n boundaries: this.navBoundaries.year,\n cls: ' col'\n })\n ])\n )\n\n return h('div', {\n key: 'months-view',\n staticClass: 'q-date__view q-date__months flex flex-center'\n }, content)\n },\n\n __getYearsView (h) {\n const\n start = this.startYear,\n stop = start + yearsInterval,\n years = []\n\n const isDisabled = year => {\n return (\n (this.minNav !== void 0 && this.minNav.year > year) ||\n (this.maxNav !== void 0 && this.maxNav.year < year)\n )\n }\n\n for (let i = start; i <= stop; i++) {\n const active = this.viewModel.year === i\n\n years.push(\n h('div', {\n staticClass: 'q-date__years-item flex flex-center'\n }, [\n h(QBtn, {\n key: 'yr' + i,\n staticClass: this.today.year === i ? 'q-date__today' : null,\n props: {\n flat: !active,\n label: i,\n dense: true,\n unelevated: active,\n color: active === true ? this.computedColor : null,\n textColor: active === true ? this.computedTextColor : null,\n tabindex: this.computedTabindex,\n disable: isDisabled(i)\n },\n on: cache(this, 'yr#' + i, { click: () => { this.__setYear(i) } })\n })\n ])\n )\n }\n\n return h('div', {\n staticClass: 'q-date__view q-date__years flex flex-center'\n }, [\n h('div', {\n staticClass: 'col-auto'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n flat: true,\n icon: this.dateArrow[0],\n tabindex: this.computedTabindex,\n disable: isDisabled(start)\n },\n on: cache(this, 'y-', { click: () => { this.startYear -= yearsInterval } })\n })\n ]),\n\n h('div', {\n staticClass: 'q-date__years-content col self-stretch row items-center'\n }, years),\n\n h('div', {\n staticClass: 'col-auto'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n flat: true,\n icon: this.dateArrow[1],\n tabindex: this.computedTabindex,\n disable: isDisabled(stop)\n },\n on: cache(this, 'y+', { click: () => { this.startYear += yearsInterval } })\n })\n ])\n ])\n },\n\n __goToMonth (offset) {\n let year = this.viewModel.year\n let month = Number(this.viewModel.month) + offset\n\n if (month === 13) {\n month = 1\n year++\n }\n else if (month === 0) {\n month = 12\n year--\n }\n\n this.__updateViewModel(year, month)\n this.isImmediate === true && this.__emitImmediately('month')\n },\n\n __goToYear (offset) {\n const year = Number(this.viewModel.year) + offset\n this.__updateViewModel(year, this.viewModel.month)\n this.isImmediate === true && this.__emitImmediately('year')\n },\n\n __setYear (year) {\n this.__updateViewModel(year, this.viewModel.month)\n this.view = this.defaultView === 'Years' ? 'Months' : 'Calendar'\n this.isImmediate === true && this.__emitImmediately('year')\n },\n\n __setMonth (month) {\n this.__updateViewModel(this.viewModel.year, month)\n this.view = 'Calendar'\n this.isImmediate === true && this.__emitImmediately('month')\n },\n\n __getMonthHash (date) {\n return date.year + '/' + pad(date.month)\n },\n\n __toggleDate (date, monthHash) {\n const month = this.daysMap[monthHash]\n const fn = month !== void 0 && month.includes(date.day) === true\n ? this.__removeFromModel\n : this.__addToModel\n\n fn(date)\n },\n\n __getShortDate (date) {\n return { year: date.year, month: date.month, day: date.day }\n },\n\n __onDayClick (dayIndex) {\n const day = { ...this.viewModel, day: dayIndex }\n\n if (this.range === false) {\n this.__toggleDate(day, this.viewMonthHash)\n return\n }\n\n if (this.editRange === void 0) {\n const dayProps = this.days.find(day => day.fill !== true && day.i === dayIndex)\n\n if (dayProps.range !== void 0) {\n this.__removeFromModel({ target: day, from: dayProps.range.from, to: dayProps.range.to })\n return\n }\n\n if (dayProps.selected === true) {\n this.__removeFromModel(day)\n return\n }\n\n const initHash = this.__getDayHash(day)\n\n this.editRange = {\n init: day,\n initHash,\n final: day,\n finalHash: initHash\n }\n\n this.$emit('range-start', this.__getShortDate(day))\n }\n else {\n const\n initHash = this.editRange.initHash,\n finalHash = this.__getDayHash(day),\n payload = initHash <= finalHash\n ? { from: this.editRange.init, to: day }\n : { from: day, to: this.editRange.init }\n\n this.editRange = void 0\n this.__addToModel(initHash === finalHash ? day : { target: day, ...payload })\n\n this.$emit('range-end', {\n from: this.__getShortDate(payload.from),\n to: this.__getShortDate(payload.to)\n })\n }\n },\n\n __onDayMouseover (dayIndex) {\n if (this.editRange !== void 0) {\n const final = { ...this.viewModel, day: dayIndex }\n\n Object.assign(this.editRange, {\n final,\n finalHash: this.__getDayHash(final)\n })\n }\n },\n\n __updateViewModel (year, month) {\n if (this.minNav !== void 0 && year <= this.minNav.year) {\n year = this.minNav.year\n if (month < this.minNav.month) {\n month = this.minNav.month\n }\n }\n\n if (this.maxNav !== void 0 && year >= this.maxNav.year) {\n year = this.maxNav.year\n if (month > this.maxNav.month) {\n month = this.maxNav.month\n }\n }\n\n const newHash = year + '/' + pad(month) + '/01'\n\n if (newHash !== this.viewModel.dateHash) {\n this.monthDirection = (this.viewModel.dateHash < newHash) === (this.$q.lang.rtl !== true) ? 'left' : 'right'\n if (year !== this.viewModel.year) {\n this.yearDirection = this.monthDirection\n }\n\n this.$nextTick(() => {\n this.startYear = year - year % yearsInterval - (year < 0 ? yearsInterval : 0)\n Object.assign(this.viewModel, {\n year,\n month,\n day: 1,\n dateHash: newHash\n })\n })\n }\n },\n\n __emitValue (val, action, date) {\n const value = val !== null && val.length === 1 && this.multiple === false\n ? val[0]\n : val\n\n this.lastEmitValue = value\n\n const { reason, details } = this.__getEmitParams(action, date)\n this.$emit('input', value, reason, details)\n },\n\n __emitImmediately (reason) {\n const date = this.daysModel[0] !== void 0 && this.daysModel[0].dateHash !== null\n ? { ...this.daysModel[0] }\n : { ...this.viewModel } // inherit day, hours, minutes, milliseconds...\n\n // nextTick required because of animation delay in viewModel\n this.$nextTick(() => {\n date.year = this.viewModel.year\n date.month = this.viewModel.month\n\n const maxDay = this.calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n\n date.day = Math.min(Math.max(1, date.day), maxDay)\n\n const value = this.__encodeEntry(date)\n this.lastEmitValue = value\n\n const { details } = this.__getEmitParams('', date)\n this.$emit('input', value, reason, details)\n })\n },\n\n __getEmitParams (action, date) {\n return date.from !== void 0\n ? {\n reason: `${action}-range`,\n details: {\n ...this.__getShortDate(date.target),\n from: this.__getShortDate(date.from),\n to: this.__getShortDate(date.to),\n changed: true // TODO remove in v2; legacy purposes\n }\n }\n : {\n reason: `${action}-day`,\n details: {\n ...this.__getShortDate(date),\n changed: true // TODO remove in v2; legacy purposes\n }\n }\n },\n\n __encodeEntry (date, mask, locale) {\n return date.from !== void 0\n ? { from: this.encodeObjectFn(date.from, mask, locale), to: this.encodeObjectFn(date.to, mask, locale) }\n : this.encodeObjectFn(date, mask, locale)\n },\n\n __addToModel (date) {\n let value\n\n if (this.multiple === true) {\n if (date.from !== void 0) {\n // we also need to filter out intersections\n\n const fromHash = this.__getDayHash(date.from)\n const toHash = this.__getDayHash(date.to)\n\n const days = this.daysModel\n .filter(day => day.dateHash < fromHash || day.dateHash > toHash)\n\n const ranges = this.rangeModel\n .filter(({ from, to }) => to.dateHash < fromHash || from.dateHash > toHash)\n\n value = days.concat(ranges).concat(date).map(entry => this.__encodeEntry(entry))\n }\n else {\n const model = this.normalizedModel.slice()\n model.push(this.__encodeEntry(date))\n value = model\n }\n }\n else {\n value = this.__encodeEntry(date)\n }\n\n this.__emitValue(value, 'add', date)\n },\n\n __removeFromModel (date) {\n if (this.noUnset === true) {\n return\n }\n\n let model = null\n\n if (this.multiple === true && Array.isArray(this.value) === true) {\n const val = this.__encodeEntry(date)\n\n if (date.from !== void 0) {\n model = this.value.filter(\n date => date.from !== void 0\n ? (date.from !== val.from && date.to !== val.to)\n : true\n )\n }\n else {\n model = this.value.filter(date => date !== val)\n }\n\n if (model.length === 0) {\n model = null\n }\n }\n\n this.__emitValue(model, 'remove', date)\n },\n\n __updateValue (mask, locale, reason) {\n const model = this.daysModel\n .concat(this.rangeModel)\n .map(entry => this.__encodeEntry(entry, mask, locale))\n .filter(entry => {\n return entry.from !== void 0\n ? entry.from.dateHash !== null && entry.to.dateHash !== null\n : entry.dateHash !== null\n })\n\n this.$emit('input', (this.multiple === true ? model : model[0]) || null, reason)\n }\n },\n\n render (h) {\n const content = [\n h('div', {\n staticClass: 'q-date__content col relative-position'\n }, [\n h('transition', {\n props: { name: 'q-transition--fade' }\n }, [\n this[`__get${this.view}View`](h)\n ])\n ])\n ]\n\n const def = slot(this, 'default')\n def !== void 0 && content.push(\n h('div', { staticClass: 'q-date__actions' }, def)\n )\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(content, 'push')\n }\n\n return h('div', {\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, [\n this.__getHeader(h),\n\n h('div', {\n staticClass: 'q-date__main col column',\n attrs: { tabindex: -1 },\n ref: 'blurTarget'\n }, content)\n ])\n }\n})\n","import History from '../history.js'\n\nexport default {\n methods: {\n __addHistory () {\n this.__historyEntry = {\n condition: () => { return this.hideOnRouteChange === true },\n handler: this.hide\n }\n History.add(this.__historyEntry)\n },\n\n __removeHistory () {\n if (this.__historyEntry !== void 0) {\n History.remove(this.__historyEntry)\n this.__historyEntry = void 0\n }\n }\n },\n\n beforeDestroy () {\n this.showing === true && this.__removeHistory()\n }\n}\n","import Vue from 'vue'\n\nimport HistoryMixin from '../../mixins/history.js'\nimport ModelToggleMixin from '../../mixins/model-toggle.js'\nimport PortalMixin from '../../mixins/portal.js'\nimport PreventScrollMixin from '../../mixins/prevent-scroll.js'\nimport AttrsMixin, { ariaHidden } from '../../mixins/attrs.js'\n\nimport { childHasFocus } from '../../utils/dom.js'\nimport EscapeKey from '../../utils/escape-key.js'\nimport { slot } from '../../utils/slot.js'\nimport { create, stop } from '../../utils/event.js'\nimport cache from '../../utils/cache.js'\nimport { addFocusFn } from '../../utils/focus-manager.js'\nimport { client } from '../../plugins/Platform.js'\n\nlet maximizedModals = 0\n\nconst positionClass = {\n standard: 'fixed-full flex-center',\n top: 'fixed-top justify-center',\n bottom: 'fixed-bottom justify-center',\n right: 'fixed-right items-center',\n left: 'fixed-left items-center'\n}\n\nconst transitions = {\n standard: ['scale', 'scale'],\n top: ['slide-down', 'slide-up'],\n bottom: ['slide-up', 'slide-down'],\n right: ['slide-left', 'slide-right'],\n left: ['slide-right', 'slide-left']\n}\n\nexport default Vue.extend({\n name: 'QDialog',\n\n mixins: [\n AttrsMixin,\n HistoryMixin,\n ModelToggleMixin,\n PortalMixin,\n PreventScrollMixin\n ],\n\n props: {\n persistent: Boolean,\n autoClose: Boolean,\n\n noEscDismiss: Boolean,\n noBackdropDismiss: Boolean,\n noRouteDismiss: Boolean,\n noRefocus: Boolean,\n noFocus: Boolean,\n noShake: Boolean,\n\n seamless: Boolean,\n\n maximized: Boolean,\n fullWidth: Boolean,\n fullHeight: Boolean,\n\n square: Boolean,\n\n position: {\n type: String,\n default: 'standard',\n validator: val => val === 'standard' ||\n ['top', 'bottom', 'left', 'right'].includes(val)\n },\n\n transitionShow: String,\n transitionHide: String\n },\n\n data () {\n return {\n transitionState: this.showing,\n animating: false\n }\n },\n\n watch: {\n showing (val) {\n if (this.transitionShowComputed !== this.transitionHideComputed) {\n this.$nextTick(() => {\n this.transitionState = val\n })\n }\n },\n\n maximized (state) {\n this.showing === true && this.__updateMaximized(state)\n },\n\n useBackdrop (v) {\n this.__preventScroll(v)\n this.__preventFocusout(v)\n }\n },\n\n computed: {\n classes () {\n return `q-dialog__inner--${this.maximized === true ? 'maximized' : 'minimized'} ` +\n `q-dialog__inner--${this.position} ${positionClass[this.position]}` +\n (this.animating === true ? ' q-dialog__inner--animating' : '') +\n (this.fullWidth === true ? ' q-dialog__inner--fullwidth' : '') +\n (this.fullHeight === true ? ' q-dialog__inner--fullheight' : '') +\n (this.square === true ? ' q-dialog__inner--square' : '')\n },\n\n transitionShowComputed () {\n return 'q-transition--' + (this.transitionShow === void 0 ? transitions[this.position][0] : this.transitionShow)\n },\n\n transitionHideComputed () {\n return 'q-transition--' + (this.transitionHide === void 0 ? transitions[this.position][1] : this.transitionHide)\n },\n\n transition () {\n return this.transitionState === true\n ? this.transitionHideComputed\n : this.transitionShowComputed\n },\n\n useBackdrop () {\n return this.showing === true && this.seamless !== true\n },\n\n hideOnRouteChange () {\n return this.persistent !== true &&\n this.noRouteDismiss !== true &&\n this.seamless !== true\n },\n\n onEvents () {\n const on = {\n ...this.qListeners,\n // stop propagating these events from children\n input: stop,\n 'popup-show': stop,\n 'popup-hide': stop\n }\n\n if (this.autoClose === true) {\n on.click = this.__onAutoClose\n }\n\n return on\n }\n },\n\n methods: {\n focus () {\n addFocusFn(() => {\n let node = this.__getInnerNode()\n\n if (node === void 0 || node.contains(document.activeElement) === true) {\n return\n }\n\n node = node.querySelector('[autofocus], [data-autofocus]') || node\n node.focus({ preventScroll: true })\n })\n },\n\n shake () {\n this.focus()\n this.$emit('shake')\n\n const node = this.__getInnerNode()\n\n if (node !== void 0) {\n node.classList.remove('q-animate--scale')\n node.classList.add('q-animate--scale')\n clearTimeout(this.shakeTimeout)\n this.shakeTimeout = setTimeout(() => {\n node.classList.remove('q-animate--scale')\n }, 170)\n }\n },\n\n __getInnerNode () {\n return this.__portal !== void 0 && this.__portal.$refs !== void 0\n ? this.__portal.$refs.inner\n : void 0\n },\n\n __show (evt) {\n this.__addHistory()\n\n // IE can have null document.activeElement\n this.__refocusTarget = client.is.mobile !== true && this.noRefocus === false && document.activeElement !== null\n ? document.activeElement\n : void 0\n\n this.$el.dispatchEvent(create('popup-show', { bubbles: true }))\n this.__updateMaximized(this.maximized)\n\n EscapeKey.register(this, () => {\n if (this.seamless !== true) {\n if (this.persistent === true || this.noEscDismiss === true) {\n this.maximized !== true && this.noShake !== true && this.shake()\n }\n else {\n this.$emit('escape-key')\n this.hide()\n }\n }\n })\n\n this.__showPortal()\n this.animating = true\n\n if (this.noFocus !== true) {\n // IE can have null document.activeElement\n document.activeElement !== null && document.activeElement.blur()\n this.__nextTick(this.focus)\n }\n\n this.__setTimeout(() => {\n if (this.$q.platform.is.ios === true) {\n if (this.seamless !== true && document.activeElement) {\n const\n { top, bottom } = document.activeElement.getBoundingClientRect(),\n { innerHeight } = window,\n height = window.visualViewport !== void 0\n ? window.visualViewport.height\n : innerHeight\n\n if (top > 0 && bottom > height / 2) {\n document.scrollingElement.scrollTop = Math.min(\n document.scrollingElement.scrollHeight - height,\n bottom >= innerHeight\n ? Infinity\n : Math.ceil(document.scrollingElement.scrollTop + bottom - height / 2)\n )\n }\n\n document.activeElement.scrollIntoView()\n }\n\n // required in order to avoid the \"double-tap needed\" issue\n this.__portal.$el.click()\n }\n\n this.animating = false\n this.__showPortal(true)\n this.$emit('show', evt)\n }, 300)\n },\n\n __hide (evt) {\n this.__removeHistory()\n this.__cleanup(true)\n this.animating = true\n\n // check null for IE\n if (this.__refocusTarget !== void 0 && this.__refocusTarget !== null) {\n this.__refocusTarget.focus(evt)\n this.__refocusTarget = void 0\n }\n\n this.$el.dispatchEvent(create('popup-hide', { bubbles: true }))\n\n this.__setTimeout(() => {\n this.__hidePortal()\n this.animating = false\n this.$emit('hide', evt)\n }, 300)\n },\n\n __cleanup (hiding) {\n clearTimeout(this.shakeTimeout)\n\n if (hiding === true || this.showing === true) {\n EscapeKey.pop(this)\n this.__updateMaximized(false)\n\n if (this.seamless !== true) {\n this.__preventScroll(false)\n this.__preventFocusout(false)\n }\n }\n },\n\n __updateMaximized (active) {\n if (active === true) {\n if (this.isMaximized !== true) {\n maximizedModals < 1 && document.body.classList.add('q-body--dialog')\n maximizedModals++\n\n this.isMaximized = true\n }\n }\n else if (this.isMaximized === true) {\n if (maximizedModals < 2) {\n document.body.classList.remove('q-body--dialog')\n }\n\n maximizedModals--\n this.isMaximized = false\n }\n },\n\n __preventFocusout (state) {\n if (this.$q.platform.is.desktop === true) {\n const action = `${state === true ? 'add' : 'remove'}EventListener`\n document.body[action]('focusin', this.__onFocusChange)\n }\n },\n\n __onAutoClose (e) {\n this.hide(e)\n this.qListeners.click !== void 0 && this.$emit('click', e)\n },\n\n __onBackdropClick (e) {\n if (this.persistent !== true && this.noBackdropDismiss !== true) {\n this.hide(e)\n }\n else if (this.noShake !== true) {\n this.shake()\n }\n },\n\n __onFocusChange (e) {\n // the focus is not in a vue child component\n if (\n this.showing === true &&\n this.__portal !== void 0 &&\n childHasFocus(this.__portal.$el, e.target) !== true\n ) {\n this.focus()\n }\n },\n\n __renderPortal (h) {\n return h('div', {\n staticClass: `q-dialog fullscreen no-pointer-events q-dialog--${this.useBackdrop === true ? 'modal' : 'seamless'}`,\n class: this.contentClass,\n style: this.contentStyle,\n attrs: this.qAttrs\n }, [\n h('transition', {\n props: { name: 'q-transition--fade' }\n }, this.useBackdrop === true ? [\n h('div', {\n staticClass: 'q-dialog__backdrop fixed-full',\n attrs: ariaHidden,\n on: cache(this, 'bkdrop', {\n click: this.__onBackdropClick\n })\n })\n ] : null),\n\n h('transition', {\n props: { name: this.transition }\n }, [\n this.showing === true ? h('div', {\n ref: 'inner',\n staticClass: 'q-dialog__inner flex no-pointer-events',\n class: this.classes,\n attrs: { tabindex: -1 },\n on: this.onEvents\n }, slot(this, 'default')) : null\n ])\n ])\n }\n },\n\n mounted () {\n this.__processModelChange(this.value)\n },\n\n beforeDestroy () {\n this.__cleanup()\n this.__refocusTarget = void 0\n }\n})\n","import Vue from 'vue'\n\nimport HistoryMixin from '../../mixins/history.js'\nimport ModelToggleMixin from '../../mixins/model-toggle.js'\nimport PreventScrollMixin from '../../mixins/prevent-scroll.js'\nimport DarkMixin from '../../mixins/dark.js'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport { between } from '../../utils/format.js'\nimport { slot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\nimport { ariaHidden } from '../../mixins/attrs'\n\nconst duration = 150\n\nconst mouseEvents = [\n 'mouseover', 'mouseout', 'mouseenter', 'mouseleave'\n]\n\nexport default Vue.extend({\n name: 'QDrawer',\n\n inject: {\n layout: {\n default () {\n console.error('QDrawer needs to be child of QLayout')\n }\n }\n },\n\n mixins: [ DarkMixin, HistoryMixin, ModelToggleMixin, PreventScrollMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n side: {\n type: String,\n default: 'left',\n validator: v => ['left', 'right'].includes(v)\n },\n\n width: {\n type: Number,\n default: 300\n },\n\n mini: Boolean,\n miniToOverlay: Boolean,\n miniWidth: {\n type: Number,\n default: 57\n },\n\n breakpoint: {\n type: Number,\n default: 1023\n },\n showIfAbove: Boolean,\n\n behavior: {\n type: String,\n validator: v => ['default', 'desktop', 'mobile'].includes(v),\n default: 'default'\n },\n\n bordered: Boolean,\n elevated: Boolean,\n contentStyle: [String, Object, Array],\n contentClass: [String, Object, Array],\n\n overlay: Boolean,\n persistent: Boolean,\n noSwipeOpen: Boolean,\n noSwipeClose: Boolean,\n noSwipeBackdrop: Boolean\n },\n\n data () {\n const belowBreakpoint = (\n this.behavior === 'mobile' ||\n (this.behavior !== 'desktop' && this.layout.totalWidth <= this.breakpoint)\n )\n\n return {\n belowBreakpoint,\n showing: this.showIfAbove === true && belowBreakpoint === false\n ? true\n : this.value === true\n }\n },\n\n watch: {\n belowBreakpoint (val) {\n if (val === true) { // from lg to xs\n this.lastDesktopState = this.showing\n this.showing === true && this.hide(false)\n }\n else if (\n this.overlay === false &&\n this.behavior !== 'mobile' &&\n this.lastDesktopState !== false\n ) { // from xs to lg\n if (this.showing === true) {\n this.__applyPosition(0)\n this.__applyBackdrop(0)\n this.__cleanup()\n }\n else {\n this.show(false)\n }\n }\n },\n\n 'layout.totalWidth' () {\n if (this.layout.container === true || document.qScrollPrevented !== true) {\n this.__updateBelowBreakpoint()\n }\n },\n\n side (newSide, oldSide) {\n if (this.layout.instances[oldSide] === this) {\n this.layout.instances[oldSide] = void 0\n this.layout[oldSide].space = false\n this.layout[oldSide].offset = 0\n }\n\n this.layout.instances[newSide] = this\n this.layout[newSide].size = this.size\n this.layout[newSide].space = this.onLayout\n this.layout[newSide].offset = this.offset\n },\n\n behavior () {\n this.__updateBelowBreakpoint()\n },\n\n breakpoint () {\n this.__updateBelowBreakpoint()\n },\n\n 'layout.container' (val) {\n this.showing === true && this.__preventScroll(val !== true)\n val === true && this.__updateBelowBreakpoint()\n },\n\n 'layout.scrollbarWidth' () {\n this.__applyPosition(this.showing === true ? 0 : void 0)\n },\n\n offset (val) {\n this.__update('offset', val)\n },\n\n onLayout (val) {\n this.$emit('on-layout', val)\n this.__update('space', val)\n },\n\n rightSide () {\n this.__applyPosition()\n },\n\n size (val) {\n this.__applyPosition()\n this.__updateSizeOnLayout(this.miniToOverlay, val)\n },\n\n miniToOverlay (val) {\n this.__updateSizeOnLayout(val, this.size)\n },\n\n '$q.lang.rtl' () {\n this.__applyPosition()\n },\n\n mini () {\n if (this.value === true) {\n this.__animateMini()\n this.layout.__animate()\n }\n },\n\n isMini (val) {\n this.$emit('mini-state', val)\n }\n },\n\n computed: {\n rightSide () {\n return this.side === 'right'\n },\n\n otherSide () {\n return this.rightSide === true ? 'left' : 'right'\n },\n\n offset () {\n return this.showing === true && this.belowBreakpoint === false && this.overlay === false\n ? (this.miniToOverlay === true ? this.miniWidth : this.size)\n : 0\n },\n\n size () {\n return this.isMini === true\n ? this.miniWidth\n : this.width\n },\n\n fixed () {\n return this.overlay === true ||\n this.miniToOverlay === true ||\n this.layout.view.indexOf(this.rightSide ? 'R' : 'L') > -1 ||\n (this.$q.platform.is.ios && this.layout.container === true)\n },\n\n onLayout () {\n return this.showing === true && this.belowBreakpoint === false && this.overlay === false\n },\n\n onScreenOverlay () {\n return this.showing === true && this.belowBreakpoint === false && this.overlay === true\n },\n\n backdropClass () {\n return this.showing === false ? 'hidden' : null\n },\n\n headerSlot () {\n return this.rightSide === true\n ? this.layout.rows.top[2] === 'r'\n : this.layout.rows.top[0] === 'l'\n },\n\n footerSlot () {\n return this.rightSide === true\n ? this.layout.rows.bottom[2] === 'r'\n : this.layout.rows.bottom[0] === 'l'\n },\n\n aboveStyle () {\n const css = {}\n\n if (this.layout.header.space === true && this.headerSlot === false) {\n if (this.fixed === true) {\n css.top = `${this.layout.header.offset}px`\n }\n else if (this.layout.header.space === true) {\n css.top = `${this.layout.header.size}px`\n }\n }\n\n if (this.layout.footer.space === true && this.footerSlot === false) {\n if (this.fixed === true) {\n css.bottom = `${this.layout.footer.offset}px`\n }\n else if (this.layout.footer.space === true) {\n css.bottom = `${this.layout.footer.size}px`\n }\n }\n\n return css\n },\n\n style () {\n const style = { width: `${this.size}px` }\n return this.belowBreakpoint === true\n ? style\n : Object.assign(style, this.aboveStyle)\n },\n\n classes () {\n return `q-drawer--${this.side}` +\n (this.bordered === true ? ' q-drawer--bordered' : '') +\n (this.isDark === true ? ' q-drawer--dark q-dark' : '') +\n (this.showing !== true ? ' q-layout--prevent-focus' : '') +\n (\n this.belowBreakpoint === true\n ? ' fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding'\n : ` q-drawer--${this.isMini === true ? 'mini' : 'standard'}` +\n (this.fixed === true || this.onLayout !== true ? ' fixed' : '') +\n (this.overlay === true || this.miniToOverlay === true ? ' q-drawer--on-top' : '') +\n (this.headerSlot === true ? ' q-drawer--top-padding' : '')\n )\n },\n\n stateDirection () {\n return (this.$q.lang.rtl === true ? -1 : 1) * (this.rightSide === true ? 1 : -1)\n },\n\n isMini () {\n return this.mini === true && this.belowBreakpoint !== true\n },\n\n onNativeEvents () {\n if (this.belowBreakpoint !== true) {\n const evt = {\n '!click': e => { this.$emit('click', e) }\n }\n\n mouseEvents.forEach(name => {\n evt[name] = e => {\n this.qListeners[name] !== void 0 && this.$emit(name, e)\n }\n })\n\n return evt\n }\n },\n\n hideOnRouteChange () {\n return this.persistent !== true &&\n (this.belowBreakpoint === true || this.onScreenOverlay === true)\n },\n\n openDirective () {\n const dir = this.$q.lang.rtl === true ? this.side : this.otherSide\n\n return [{\n name: 'touch-pan',\n value: this.__openByTouch,\n modifiers: {\n [ dir ]: true,\n mouse: true\n }\n }]\n },\n\n contentCloseDirective () {\n if (this.noSwipeClose !== true) {\n const dir = this.$q.lang.rtl === true ? this.otherSide : this.side\n\n return [{\n name: 'touch-pan',\n value: this.__closeByTouch,\n modifiers: {\n [ dir ]: true,\n mouse: true\n }\n }]\n }\n },\n\n backdropCloseDirective () {\n if (this.noSwipeBackdrop !== true) {\n const dir = this.$q.lang.rtl === true ? this.otherSide : this.side\n\n return [{\n name: 'touch-pan',\n value: this.__closeByTouch,\n modifiers: {\n [ dir ]: true,\n mouse: true,\n mouseAllDir: true\n }\n }]\n }\n }\n },\n\n methods: {\n __applyPosition (position) {\n if (position === void 0) {\n this.$nextTick(() => {\n position = this.showing === true ? 0 : this.size\n this.__applyPosition(this.stateDirection * position)\n })\n }\n else if (this.$refs.content !== void 0) {\n if (\n this.layout.container === true &&\n this.rightSide === true &&\n (this.belowBreakpoint === true || Math.abs(position) === this.size)\n ) {\n position += this.stateDirection * this.layout.scrollbarWidth\n }\n\n if (this.__lastPosition !== position) {\n this.$refs.content.style.transform = `translateX(${position}px)`\n this.__lastPosition = position\n }\n }\n },\n\n __applyBackdrop (x, retry) {\n if (this.$refs.backdrop !== void 0) {\n this.$refs.backdrop.style.backgroundColor =\n this.lastBackdropBg = `rgba(0,0,0,${x * 0.4})`\n }\n else {\n // rendered nodes might not have\n // picked up this.showing change yet,\n // so we need one retry\n retry !== true && this.$nextTick(() => {\n this.__applyBackdrop(x, true)\n })\n }\n },\n\n __setBackdropVisible (v) {\n if (this.$refs.backdrop !== void 0) {\n this.$refs.backdrop.classList[v === true ? 'remove' : 'add']('hidden')\n }\n },\n\n __setScrollable (v) {\n const action = v === true\n ? 'remove'\n : (this.layout.container !== true ? 'add' : '')\n\n action !== '' && document.body.classList[action]('q-body--drawer-toggle')\n },\n\n __animateMini () {\n if (this.timerMini !== void 0) {\n clearTimeout(this.timerMini)\n }\n else if (this.$el !== void 0) {\n this.$el.classList.add('q-drawer--mini-animate')\n }\n this.timerMini = setTimeout(() => {\n this.$el !== void 0 && this.$el.classList.remove('q-drawer--mini-animate')\n this.timerMini = void 0\n }, 150)\n },\n\n __openByTouch (evt) {\n if (this.showing !== false) {\n // some browsers might capture and trigger this\n // even if Drawer has just been opened (but animation is still pending)\n return\n }\n\n const\n width = this.size,\n position = between(evt.distance.x, 0, width)\n\n if (evt.isFinal === true) {\n const\n el = this.$refs.content,\n opened = position >= Math.min(75, width)\n\n el.classList.remove('no-transition')\n\n if (opened === true) {\n this.show()\n }\n else {\n this.layout.__animate()\n this.__applyBackdrop(0)\n this.__applyPosition(this.stateDirection * width)\n el.classList.remove('q-drawer--delimiter')\n el.classList.add('q-layout--prevent-focus')\n this.__setBackdropVisible(false)\n }\n\n return\n }\n\n this.__applyPosition(\n (this.$q.lang.rtl === true ? this.rightSide !== true : this.rightSide)\n ? Math.max(width - position, 0)\n : Math.min(0, position - width)\n )\n this.__applyBackdrop(\n between(position / width, 0, 1)\n )\n\n if (evt.isFirst === true) {\n const el = this.$refs.content\n el.classList.add('no-transition')\n el.classList.add('q-drawer--delimiter')\n el.classList.remove('q-layout--prevent-focus')\n this.__setBackdropVisible(true)\n }\n },\n\n __closeByTouch (evt) {\n if (this.showing !== true) {\n // some browsers might capture and trigger this\n // even if Drawer has just been closed (but animation is still pending)\n return\n }\n\n const\n width = this.size,\n dir = evt.direction === this.side,\n position = (this.$q.lang.rtl === true ? dir !== true : dir)\n ? between(evt.distance.x, 0, width)\n : 0\n\n if (evt.isFinal === true) {\n const opened = Math.abs(position) < Math.min(75, width)\n this.$refs.content.classList.remove('no-transition')\n\n if (opened === true) {\n this.layout.__animate()\n this.__applyBackdrop(1)\n this.__applyPosition(0)\n }\n else {\n this.hide()\n }\n\n return\n }\n\n this.__applyPosition(this.stateDirection * position)\n this.__applyBackdrop(between(1 - position / width, 0, 1))\n\n if (evt.isFirst === true) {\n this.$refs.content.classList.add('no-transition')\n }\n },\n\n __show (evt, noEvent) {\n this.__addHistory()\n\n this.__setBackdropVisible(true)\n evt !== false && this.layout.__animate()\n this.__applyPosition(0)\n\n if (this.belowBreakpoint === true) {\n const otherSide = this.layout.instances[this.otherSide]\n if (otherSide !== void 0 && otherSide.belowBreakpoint === true) {\n otherSide.hide(false)\n }\n\n this.__applyBackdrop(1)\n this.layout.container !== true && this.__preventScroll(true)\n }\n else {\n this.__applyBackdrop(0)\n evt !== false && this.__setScrollable(false)\n }\n\n this.__setTimeout(() => {\n evt !== false && this.__setScrollable(true)\n noEvent !== true && this.$emit('show', evt)\n }, duration)\n },\n\n __hide (evt, noEvent) {\n this.__removeHistory()\n\n evt !== false && this.layout.__animate()\n\n this.__applyBackdrop(0)\n this.__applyPosition(this.stateDirection * this.size)\n this.__setBackdropVisible(false)\n\n this.__cleanup()\n\n noEvent !== true && this.__setTimeout(() => {\n this.$emit('hide', evt)\n }, duration)\n },\n\n __cleanup () {\n this.__preventScroll(false)\n this.__setScrollable(true)\n },\n\n __update (prop, val) {\n if (this.layout[this.side][prop] !== val) {\n this.layout[this.side][prop] = val\n }\n },\n\n __updateLocal (prop, val) {\n if (this[prop] !== val) {\n this[prop] = val\n }\n },\n\n __updateSizeOnLayout (miniToOverlay, size) {\n this.__update('size', miniToOverlay === true ? this.miniWidth : size)\n },\n\n __updateBelowBreakpoint () {\n this.__updateLocal('belowBreakpoint', (\n this.behavior === 'mobile' ||\n (this.behavior !== 'desktop' && this.layout.totalWidth <= this.breakpoint)\n ))\n }\n },\n\n created () {\n this.layout.instances[this.side] = this\n this.__updateSizeOnLayout(this.miniToOverlay, this.size)\n this.__update('space', this.onLayout)\n this.__update('offset', this.offset)\n\n if (\n this.showIfAbove === true &&\n this.value !== true &&\n this.showing === true &&\n this.qListeners.input !== void 0\n ) {\n this.$emit('input', true)\n }\n },\n\n mounted () {\n this.$emit('on-layout', this.onLayout)\n this.$emit('mini-state', this.isMini)\n\n this.lastDesktopState = this.showIfAbove === true\n\n const fn = () => {\n const action = this.showing === true ? 'show' : 'hide'\n this[`__${action}`](false, true)\n }\n\n if (this.layout.totalWidth !== 0) {\n // make sure that all computed properties\n // have been updated before calling __show/__hide()\n this.$nextTick(fn)\n return\n }\n\n this.watcher = this.$watch('layout.totalWidth', () => {\n this.watcher()\n this.watcher = void 0\n\n if (this.showing === false && this.showIfAbove === true && this.belowBreakpoint === false) {\n this.show(false)\n }\n else {\n fn()\n }\n })\n },\n\n beforeDestroy () {\n this.watcher !== void 0 && this.watcher()\n clearTimeout(this.timerMini)\n\n this.showing === true && this.__cleanup()\n\n if (this.layout.instances[this.side] === this) {\n this.layout.instances[this.side] = void 0\n this.__update('size', 0)\n this.__update('offset', 0)\n this.__update('space', false)\n }\n },\n\n render (h) {\n const child = []\n\n if (this.belowBreakpoint === true) {\n this.noSwipeOpen !== true && child.push(\n h('div', {\n staticClass: `q-drawer__opener fixed-${this.side}`,\n attrs: ariaHidden,\n directives: this.openDirective\n })\n )\n\n child.push(\n h('div', {\n ref: 'backdrop',\n staticClass: 'fullscreen q-drawer__backdrop',\n class: this.backdropClass,\n attrs: ariaHidden,\n style: this.lastBackdropBg !== void 0\n ? { backgroundColor: this.lastBackdropBg }\n : null,\n on: cache(this, 'bkdrop', { click: this.hide }),\n directives: this.showing === false\n ? void 0\n : this.backdropCloseDirective\n })\n )\n }\n\n const content = [\n h('div', {\n staticClass: 'q-drawer__content fit ' + (this.layout.container === true ? 'overflow-auto' : 'scroll'),\n class: this.contentClass,\n style: this.contentStyle\n }, this.isMini === true && this.$scopedSlots.mini !== void 0\n ? this.$scopedSlots.mini()\n : slot(this, 'default')\n )\n ]\n\n if (this.elevated === true && this.showing === true) {\n content.push(\n h('div', {\n staticClass: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n }\n\n child.push(\n h('aside', {\n ref: 'content',\n staticClass: `q-drawer`,\n class: this.classes,\n style: this.style,\n on: this.onNativeEvents,\n directives: this.belowBreakpoint === true\n ? this.contentCloseDirective\n : void 0\n }, content)\n )\n\n return h('div', { staticClass: 'q-drawer-container' }, child)\n }\n})\n","import Vue from 'vue'\n\nimport AnchorMixin from '../../mixins/anchor.js'\nimport ModelToggleMixin from '../../mixins/model-toggle.js'\nimport PortalMixin from '../../mixins/portal.js'\nimport TransitionMixin from '../../mixins/transition.js'\n\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { addEvt, cleanEvt } from '../../utils/event.js'\nimport { clearSelection } from '../../utils/selection.js'\nimport { slot } from '../../utils/slot.js'\nimport {\n validatePosition, validateOffset, setPosition, parsePosition\n} from '../../utils/position-engine.js'\n\nexport default Vue.extend({\n name: 'QTooltip',\n\n mixins: [ AnchorMixin, ModelToggleMixin, PortalMixin, TransitionMixin ],\n\n props: {\n maxHeight: {\n type: String,\n default: null\n },\n maxWidth: {\n type: String,\n default: null\n },\n\n transitionShow: {\n default: 'jump-down'\n },\n transitionHide: {\n default: 'jump-up'\n },\n\n anchor: {\n type: String,\n default: 'bottom middle',\n validator: validatePosition\n },\n self: {\n type: String,\n default: 'top middle',\n validator: validatePosition\n },\n offset: {\n type: Array,\n default: () => [14, 14],\n validator: validateOffset\n },\n\n scrollTarget: {\n default: void 0\n },\n\n delay: {\n type: Number,\n default: 0\n },\n\n hideDelay: {\n type: Number,\n default: 0\n }\n },\n\n computed: {\n anchorOrigin () {\n return parsePosition(this.anchor, this.$q.lang.rtl)\n },\n\n selfOrigin () {\n return parsePosition(this.self, this.$q.lang.rtl)\n },\n\n hideOnRouteChange () {\n return this.persistent !== true\n }\n },\n\n methods: {\n __show (evt) {\n this.__showPortal()\n\n this.__nextTick(() => {\n this.observer = new MutationObserver(() => this.updatePosition())\n this.observer.observe(this.__portal.$el, { attributes: false, childList: true, characterData: true, subtree: true })\n this.updatePosition()\n this.__configureScrollTarget()\n })\n\n if (this.unwatch === void 0) {\n this.unwatch = this.$watch(\n () => this.$q.screen.width + '|' + this.$q.screen.height + '|' + this.self + '|' + this.anchor + '|' + this.$q.lang.rtl,\n this.updatePosition\n )\n }\n\n this.__setTimeout(() => {\n this.__showPortal(true)\n this.$emit('show', evt)\n }, 300)\n },\n\n __hide (evt) {\n this.__anchorCleanup()\n\n this.__setTimeout(() => {\n this.__hidePortal()\n this.$emit('hide', evt)\n }, 300)\n },\n\n __anchorCleanup () {\n if (this.observer !== void 0) {\n this.observer.disconnect()\n this.observer = void 0\n }\n\n if (this.unwatch !== void 0) {\n this.unwatch()\n this.unwatch = void 0\n }\n\n this.__unconfigureScrollTarget()\n cleanEvt(this, 'tooltipTemp')\n },\n\n updatePosition () {\n if (this.anchorEl === void 0 || this.__portal === void 0) {\n return\n }\n\n const el = this.__portal.$el\n\n if (el.nodeType === 8) { // IE replaces the comment with delay\n setTimeout(this.updatePosition, 25)\n return\n }\n\n setPosition({\n el,\n offset: this.offset,\n anchorEl: this.anchorEl,\n anchorOrigin: this.anchorOrigin,\n selfOrigin: this.selfOrigin,\n maxHeight: this.maxHeight,\n maxWidth: this.maxWidth\n })\n },\n\n __delayShow (evt) {\n if (this.$q.platform.is.mobile === true) {\n clearSelection()\n document.body.classList.add('non-selectable')\n\n const target = this.anchorEl\n const evts = ['touchmove', 'touchcancel', 'touchend', 'click']\n .map(e => ([ target, e, '__delayHide', 'passiveCapture' ]))\n\n addEvt(this, 'tooltipTemp', evts)\n }\n\n this.__setTimeout(() => {\n this.show(evt)\n }, this.delay)\n },\n\n __delayHide (evt) {\n this.__clearTimeout()\n\n if (this.$q.platform.is.mobile === true) {\n cleanEvt(this, 'tooltipTemp')\n clearSelection()\n // delay needed otherwise selection still occurs\n setTimeout(() => {\n document.body.classList.remove('non-selectable')\n }, 10)\n }\n\n this.__setTimeout(() => {\n this.hide(evt)\n }, this.hideDelay)\n },\n\n __configureAnchorEl () {\n if (this.noParentEvent === true || this.anchorEl === void 0) { return }\n\n const evts = this.$q.platform.is.mobile === true\n ? [\n [ this.anchorEl, 'touchstart', '__delayShow', 'passive' ]\n ]\n : [\n [ this.anchorEl, 'mouseenter', '__delayShow', 'passive' ],\n [ this.anchorEl, 'mouseleave', '__delayHide', 'passive' ]\n ]\n\n addEvt(this, 'anchor', evts)\n },\n\n __unconfigureScrollTarget () {\n if (this.__scrollTarget !== void 0) {\n this.__changeScrollEvent(this.__scrollTarget)\n this.__scrollTarget = void 0\n }\n },\n\n __configureScrollTarget () {\n if (this.anchorEl !== void 0 || this.scrollTarget !== void 0) {\n this.__scrollTarget = getScrollTarget(this.anchorEl, this.scrollTarget)\n const fn = this.noParentEvent === true\n ? this.updatePosition\n : this.hide\n\n this.__changeScrollEvent(this.__scrollTarget, fn)\n }\n },\n\n __renderPortal (h) {\n return h('transition', {\n props: { name: this.transition }\n }, [\n this.showing === true ? h('div', {\n staticClass: 'q-tooltip q-tooltip--style q-position-engine no-pointer-events',\n class: this.contentClass,\n style: this.contentStyle,\n attrs: {\n role: 'complementary'\n }\n }, slot(this, 'default')) : null\n ])\n }\n },\n\n mounted () {\n this.__processModelChange(this.value)\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QItemSection',\n\n mixins: [ ListenersMixin ],\n\n props: {\n avatar: Boolean,\n thumbnail: Boolean,\n side: Boolean,\n top: Boolean,\n noWrap: Boolean\n },\n\n computed: {\n classes () {\n const side = this.avatar || this.side || this.thumbnail\n\n return {\n 'q-item__section--top': this.top,\n 'q-item__section--avatar': this.avatar,\n 'q-item__section--thumbnail': this.thumbnail,\n 'q-item__section--side': side,\n 'q-item__section--nowrap': this.noWrap,\n 'q-item__section--main': !side,\n [`justify-${this.top ? 'start' : 'center'}`]: true\n }\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-item__section column',\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import QBtn from '../btn/QBtn.js'\nimport QBtnDropdown from '../btn-dropdown/QBtnDropdown.js'\nimport QIcon from '../icon/QIcon.js'\nimport QTooltip from '../tooltip/QTooltip.js'\nimport QList from '../item/QList.js'\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\n\nimport { prevent, stop } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\nimport { shouldIgnoreKey } from '../../utils/key-composition.js'\n\nfunction run (e, btn, vm) {\n if (btn.handler) {\n btn.handler(e, vm, vm.caret)\n }\n else {\n vm.runCmd(btn.cmd, btn.param)\n }\n}\n\nfunction __getGroup (h, children) {\n return h('div', {\n staticClass: 'q-editor__toolbar-group'\n }, children)\n}\n\nfunction getBtn (h, vm, btn, clickHandler, active = false) {\n const\n toggled = active || (btn.type === 'toggle'\n ? (btn.toggled ? btn.toggled(vm) : btn.cmd && vm.caret.is(btn.cmd, btn.param))\n : false),\n child = [],\n events = {\n click (e) {\n clickHandler && clickHandler()\n run(e, btn, vm)\n }\n }\n\n if (btn.tip && vm.$q.platform.is.desktop) {\n const Key = btn.key\n ? h('div', [h('small', `(CTRL + ${String.fromCharCode(btn.key)})`)])\n : null\n child.push(\n h(QTooltip, { props: { delay: 1000 } }, [\n h('div', { domProps: { innerHTML: btn.tip } }),\n Key\n ])\n )\n }\n\n return h(QBtn, {\n props: {\n ...vm.buttonProps,\n icon: btn.icon !== null ? btn.icon : void 0,\n color: toggled ? btn.toggleColor || vm.toolbarToggleColor : btn.color || vm.toolbarColor,\n textColor: toggled && !vm.toolbarPush ? null : btn.textColor || vm.toolbarTextColor,\n label: btn.label,\n disable: btn.disable ? (typeof btn.disable === 'function' ? btn.disable(vm) : true) : false,\n size: 'sm'\n },\n on: events\n }, child)\n}\n\nfunction getDropdown (h, vm, btn) {\n const onlyIcons = btn.list === 'only-icons'\n let\n label = btn.label,\n icon = btn.icon !== null ? btn.icon : void 0,\n contentClass,\n Items\n\n function closeDropdown () {\n Dropdown.componentInstance.hide()\n }\n\n if (onlyIcons) {\n Items = btn.options.map(btn => {\n const active = btn.type === void 0\n ? vm.caret.is(btn.cmd, btn.param)\n : false\n\n if (active) {\n label = btn.tip\n icon = btn.icon !== null ? btn.icon : void 0\n }\n return getBtn(h, vm, btn, closeDropdown, active)\n })\n contentClass = vm.toolbarBackgroundClass\n Items = [\n __getGroup(h, Items)\n ]\n }\n else {\n const activeClass = vm.toolbarToggleColor !== void 0\n ? `text-${vm.toolbarToggleColor}`\n : null\n const inactiveClass = vm.toolbarTextColor !== void 0\n ? `text-${vm.toolbarTextColor}`\n : null\n\n const noIcons = btn.list === 'no-icons'\n\n Items = btn.options.map(btn => {\n const disable = btn.disable ? btn.disable(vm) : false\n const active = btn.type === void 0\n ? vm.caret.is(btn.cmd, btn.param)\n : false\n\n if (active) {\n label = btn.tip\n icon = btn.icon !== null ? btn.icon : void 0\n }\n\n const htmlTip = btn.htmlTip\n\n return h(\n QItem,\n {\n props: { active, activeClass, clickable: true, disable: disable, dense: true },\n on: {\n click (e) {\n closeDropdown()\n vm.$refs.content && vm.$refs.content.focus()\n vm.caret.restore()\n run(e, btn, vm)\n }\n }\n },\n [\n noIcons === true\n ? null\n : h(QItemSection, {\n class: active ? activeClass : inactiveClass,\n props: { side: true }\n }, [\n h(QIcon, { props: { name: btn.icon !== null ? btn.icon : void 0 } })\n ]),\n\n h(QItemSection, [\n htmlTip\n ? h('div', {\n staticClass: 'text-no-wrap',\n domProps: { innerHTML: btn.htmlTip }\n })\n : (\n btn.tip\n ? h('div', { staticClass: 'text-no-wrap' }, [ btn.tip ])\n : null\n )\n ])\n ]\n )\n })\n contentClass = [vm.toolbarBackgroundClass, inactiveClass]\n Items = [\n h(QList, [ Items ])\n ]\n }\n\n const highlight = btn.highlight && label !== btn.label\n const Dropdown = h(\n QBtnDropdown,\n {\n props: {\n ...vm.buttonProps,\n noCaps: true,\n noWrap: true,\n color: highlight ? vm.toolbarToggleColor : vm.toolbarColor,\n textColor: highlight && !vm.toolbarPush ? null : vm.toolbarTextColor,\n label: btn.fixedLabel ? btn.label : label,\n icon: btn.fixedIcon ? (btn.icon !== null ? btn.icon : void 0) : icon,\n contentClass\n }\n },\n Items\n )\n return Dropdown\n}\n\nexport function getToolbar (h, vm) {\n if (vm.caret) {\n return vm.buttons\n .filter(f => {\n return !vm.isViewingSource || f.find(fb => fb.cmd === 'viewsource')\n })\n .map(group => __getGroup(\n h,\n group.map(btn => {\n if (vm.isViewingSource && btn.cmd !== 'viewsource') {\n return false\n }\n\n if (btn.type === 'slot') {\n return slot(vm, btn.slot)\n }\n\n if (btn.type === 'dropdown') {\n return getDropdown(h, vm, btn)\n }\n\n return getBtn(h, vm, btn)\n })\n ))\n }\n}\n\nexport function getFonts (defaultFont, defaultFontLabel, defaultFontIcon, fonts = {}) {\n const aliases = Object.keys(fonts)\n if (aliases.length === 0) {\n return {}\n }\n\n const def = {\n default_font: {\n cmd: 'fontName',\n param: defaultFont,\n icon: defaultFontIcon,\n tip: defaultFontLabel\n }\n }\n\n aliases.forEach(alias => {\n const name = fonts[alias]\n def[alias] = {\n cmd: 'fontName',\n param: name,\n icon: defaultFontIcon,\n tip: name,\n htmlTip: `<font face=\"${name}\">${name}</font>`\n }\n })\n\n return def\n}\n\nexport function getLinkEditor (h, vm, ie11) {\n if (vm.caret) {\n const color = vm.toolbarColor || vm.toolbarTextColor\n let link = vm.editLinkUrl\n const updateLink = () => {\n vm.caret.restore()\n\n if (link !== vm.editLinkUrl) {\n document.execCommand('createLink', false, link === '' ? ' ' : link)\n }\n\n vm.editLinkUrl = null\n\n ie11 === true && vm.$nextTick(vm.__onInput)\n }\n\n return [\n h('div', { staticClass: 'q-mx-xs', 'class': `text-${color}` }, [`${vm.$q.lang.editor.url}: `]),\n h('input', {\n key: 'qedt_btm_input',\n staticClass: 'col q-editor__link-input',\n domProps: {\n value: link\n },\n on: {\n input: e => {\n stop(e)\n link = e.target.value\n },\n keydown: event => {\n if (shouldIgnoreKey(event) === true) {\n return\n }\n\n switch (event.keyCode) {\n case 13: // ENTER key\n prevent(event)\n return updateLink()\n case 27: // ESCAPE key\n prevent(event)\n vm.caret.restore()\n if (!vm.editLinkUrl || vm.editLinkUrl === 'https://') {\n document.execCommand('unlink')\n }\n vm.editLinkUrl = null\n break\n }\n }\n }\n }),\n __getGroup(h, [\n h(QBtn, {\n key: 'qedt_btm_rem',\n attrs: { tabindex: -1 },\n props: {\n ...vm.buttonProps,\n label: vm.$q.lang.label.remove,\n noCaps: true\n },\n on: {\n click: () => {\n vm.caret.restore()\n document.execCommand('unlink')\n vm.editLinkUrl = null\n\n ie11 === true && vm.$nextTick(vm.__onInput)\n }\n }\n }),\n h(QBtn, {\n key: 'qedt_btm_upd',\n props: {\n ...vm.buttonProps,\n label: vm.$q.lang.label.update,\n noCaps: true\n },\n on: {\n click: updateLink\n }\n })\n ])\n ]\n }\n}\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}","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 return Constructor;\n}","import { noop } from '../../utils/event.js'\n\nfunction getBlockElement (el, parent) {\n if (parent && el === parent) {\n return null\n }\n\n const nodeName = el.nodeName.toLowerCase()\n\n if (['div', 'li', 'ul', 'ol', 'blockquote'].includes(nodeName) === true) {\n return el\n }\n\n const\n style = window.getComputedStyle\n ? window.getComputedStyle(el)\n : el.currentStyle,\n display = style.display\n\n if (display === 'block' || display === 'table') {\n return el\n }\n\n return getBlockElement(el.parentNode)\n}\n\nfunction isChildOf (el, parent, orSame) {\n return !el || el === document.body\n ? false\n : (orSame === true && el === parent) || (parent === document ? document.body : parent).contains(el.parentNode)\n}\n\nfunction createRange (node, chars, range) {\n if (!range) {\n range = document.createRange()\n range.selectNode(node)\n range.setStart(node, 0)\n }\n\n if (chars.count === 0) {\n range.setEnd(node, chars.count)\n }\n else if (chars.count > 0) {\n if (node.nodeType === Node.TEXT_NODE) {\n if (node.textContent.length < chars.count) {\n chars.count -= node.textContent.length\n }\n else {\n range.setEnd(node, chars.count)\n chars.count = 0\n }\n }\n else {\n for (let lp = 0; chars.count !== 0 && lp < node.childNodes.length; lp++) {\n range = createRange(node.childNodes[lp], chars, range)\n }\n }\n }\n\n return range\n}\n\nconst urlRegex = /^https?:\\/\\//\n\nexport class Caret {\n constructor (el, vm) {\n this.el = el\n this.vm = vm\n this._range = null\n }\n\n get selection () {\n if (this.el) {\n const sel = document.getSelection()\n\n // only when the selection in element\n if (isChildOf(sel.anchorNode, this.el, true) && isChildOf(sel.focusNode, this.el, true)) {\n return sel\n }\n }\n\n return null\n }\n\n get hasSelection () {\n return this.selection !== null\n ? this.selection.toString().length > 0\n : false\n }\n\n get range () {\n const sel = this.selection\n\n if (sel !== null && sel.rangeCount) {\n return sel.getRangeAt(0)\n }\n\n return this._range\n }\n\n get parent () {\n const range = this.range\n\n if (range !== null) {\n const node = range.startContainer\n\n return node.nodeType === document.ELEMENT_NODE\n ? node\n : node.parentNode\n }\n\n return null\n }\n\n get blockParent () {\n const parent = this.parent\n\n if (parent !== null) {\n return getBlockElement(parent, this.el)\n }\n\n return null\n }\n\n save (range = this.range) {\n if (range !== null) {\n this._range = range\n }\n }\n\n restore (range = this._range) {\n const\n r = document.createRange(),\n sel = document.getSelection()\n\n if (range !== null) {\n r.setStart(range.startContainer, range.startOffset)\n r.setEnd(range.endContainer, range.endOffset)\n sel.removeAllRanges()\n sel.addRange(r)\n }\n else {\n sel.selectAllChildren(this.el)\n sel.collapseToEnd()\n }\n }\n\n savePosition () {\n let charCount = -1, node\n const\n selection = document.getSelection(),\n parentEl = this.el.parentNode\n\n if (selection.focusNode && isChildOf(selection.focusNode, parentEl)) {\n node = selection.focusNode\n charCount = selection.focusOffset\n\n while (node && node !== parentEl) {\n if (node !== this.el && node.previousSibling) {\n node = node.previousSibling\n charCount += node.textContent.length\n }\n else {\n node = node.parentNode\n }\n }\n }\n\n this.savedPos = charCount\n }\n\n restorePosition (length = 0) {\n if (this.savedPos > 0 && this.savedPos < length) {\n const\n selection = window.getSelection(),\n range = createRange(this.el, { count: this.savedPos })\n\n if (range) {\n range.collapse(false)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n }\n }\n\n hasParent (name, spanLevel) {\n const el = spanLevel\n ? this.parent\n : this.blockParent\n\n return el !== null\n ? el.nodeName.toLowerCase() === name.toLowerCase()\n : false\n }\n\n hasParents (list, recursive, el = this.parent) {\n if (el === null) {\n return false\n }\n\n if (el !== null && list.includes(el.nodeName.toLowerCase()) === true) {\n return true\n }\n\n return recursive === true\n ? this.hasParents(list, recursive, el.parentNode)\n : false\n }\n\n is (cmd, param) {\n if (this.selection === null) {\n return false\n }\n\n switch (cmd) {\n case 'formatBlock':\n if (param === 'DIV' && this.parent === this.el) {\n return true\n }\n return this.hasParent(param, param === 'PRE')\n case 'link':\n return this.hasParent('A', true)\n case 'fontSize':\n return document.queryCommandValue(cmd) === param\n case 'fontName':\n const res = document.queryCommandValue(cmd)\n return res === `\"${param}\"` || res === param\n case 'fullscreen':\n return this.vm.inFullscreen\n case 'viewsource':\n return this.vm.isViewingSource\n case void 0:\n return false\n default:\n const state = document.queryCommandState(cmd)\n return param !== void 0 ? state === param : state\n }\n }\n\n getParentAttribute (attrib) {\n if (this.parent !== null) {\n return this.parent.getAttribute(attrib)\n }\n\n return null\n }\n\n can (name) {\n if (name === 'outdent') {\n return this.hasParents(['blockquote', 'li'], true)\n }\n\n if (name === 'indent') {\n return this.hasParents(['li'], true)\n }\n\n if (name === 'link') {\n return this.selection !== null || this.is('link')\n }\n }\n\n apply (cmd, param, done = noop) {\n if (cmd === 'formatBlock') {\n if (['BLOCKQUOTE', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6'].includes(param) && this.is(cmd, param)) {\n cmd = 'outdent'\n param = null\n }\n\n if (param === 'PRE' && this.is(cmd, 'PRE')) {\n param = 'P'\n }\n }\n else if (cmd === 'print') {\n done()\n\n const win = window.open()\n\n win.document.write(`\n <!doctype html>\n <html>\n <head>\n <title>Print - ${document.title}</title>\n </head>\n <body>\n <div>${this.el.innerHTML}</div>\n </body>\n </html>\n `)\n win.print()\n win.close()\n\n return\n }\n else if (cmd === 'link') {\n const link = this.getParentAttribute('href')\n\n if (link === null) {\n const selection = this.selectWord(this.selection)\n const url = selection ? selection.toString() : ''\n\n if (!url.length) {\n if (!this.range || !this.range.cloneContents().querySelector('img')) {\n return\n }\n }\n\n this.vm.editLinkUrl = urlRegex.test(url) ? url : 'https://'\n document.execCommand('createLink', false, this.vm.editLinkUrl)\n\n this.save(selection.getRangeAt(0))\n }\n else {\n this.vm.editLinkUrl = link\n\n this.range.selectNodeContents(this.parent)\n this.save()\n }\n\n return\n }\n else if (cmd === 'fullscreen') {\n this.vm.toggleFullscreen()\n done()\n\n return\n }\n else if (cmd === 'viewsource') {\n this.vm.isViewingSource = this.vm.isViewingSource === false\n this.vm.__setContent(this.vm.value)\n done()\n\n return\n }\n\n document.execCommand(cmd, false, param)\n\n done()\n }\n\n selectWord (sel) {\n if (sel === null || sel.isCollapsed !== true || /* IE 11 */ sel.modify === void 0) {\n return sel\n }\n\n // Detect if selection is backwards\n const range = document.createRange()\n range.setStart(sel.anchorNode, sel.anchorOffset)\n range.setEnd(sel.focusNode, sel.focusOffset)\n const direction = range.collapsed ? ['backward', 'forward'] : ['forward', 'backward']\n range.detach()\n\n // modify() works on the focus of the selection\n const\n endNode = sel.focusNode,\n endOffset = sel.focusOffset\n sel.collapse(sel.anchorNode, sel.anchorOffset)\n sel.modify('move', direction[0], 'character')\n sel.modify('move', direction[1], 'word')\n sel.extend(endNode, endOffset)\n sel.modify('extend', direction[1], 'character')\n sel.modify('extend', direction[0], 'word')\n\n return sel\n }\n}\n","import { isPlainObject } from './is'\n\nexport default function extend () {\n let\n options, name, src, copy, copyIsArray, clone,\n target = arguments[ 0 ] || {},\n i = 1,\n deep = false\n const length = arguments.length\n\n if (typeof target === 'boolean') {\n deep = target\n target = arguments[ 1 ] || {}\n i = 2\n }\n\n if (Object(target) !== target && typeof target !== 'function') {\n target = {}\n }\n\n if (length === i) {\n target = this\n i--\n }\n\n for (; i < length; i++) {\n if ((options = arguments[ i ]) !== null) {\n for (name in options) {\n src = target[ name ]\n copy = options[ name ]\n\n if (target === copy) {\n continue\n }\n\n if (deep && copy && (isPlainObject(copy) === true || (copyIsArray = Array.isArray(copy) === true))) {\n if (copyIsArray) {\n copyIsArray = false\n clone = src && Array.isArray(src) === true ? src : []\n }\n else {\n clone = src && isPlainObject(src) === true ? src : {}\n }\n\n target[ name ] = extend(deep, clone, copy)\n }\n else if (copy !== void 0) {\n target[ name ] = copy\n }\n }\n }\n }\n\n return target\n}\n","/**\n * Based on the work of https://github.com/jchook/uuid-random\n */\n\nlet\n buf,\n bufIdx = 0\nconst hexBytes = new Array(256)\n\n// Pre-calculate toString(16) for speed\nfor (let i = 0; i < 256; i++) {\n hexBytes[i] = (i + 0x100).toString(16).substr(1)\n}\n\n// Use best available PRNG\nconst randomBytes = (() => {\n // Node & Browser support\n const lib = typeof crypto !== 'undefined'\n ? crypto\n : (\n typeof window !== 'undefined'\n ? window.msCrypto // IE11\n : void 0\n )\n\n if (lib !== void 0) {\n if (lib.randomBytes !== void 0) {\n return lib.randomBytes\n }\n if (lib.getRandomValues !== void 0) {\n return n => {\n var bytes = new Uint8Array(n)\n lib.getRandomValues(bytes)\n return bytes\n }\n }\n }\n\n return n => {\n const r = []\n for (let i = n; i > 0; i--) {\n r.push(Math.floor(Math.random() * 256))\n }\n return r\n }\n})()\n\n// Buffer random numbers for speed\n// Reduce memory usage by decreasing this number (min 16)\n// or improve speed by increasing this number (try 16384)\nconst BUFFER_SIZE = 4096\n\nexport default function () {\n // Buffer some random bytes for speed\n if (buf === void 0 || (bufIdx + 16 > BUFFER_SIZE)) {\n bufIdx = 0\n buf = randomBytes(BUFFER_SIZE)\n }\n\n const b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16))\n b[6] = (b[6] & 0x0f) | 0x40\n b[8] = (b[8] & 0x3f) | 0x80\n\n return hexBytes[b[0]] + hexBytes[b[1]] +\n hexBytes[b[2]] + hexBytes[b[3]] + '-' +\n hexBytes[b[4]] + hexBytes[b[5]] + '-' +\n hexBytes[b[6]] + hexBytes[b[7]] + '-' +\n hexBytes[b[8]] + hexBytes[b[9]] + '-' +\n hexBytes[b[10]] + hexBytes[b[11]] +\n hexBytes[b[12]] + hexBytes[b[13]] +\n hexBytes[b[14]] + hexBytes[b[15]]\n}\n","import Vue from 'vue'\n\nimport { getToolbar, getFonts, getLinkEditor } from './editor-utils.js'\nimport { Caret } from './editor-caret.js'\n\nimport FullscreenMixin from '../../mixins/fullscreen.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { isSSR } from '../../plugins/Platform.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport extend from '../../utils/extend.js'\nimport { shouldIgnoreKey } from '../../utils/key-composition.js'\nimport { addFocusFn } from '../../utils/focus-manager.js'\n\nexport default Vue.extend({\n name: 'QEditor',\n\n mixins: [ ListenersMixin, FullscreenMixin, DarkMixin ],\n\n props: {\n value: {\n type: String,\n required: true\n },\n readonly: Boolean,\n disable: Boolean,\n minHeight: {\n type: String,\n default: '10rem'\n },\n maxHeight: String,\n height: String,\n definitions: Object,\n fonts: Object,\n placeholder: String,\n\n toolbar: {\n type: Array,\n validator: v => v.length === 0 || v.every(group => group.length),\n default () {\n return [\n ['left', 'center', 'right', 'justify'],\n ['bold', 'italic', 'underline', 'strike'],\n ['undo', 'redo']\n ]\n }\n },\n toolbarColor: String,\n toolbarBg: String,\n toolbarTextColor: String,\n toolbarToggleColor: {\n type: String,\n default: 'primary'\n },\n toolbarOutline: Boolean,\n toolbarPush: Boolean,\n toolbarRounded: Boolean,\n\n paragraphTag: {\n type: String,\n validator: v => ['div', 'p'].includes(v),\n default: 'div'\n },\n\n contentStyle: Object,\n contentClass: [Object, Array, String],\n\n square: Boolean,\n flat: Boolean,\n dense: Boolean\n },\n\n computed: {\n editable () {\n return !this.readonly && !this.disable\n },\n\n hasToolbar () {\n return this.toolbar && this.toolbar.length > 0\n },\n\n toolbarBackgroundClass () {\n if (this.toolbarBg) {\n return `bg-${this.toolbarBg}`\n }\n },\n\n buttonProps () {\n const flat = this.toolbarOutline !== true &&\n this.toolbarPush !== true\n\n return {\n type: 'a',\n flat,\n noWrap: true,\n outline: this.toolbarOutline,\n push: this.toolbarPush,\n rounded: this.toolbarRounded,\n dense: true,\n color: this.toolbarColor,\n disable: !this.editable,\n size: 'sm'\n }\n },\n\n buttonDef () {\n const\n e = this.$q.lang.editor,\n i = this.$q.iconSet.editor\n\n return {\n bold: { cmd: 'bold', icon: i.bold, tip: e.bold, key: 66 },\n italic: { cmd: 'italic', icon: i.italic, tip: e.italic, key: 73 },\n strike: { cmd: 'strikeThrough', icon: i.strikethrough, tip: e.strikethrough, key: 83 },\n underline: { cmd: 'underline', icon: i.underline, tip: e.underline, key: 85 },\n unordered: { cmd: 'insertUnorderedList', icon: i.unorderedList, tip: e.unorderedList },\n ordered: { cmd: 'insertOrderedList', icon: i.orderedList, tip: e.orderedList },\n subscript: { cmd: 'subscript', icon: i.subscript, tip: e.subscript, htmlTip: 'x<subscript>2</subscript>' },\n superscript: { cmd: 'superscript', icon: i.superscript, tip: e.superscript, htmlTip: 'x<superscript>2</superscript>' },\n link: { cmd: 'link', disable: vm => vm.caret && !vm.caret.can('link'), icon: i.hyperlink, tip: e.hyperlink, key: 76 },\n fullscreen: { cmd: 'fullscreen', icon: i.toggleFullscreen, tip: e.toggleFullscreen, key: 70 },\n viewsource: { cmd: 'viewsource', icon: i.viewSource, tip: e.viewSource },\n\n quote: { cmd: 'formatBlock', param: 'BLOCKQUOTE', icon: i.quote, tip: e.quote, key: 81 },\n left: { cmd: 'justifyLeft', icon: i.left, tip: e.left },\n center: { cmd: 'justifyCenter', icon: i.center, tip: e.center },\n right: { cmd: 'justifyRight', icon: i.right, tip: e.right },\n justify: { cmd: 'justifyFull', icon: i.justify, tip: e.justify },\n\n print: { type: 'no-state', cmd: 'print', icon: i.print, tip: e.print, key: 80 },\n outdent: { type: 'no-state', disable: vm => vm.caret && !vm.caret.can('outdent'), cmd: 'outdent', icon: i.outdent, tip: e.outdent },\n indent: { type: 'no-state', disable: vm => vm.caret && !vm.caret.can('indent'), cmd: 'indent', icon: i.indent, tip: e.indent },\n removeFormat: { type: 'no-state', cmd: 'removeFormat', icon: i.removeFormat, tip: e.removeFormat },\n hr: { type: 'no-state', cmd: 'insertHorizontalRule', icon: i.hr, tip: e.hr },\n undo: { type: 'no-state', cmd: 'undo', icon: i.undo, tip: e.undo, key: 90 },\n redo: { type: 'no-state', cmd: 'redo', icon: i.redo, tip: e.redo, key: 89 },\n\n h1: { cmd: 'formatBlock', param: 'H1', icon: i.heading1 || i.heading, tip: e.heading1, htmlTip: `<h1 class=\"q-ma-none\">${e.heading1}</h1>` },\n h2: { cmd: 'formatBlock', param: 'H2', icon: i.heading2 || i.heading, tip: e.heading2, htmlTip: `<h2 class=\"q-ma-none\">${e.heading2}</h2>` },\n h3: { cmd: 'formatBlock', param: 'H3', icon: i.heading3 || i.heading, tip: e.heading3, htmlTip: `<h3 class=\"q-ma-none\">${e.heading3}</h3>` },\n h4: { cmd: 'formatBlock', param: 'H4', icon: i.heading4 || i.heading, tip: e.heading4, htmlTip: `<h4 class=\"q-ma-none\">${e.heading4}</h4>` },\n h5: { cmd: 'formatBlock', param: 'H5', icon: i.heading5 || i.heading, tip: e.heading5, htmlTip: `<h5 class=\"q-ma-none\">${e.heading5}</h5>` },\n h6: { cmd: 'formatBlock', param: 'H6', icon: i.heading6 || i.heading, tip: e.heading6, htmlTip: `<h6 class=\"q-ma-none\">${e.heading6}</h6>` },\n p: { cmd: 'formatBlock', param: this.paragraphTag.toUpperCase(), icon: i.heading, tip: e.paragraph },\n code: { cmd: 'formatBlock', param: 'PRE', icon: i.code, htmlTip: `<code>${e.code}</code>` },\n\n 'size-1': { cmd: 'fontSize', param: '1', icon: i.size1 || i.size, tip: e.size1, htmlTip: `<font size=\"1\">${e.size1}</font>` },\n 'size-2': { cmd: 'fontSize', param: '2', icon: i.size2 || i.size, tip: e.size2, htmlTip: `<font size=\"2\">${e.size2}</font>` },\n 'size-3': { cmd: 'fontSize', param: '3', icon: i.size3 || i.size, tip: e.size3, htmlTip: `<font size=\"3\">${e.size3}</font>` },\n 'size-4': { cmd: 'fontSize', param: '4', icon: i.size4 || i.size, tip: e.size4, htmlTip: `<font size=\"4\">${e.size4}</font>` },\n 'size-5': { cmd: 'fontSize', param: '5', icon: i.size5 || i.size, tip: e.size5, htmlTip: `<font size=\"5\">${e.size5}</font>` },\n 'size-6': { cmd: 'fontSize', param: '6', icon: i.size6 || i.size, tip: e.size6, htmlTip: `<font size=\"6\">${e.size6}</font>` },\n 'size-7': { cmd: 'fontSize', param: '7', icon: i.size7 || i.size, tip: e.size7, htmlTip: `<font size=\"7\">${e.size7}</font>` }\n }\n },\n\n buttons () {\n const userDef = this.definitions || {}\n const def = this.definitions || this.fonts\n ? extend(\n true,\n {},\n this.buttonDef,\n userDef,\n getFonts(\n this.defaultFont,\n this.$q.lang.editor.defaultFont,\n this.$q.iconSet.editor.font,\n this.fonts\n )\n )\n : this.buttonDef\n\n return this.toolbar.map(\n group => group.map(token => {\n if (token.options) {\n return {\n type: 'dropdown',\n icon: token.icon,\n label: token.label,\n size: 'sm',\n dense: true,\n fixedLabel: token.fixedLabel,\n fixedIcon: token.fixedIcon,\n highlight: token.highlight,\n list: token.list,\n options: token.options.map(item => def[item])\n }\n }\n\n const obj = def[token]\n\n if (obj) {\n return obj.type === 'no-state' || (userDef[token] && (\n obj.cmd === void 0 || (this.buttonDef[obj.cmd] && this.buttonDef[obj.cmd].type === 'no-state')\n ))\n ? obj\n : Object.assign({ type: 'toggle' }, obj)\n }\n else {\n return {\n type: 'slot',\n slot: token\n }\n }\n })\n )\n },\n\n keys () {\n const\n k = {},\n add = btn => {\n if (btn.key) {\n k[btn.key] = {\n cmd: btn.cmd,\n param: btn.param\n }\n }\n }\n\n this.buttons.forEach(group => {\n group.forEach(token => {\n if (token.options) {\n token.options.forEach(add)\n }\n else {\n add(token)\n }\n })\n })\n return k\n },\n\n innerStyle () {\n return this.inFullscreen\n ? this.contentStyle\n : [\n {\n minHeight: this.minHeight,\n height: this.height,\n maxHeight: this.maxHeight\n },\n this.contentStyle\n ]\n },\n\n classes () {\n return `q-editor q-editor--${this.isViewingSource === true ? 'source' : 'default'}` +\n (this.disable === true ? ' disabled' : '') +\n (this.inFullscreen === true ? ' fullscreen column' : '') +\n (this.square === true ? ' q-editor--square no-border-radius' : '') +\n (this.flat === true ? ' q-editor--flat' : '') +\n (this.dense === true ? ' q-editor--dense' : '') +\n (this.isDark === true ? ' q-editor--dark q-dark' : '')\n },\n\n innerClass () {\n return [\n this.contentClass,\n { col: this.inFullscreen, 'overflow-auto': this.inFullscreen || this.maxHeight }\n ]\n },\n\n attrs () {\n if (this.disable === true) {\n return { 'aria-disabled': 'true' }\n }\n if (this.readonly === true) {\n return { 'aria-readonly': 'true' }\n }\n },\n\n onEditor () {\n return {\n focusin: this.__onFocusin,\n focusout: this.__onFocusout\n }\n }\n },\n\n data () {\n return {\n lastEmit: this.value,\n editLinkUrl: null,\n isViewingSource: false\n }\n },\n\n watch: {\n value (v) {\n if (this.lastEmit !== v) {\n this.lastEmit = v\n this.__setContent(v, true)\n }\n }\n },\n\n methods: {\n __onInput () {\n if (this.$refs.content !== void 0) {\n const val = this.isViewingSource === true\n ? this.$refs.content.innerText\n : this.$refs.content.innerHTML\n\n if (val !== this.value) {\n this.lastEmit = val\n this.$emit('input', val)\n }\n }\n },\n\n __onKeydown (e) {\n this.$emit('keydown', e)\n\n if (e.ctrlKey !== true || shouldIgnoreKey(e) === true) {\n this.refreshToolbar()\n this.$q.platform.is.ie && this.$nextTick(this.__onInput)\n return\n }\n\n const key = e.keyCode\n const target = this.keys[key]\n if (target !== void 0) {\n const { cmd, param } = target\n stopAndPrevent(e)\n this.runCmd(cmd, param, false)\n }\n },\n\n __onClick (e) {\n this.refreshToolbar()\n this.$emit('click', e)\n },\n\n __onBlur (e) {\n if (this.$refs.content !== void 0) {\n const { scrollTop, scrollHeight } = this.$refs.content\n this.__offsetBottom = scrollHeight - scrollTop\n }\n this.$q.platform.is.ie !== true && this.caret.save()\n this.$emit('blur', e)\n },\n\n __onFocus (e) {\n this.$nextTick(() => {\n if (this.$refs.content !== void 0 && this.__offsetBottom !== void 0) {\n this.$refs.content.scrollTop = this.$refs.content.scrollHeight - this.__offsetBottom\n }\n })\n this.$emit('focus', e)\n },\n\n __onFocusin (e) {\n if (\n this.$el.contains(e.target) === true &&\n (\n e.relatedTarget === null ||\n this.$el.contains(e.relatedTarget) !== true\n )\n ) {\n const prop = `inner${this.isViewingSource === true ? 'Text' : 'HTML'}`\n this.caret.restorePosition(this.$refs.content[prop].length)\n this.refreshToolbar()\n }\n },\n\n __onFocusout (e) {\n if (\n this.$el.contains(e.target) === true &&\n (\n e.relatedTarget === null ||\n this.$el.contains(e.relatedTarget) !== true\n )\n ) {\n this.caret.savePosition()\n this.refreshToolbar()\n }\n },\n\n __onMousedown () {\n this.__offsetBottom = void 0\n },\n\n __onMouseup (e) {\n this.caret.save()\n if (this.qListeners.mouseup !== void 0) {\n this.$emit('mouseup', e)\n }\n },\n\n __onKeyup (e) {\n this.caret.save()\n if (this.qListeners.keyup !== void 0) {\n this.$emit('keyup', e)\n }\n },\n\n __onTouchstart () {\n this.__offsetBottom = void 0\n },\n\n __onTouchend (e) {\n this.caret.save()\n if (this.qListeners.touchend !== void 0) {\n this.$emit('touchend', e)\n }\n },\n\n runCmd (cmd, param, update = true) {\n this.focus()\n this.caret.restore()\n this.caret.apply(cmd, param, () => {\n this.focus()\n this.caret.save()\n if (this.$q.platform.is.ie === true || this.$q.platform.is.edge === true) {\n this.$nextTick(this.__onInput)\n }\n if (update) {\n this.refreshToolbar()\n }\n })\n },\n\n refreshToolbar () {\n setTimeout(() => {\n this.editLinkUrl = null\n this.$forceUpdate()\n }, 1)\n },\n\n focus () {\n addFocusFn(() => {\n this.$refs.content !== void 0 && this.$refs.content.focus({ preventScroll: true })\n })\n },\n\n getContentEl () {\n return this.$refs.content\n },\n\n __setContent (v, restorePosition) {\n if (this.$refs.content !== void 0) {\n if (restorePosition === true) {\n this.caret.savePosition()\n }\n\n const prop = `inner${this.isViewingSource === true ? 'Text' : 'HTML'}`\n this.$refs.content[prop] = v\n\n if (restorePosition === true) {\n this.caret.restorePosition(this.$refs.content[prop].length)\n this.refreshToolbar()\n }\n }\n }\n },\n\n created () {\n if (isSSR === false) {\n document.execCommand('defaultParagraphSeparator', false, this.paragraphTag)\n this.defaultFont = window.getComputedStyle(document.body).fontFamily\n }\n },\n\n mounted () {\n this.caret = new Caret(this.$refs.content, this)\n this.__setContent(this.value)\n this.refreshToolbar()\n },\n\n render (h) {\n let toolbars\n\n if (this.hasToolbar) {\n const bars = [\n h('div', {\n key: 'qedt_top',\n staticClass: 'q-editor__toolbar row no-wrap scroll-x',\n class: this.toolbarBackgroundClass\n }, getToolbar(h, this))\n ]\n\n this.editLinkUrl !== null && bars.push(\n h('div', {\n key: 'qedt_btm',\n staticClass: 'q-editor__toolbar row no-wrap items-center scroll-x',\n class: this.toolbarBackgroundClass\n }, getLinkEditor(h, this, this.$q.platform.is.ie))\n )\n\n toolbars = h('div', {\n key: 'toolbar_ctainer',\n staticClass: 'q-editor__toolbars-container'\n }, bars)\n }\n\n const on = {\n ...this.qListeners,\n input: this.__onInput,\n keydown: this.__onKeydown,\n click: this.__onClick,\n blur: this.__onBlur,\n focus: this.__onFocus,\n\n // clean saved scroll position\n mousedown: this.__onMousedown,\n touchstart: this.__onTouchstart,\n\n // save caret\n mouseup: this.__onMouseup,\n keyup: this.__onKeyup,\n touchend: this.__onTouchend\n }\n\n return h('div', {\n style: {\n height: this.inFullscreen === true ? '100%' : null\n },\n class: this.classes,\n attrs: this.attrs,\n on: this.onEditor\n }, [\n toolbars,\n\n h(\n 'div',\n {\n ref: 'content',\n staticClass: `q-editor__content`,\n style: this.innerStyle,\n class: this.innerClass,\n attrs: {\n contenteditable: this.editable,\n placeholder: this.placeholder\n },\n domProps: isSSR\n ? { innerHTML: this.value }\n : void 0,\n on\n }\n )\n ])\n }\n})\n","import Vue from 'vue'\n\nimport { slot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QSlideTransition',\n\n props: {\n appear: Boolean,\n duration: {\n type: Number,\n default: 300\n }\n },\n\n methods: {\n __begin (el, height, done) {\n el.style.overflowY = 'hidden'\n if (height !== void 0) {\n el.style.height = `${height}px`\n }\n el.style.transition = `height ${this.duration}ms cubic-bezier(.25, .8, .50, 1)`\n\n this.animating = true\n this.done = done\n },\n\n __end (el, event) {\n el.style.overflowY = null\n el.style.height = null\n el.style.transition = null\n this.__cleanup()\n event !== this.lastEvent && this.$emit(event)\n },\n\n __cleanup () {\n this.done && this.done()\n this.done = null\n this.animating = false\n\n clearTimeout(this.timer)\n clearTimeout(this.timerFallback)\n this.el !== void 0 && this.el.removeEventListener('transitionend', this.animListener)\n this.animListener = null\n }\n },\n\n beforeDestroy () {\n this.animating && this.__cleanup()\n },\n\n render (h) {\n return h('transition', {\n props: {\n css: false,\n appear: this.appear\n },\n on: cache(this, 'tr', {\n enter: (el, done) => {\n let pos = 0\n this.el = el\n\n if (this.animating === true) {\n this.__cleanup()\n pos = el.offsetHeight === el.scrollHeight ? 0 : void 0\n }\n else {\n this.lastEvent = 'hide'\n }\n\n this.__begin(el, pos, done)\n\n this.timer = setTimeout(() => {\n el.style.height = `${el.scrollHeight}px`\n this.animListener = evt => {\n if (Object(evt) !== evt || evt.target === el) {\n this.__end(el, 'show')\n }\n }\n el.addEventListener('transitionend', this.animListener)\n this.timerFallback = setTimeout(this.animListener, this.duration * 1.1)\n }, 100)\n },\n\n leave: (el, done) => {\n let pos\n this.el = el\n\n if (this.animating === true) {\n this.__cleanup()\n }\n else {\n this.lastEvent = 'show'\n pos = el.scrollHeight\n }\n\n this.__begin(el, pos, done)\n\n this.timer = setTimeout(() => {\n el.style.height = 0\n this.animListener = evt => {\n if (Object(evt) !== evt || evt.target === el) {\n this.__end(el, 'hide')\n }\n }\n el.addEventListener('transitionend', this.animListener)\n this.timerFallback = setTimeout(this.animListener, this.duration * 1.1)\n }, 100)\n }\n })\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nconst insetMap = {\n true: 'inset',\n item: 'item-inset',\n 'item-thumbnail': 'item-thumbnail-inset'\n}\n\nexport const margins = {\n xs: 2,\n sm: 4,\n md: 8,\n lg: 16,\n xl: 24\n}\n\nexport default Vue.extend({\n name: 'QSeparator',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n props: {\n spaced: [ Boolean, String ],\n inset: [ Boolean, String ],\n vertical: Boolean,\n color: String,\n size: String\n },\n\n computed: {\n orientation () {\n return this.vertical === true\n ? 'vertical'\n : 'horizontal'\n },\n\n classPrefix () {\n return ` q-separator--${this.orientation}`\n },\n\n insetClass () {\n return this.inset !== false\n ? `${this.classPrefix}-${insetMap[this.inset]}`\n : ''\n },\n\n classes () {\n return `q-separator${this.classPrefix}${this.insetClass}` +\n (this.color !== void 0 ? ` bg-${this.color}` : '') +\n (this.isDark === true ? ' q-separator--dark' : '')\n },\n\n style () {\n const style = {}\n\n if (this.size !== void 0) {\n style[ this.vertical === true ? 'width' : 'height' ] = this.size\n }\n\n if (this.spaced !== false) {\n const size = this.spaced === true\n ? `${margins.md}px`\n : this.spaced in margins ? `${margins[this.spaced]}px` : this.spaced\n\n const props = this.vertical === true\n ? [ 'Left', 'Right' ]\n : [ 'Top', 'Bottom' ]\n\n style[`margin${props[0]}`] = style[`margin${props[1]}`] = size\n }\n\n return style\n },\n\n attrs () {\n return {\n 'aria-orientation': this.orientation\n }\n }\n },\n\n render (h) {\n return h('hr', {\n staticClass: 'q-separator',\n class: this.classes,\n style: this.style,\n attrs: this.attrs,\n on: { ...this.qListeners }\n })\n }\n})\n","import Vue from 'vue'\n\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\nimport QItemLabel from '../item/QItemLabel.js'\nimport QIcon from '../icon/QIcon.js'\nimport QSlideTransition from '../slide-transition/QSlideTransition.js'\nimport QSeparator from '../separator/QSeparator.js'\n\nimport RouterLinkMixin from '../../mixins/router-link.js'\nimport ModelToggleMixin from '../../mixins/model-toggle.js'\nimport DarkMixin from '../../mixins/dark.js'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nconst eventName = 'q:expansion-item:close'\n\nexport default Vue.extend({\n name: 'QExpansionItem',\n\n mixins: [ DarkMixin, RouterLinkMixin, ModelToggleMixin ],\n\n props: {\n icon: String,\n\n label: String,\n labelLines: [ Number, String ],\n\n caption: String,\n captionLines: [ Number, String ],\n\n dense: Boolean,\n\n expandIcon: String,\n expandedIcon: String,\n expandIconClass: [ Array, String, Object ],\n duration: Number,\n\n headerInsetLevel: Number,\n contentInsetLevel: Number,\n\n expandSeparator: Boolean,\n defaultOpened: Boolean,\n expandIconToggle: Boolean,\n switchToggleSide: Boolean,\n denseToggle: Boolean,\n group: String,\n popup: Boolean,\n\n headerStyle: [Array, String, Object],\n headerClass: [Array, String, Object]\n },\n\n data () {\n return {\n showing: this.value !== void 0\n ? this.value\n : this.defaultOpened\n }\n },\n\n watch: {\n showing (val) {\n val === true && this.group !== void 0 && this.$root.$emit(eventName, this)\n },\n\n group (newVal, oldVal) {\n if (newVal !== void 0 && oldVal === void 0) {\n this.$root.$on(eventName, this.__eventHandler)\n }\n else if (newVal === void 0 && oldVal !== void 0) {\n this.$root.$off(eventName, this.__eventHandler)\n }\n }\n },\n\n computed: {\n classes () {\n return `q-expansion-item--${this.showing === true ? 'expanded' : 'collapsed'}` +\n ` q-expansion-item--${this.popup === true ? 'popup' : 'standard'}`\n },\n\n contentStyle () {\n if (this.contentInsetLevel !== void 0) {\n const dir = this.$q.lang.rtl === true ? 'Right' : 'Left'\n return {\n ['padding' + dir]: (this.contentInsetLevel * 56) + 'px'\n }\n }\n },\n\n isClickable () {\n return this.hasLink === true || this.expandIconToggle !== true\n },\n\n expansionIcon () {\n return this.expandedIcon !== void 0 && this.showing === true\n ? this.expandedIcon\n : this.expandIcon || this.$q.iconSet.expansionItem[this.denseToggle === true ? 'denseIcon' : 'icon']\n },\n\n activeToggleIcon () {\n return this.disable !== true && (this.hasLink === true || this.expandIconToggle === true)\n }\n },\n\n methods: {\n __onHeaderClick (e) {\n this.hasLink !== true && this.toggle(e)\n this.$emit('click', e)\n },\n\n __toggleIconKeyboard (e) {\n e.keyCode === 13 && this.__toggleIcon(e, true)\n },\n\n __toggleIcon (e, keyboard) {\n keyboard !== true && this.$refs.blurTarget !== void 0 && this.$refs.blurTarget.focus()\n this.toggle(e)\n stopAndPrevent(e)\n },\n\n __eventHandler (comp) {\n this !== comp && this.group === comp.group && this.hide()\n },\n\n __getToggleIcon (h) {\n const data = {\n staticClass: `q-focusable relative-position cursor-pointer${this.denseToggle === true && this.switchToggleSide === true ? ' items-end' : ''}`,\n class: this.expandIconClass,\n props: {\n side: this.switchToggleSide !== true,\n avatar: this.switchToggleSide\n }\n }\n\n const child = [\n h(QIcon, {\n staticClass: 'q-expansion-item__toggle-icon',\n class: this.expandedIcon === void 0 && this.showing === true\n ? 'q-expansion-item__toggle-icon--rotated'\n : void 0,\n props: { name: this.expansionIcon }\n })\n ]\n\n if (this.activeToggleIcon === true) {\n Object.assign(data, {\n attrs: { tabindex: 0 },\n on: cache(this, 'inpExt', {\n click: this.__toggleIcon,\n keyup: this.__toggleIconKeyboard\n })\n })\n\n child.unshift(\n h('div', {\n ref: 'blurTarget',\n staticClass: 'q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded',\n attrs: { tabindex: -1 }\n })\n )\n }\n\n return h(QItemSection, data, child)\n },\n\n __getHeader (h) {\n let child\n\n if (this.$scopedSlots.header !== void 0) {\n child = [].concat(this.$scopedSlots.header())\n }\n else {\n child = [\n h(QItemSection, [\n h(QItemLabel, {\n props: { lines: this.labelLines }\n }, [ this.label || '' ]),\n\n this.caption\n ? h(QItemLabel, {\n props: { lines: this.captionLines, caption: true }\n }, [ this.caption ])\n : null\n ])\n ]\n\n this.icon && child[this.switchToggleSide === true ? 'push' : 'unshift'](\n h(QItemSection, {\n props: {\n side: this.switchToggleSide === true,\n avatar: this.switchToggleSide !== true\n }\n }, [\n h(QIcon, {\n props: { name: this.icon }\n })\n ])\n )\n }\n\n this.disable !== true && child[this.switchToggleSide === true ? 'unshift' : 'push'](\n this.__getToggleIcon(h)\n )\n\n const data = {\n ref: 'item',\n style: this.headerStyle,\n class: this.headerClass,\n props: {\n dark: this.isDark,\n disable: this.disable,\n dense: this.dense,\n insetLevel: this.headerInsetLevel\n }\n }\n\n if (this.isClickable === true) {\n data.props.clickable = true\n data[this.hasRouterLink === true ? 'nativeOn' : 'on'] = {\n ...this.qListeners,\n click: this.__onHeaderClick\n }\n\n if (this.hasLink === true) {\n Object.assign(\n data.props,\n this.linkProps.props\n )\n\n data.attrs = this.linkProps.attrs\n }\n }\n\n return h(QItem, data, child)\n },\n\n __getContent (h) {\n const node = [\n this.__getHeader(h),\n\n h(QSlideTransition, {\n props: { duration: this.duration },\n on: cache(this, 'slide', {\n show: () => { this.$emit('after-show') },\n hide: () => { this.$emit('after-hide') }\n })\n }, [\n h('div', {\n staticClass: 'q-expansion-item__content relative-position',\n style: this.contentStyle,\n directives: [{ name: 'show', value: this.showing }]\n }, slot(this, 'default'))\n ])\n ]\n\n if (this.expandSeparator) {\n node.push(\n h(QSeparator, {\n staticClass: 'q-expansion-item__border q-expansion-item__border--top absolute-top',\n props: { dark: this.isDark }\n }),\n h(QSeparator, {\n staticClass: 'q-expansion-item__border q-expansion-item__border--bottom absolute-bottom',\n props: { dark: this.isDark }\n })\n )\n }\n\n return node\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-expansion-item q-item-type',\n class: this.classes\n }, [\n h(\n 'div',\n { staticClass: 'q-expansion-item__container relative-position' },\n this.__getContent(h)\n )\n ])\n },\n\n created () {\n this.group !== void 0 && this.$root.$on(eventName, this.__eventHandler)\n },\n\n beforeDestroy () {\n this.group !== void 0 && this.$root.$off(eventName, this.__eventHandler)\n }\n})\n","import ListenersMixin from './listeners.js'\n\nconst labelPositions = ['top', 'right', 'bottom', 'left']\n\nexport default {\n mixins: [ ListenersMixin ],\n\n props: {\n type: {\n type: String,\n default: 'a'\n },\n\n outline: Boolean,\n push: Boolean,\n flat: Boolean,\n unelevated: Boolean,\n\n color: String,\n textColor: String,\n glossy: Boolean,\n\n square: Boolean,\n padding: String,\n\n label: {\n type: [ String, Number ],\n default: ''\n },\n labelPosition: {\n type: String,\n default: 'right',\n validator: v => labelPositions.includes(v)\n },\n externalLabel: Boolean,\n hideLabel: {\n type: Boolean\n },\n labelClass: [ Array, String, Object ],\n labelStyle: [ Array, String, Object ],\n\n disable: Boolean,\n\n tabindex: [ Number, String ]\n },\n\n computed: {\n formClass () {\n return `q-fab--form-${this.square === true ? 'square' : 'rounded'}`\n },\n\n stacked () {\n return this.externalLabel === false && ['top', 'bottom'].includes(this.labelPosition)\n },\n\n labelProps () {\n if (this.externalLabel === true) {\n const hideLabel = this.hideLabel === null\n ? this.showing === false\n : this.hideLabel\n\n return {\n action: 'push',\n data: {\n staticClass: `q-fab__label q-tooltip--style q-fab__label--external` +\n ` q-fab__label--external-${this.labelPosition}` +\n (hideLabel === true ? ' q-fab__label--external-hidden' : ''),\n style: this.labelStyle,\n class: this.labelClass\n }\n }\n }\n\n return {\n action: [ 'left', 'top' ].includes(this.labelPosition)\n ? 'unshift'\n : 'push',\n data: {\n staticClass: `q-fab__label q-fab__label--internal q-fab__label--internal-${this.labelPosition}` +\n (this.hideLabel === true ? ' q-fab__label--internal-hidden' : ''),\n style: this.labelStyle,\n class: this.labelClass\n }\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport QIcon from '../icon/QIcon.js'\n\nimport FabMixin from '../../mixins/fab.js'\nimport AttrsMixin from '../../mixins/attrs.js'\nimport ModelToggleMixin from '../../mixins/model-toggle.js'\n\nimport { slot, mergeSlot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nconst directions = ['up', 'right', 'down', 'left']\nconst alignValues = [ 'left', 'center', 'right' ]\n\nexport default Vue.extend({\n name: 'QFab',\n\n inheritAttrs: false,\n\n mixins: [ FabMixin, AttrsMixin, ModelToggleMixin ],\n\n provide () {\n return {\n __qFab: this\n }\n },\n\n props: {\n icon: String,\n activeIcon: String,\n\n hideIcon: Boolean,\n hideLabel: {\n default: null\n },\n\n direction: {\n type: String,\n default: 'right',\n validator: v => directions.includes(v)\n },\n\n persistent: Boolean,\n\n verticalActionsAlign: {\n type: String,\n default: 'center',\n validator: v => alignValues.includes(v)\n }\n },\n\n data () {\n return {\n showing: this.value === true\n }\n },\n\n computed: {\n hideOnRouteChange () {\n return this.persistent !== true\n },\n\n classes () {\n return `q-fab--align-${this.verticalActionsAlign} ${this.formClass}` +\n (this.showing === true ? ' q-fab--opened' : '')\n },\n\n actionsClasses () {\n return `q-fab__actions--${this.direction}` + (this.showing === true ? ' q-fab__actions--opened' : '')\n },\n\n iconHolderClasses () {\n return this.showing === true ? 'q-fab__icon-holder--opened' : ''\n },\n\n attrs () {\n return {\n 'aria-expanded': this.showing === true ? 'true' : 'false',\n 'aria-haspopup': 'true',\n ...this.qAttrs\n }\n },\n\n slotScope () {\n return { opened: this.showing }\n }\n },\n\n methods: {\n __onChildClick (evt) {\n this.hide(evt)\n\n if (this.$refs.trigger && this.$refs.trigger.$el) {\n this.$refs.trigger.$el.focus()\n }\n },\n\n __getIcon (h, kebab, camel) {\n const slotFn = this.$scopedSlots[kebab]\n const staticClass = `q-fab__${kebab} absolute-full`\n\n return slotFn === void 0\n ? h(QIcon, { staticClass, props: { name: this[kebab] || this.$q.iconSet.fab[camel] } })\n : h('div', { staticClass }, slotFn(this.slotScope))\n }\n },\n\n render (h) {\n const child = []\n\n this.hideIcon !== true && child.push(\n h('div', { staticClass: 'q-fab__icon-holder', class: this.iconHolderClasses }, [\n this.__getIcon(h, 'icon', 'icon'),\n this.__getIcon(h, 'active-icon', 'activeIcon')\n ])\n )\n\n if (this.label !== '' || this.$scopedSlots.label !== void 0) {\n child[this.labelProps.action](\n h('div', this.labelProps.data, this.$scopedSlots.label !== void 0 ? this.$scopedSlots.label(this.slotScope) : [ this.label ])\n )\n }\n\n return h('div', {\n staticClass: 'q-fab z-fab row inline justify-center',\n class: this.classes,\n on: { ...this.qListeners }\n }, [\n h(QBtn, {\n ref: 'trigger',\n class: this.formClass,\n props: {\n ...this.$props,\n noWrap: true,\n stack: this.stacked,\n align: void 0,\n icon: void 0,\n label: void 0,\n noCaps: true,\n fab: true\n },\n attrs: this.attrs,\n on: cache(this, 'tog', {\n click: this.toggle\n })\n }, mergeSlot(child, this, 'tooltip')),\n\n h('div', {\n staticClass: 'q-fab__actions flex no-wrap inline',\n class: this.actionsClasses\n }, slot(this, 'default'))\n ])\n }\n})\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport QIcon from '../icon/QIcon.js'\n\nimport FabMixin from '../../mixins/fab.js'\n\nimport { noop } from '../../utils/event.js'\nimport { mergeSlot } from '../../utils/slot.js'\n\nconst anchorMap = {\n start: 'self-end',\n center: 'self-center',\n end: 'self-start'\n}\n\nconst anchorValues = Object.keys(anchorMap)\n\nexport default Vue.extend({\n name: 'QFabAction',\n\n mixins: [ FabMixin ],\n\n props: {\n icon: {\n type: String,\n default: ''\n },\n\n anchor: {\n type: String,\n validator: v => anchorValues.includes(v)\n },\n\n to: [ String, Object ],\n replace: Boolean\n },\n\n inject: {\n __qFab: {\n default () {\n return {\n showing: true,\n __onChildClick: noop\n }\n }\n }\n },\n\n computed: {\n classes () {\n const align = anchorMap[this.anchor]\n return this.formClass + (align !== void 0 ? ` ${align}` : '')\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n click: this.click\n }\n },\n\n isDisabled () {\n return this.__qFab.showing !== true || this.disable === true\n }\n },\n\n methods: {\n click (e) {\n this.__qFab.__onChildClick(e)\n this.$emit('click', e)\n }\n },\n\n render (h) {\n const child = []\n\n if (this.$scopedSlots.icon !== void 0) {\n child.push(this.$scopedSlots.icon())\n }\n else if (this.icon !== '') {\n child.push(\n h(QIcon, {\n props: { name: this.icon }\n })\n )\n }\n\n if (this.label !== '' || this.$scopedSlots.label !== void 0) {\n child[this.labelProps.action](\n h('div', this.labelProps.data, this.$scopedSlots.label !== void 0 ? this.$scopedSlots.label() : [ this.label ])\n )\n }\n\n return h(QBtn, {\n class: this.classes,\n props: {\n ...this.$props,\n noWrap: true,\n stack: this.stacked,\n icon: void 0,\n label: void 0,\n noCaps: true,\n fabMini: true,\n disable: this.isDisabled\n },\n on: this.onEvents\n }, mergeSlot(child, this, 'default'))\n }\n})\n","import { testPattern } from '../utils/patterns.js'\nimport debounce from '../utils/debounce.js'\n\nconst lazyRulesValues = [ true, false, 'ondemand' ]\n\nexport default {\n props: {\n value: {},\n\n error: {\n type: Boolean,\n default: null\n },\n errorMessage: String,\n noErrorIcon: Boolean,\n\n rules: Array,\n reactiveRules: Boolean,\n lazyRules: {\n type: [ Boolean, String ],\n validator: v => lazyRulesValues.includes(v)\n }\n },\n\n data () {\n return {\n isDirty: null,\n innerError: false,\n innerErrorMessage: void 0\n }\n },\n\n watch: {\n value () {\n this.__validateIfNeeded()\n },\n\n disable (val) {\n if (val === true) {\n this.__resetValidation()\n }\n else {\n this.__validateIfNeeded(true)\n }\n },\n\n reactiveRules: {\n handler (val) {\n if (val === true) {\n if (this.unwatchRules === void 0) {\n this.unwatchRules = this.$watch('rules', () => {\n this.__validateIfNeeded(true)\n })\n }\n }\n else if (this.unwatchRules !== void 0) {\n this.unwatchRules()\n this.unwatchRules = void 0\n }\n },\n immediate: true\n },\n\n focused (focused) {\n if (focused === true) {\n if (this.isDirty === null) {\n this.isDirty = false\n }\n }\n else if (this.isDirty === false) {\n this.isDirty = true\n\n if (\n this.hasActiveRules === true &&\n this.lazyRules !== 'ondemand' &&\n // Don't re-trigger if it's already in progress;\n // It might mean that focus switched to submit btn and\n // QForm's submit() has been called already (ENTER key)\n this.innerLoading === false\n ) {\n this.debouncedValidate()\n }\n }\n },\n\n hasError (invalid) {\n const targetEl = document.getElementById(this.targetUid)\n targetEl !== null && targetEl.setAttribute('aria-invalid', invalid === true)\n }\n },\n\n computed: {\n hasRules () {\n return this.rules !== void 0 &&\n this.rules !== null &&\n this.rules.length > 0\n },\n\n hasActiveRules () {\n return this.disable !== true && this.hasRules === true\n },\n\n hasError () {\n return this.error === true || this.innerError === true\n },\n\n computedErrorMessage () {\n return typeof this.errorMessage === 'string' && this.errorMessage.length > 0\n ? this.errorMessage\n : this.innerErrorMessage\n }\n },\n\n created () {\n this.debouncedValidate = debounce(this.validate, 0)\n },\n\n mounted () {\n this.validateIndex = 0\n },\n\n beforeDestroy () {\n this.unwatchRules !== void 0 && this.unwatchRules()\n this.debouncedValidate.cancel()\n },\n\n methods: {\n resetValidation () {\n this.isDirty = null\n this.__resetValidation()\n },\n\n /*\n * Return value\n * - true (validation succeeded)\n * - false (validation failed)\n * - Promise (pending async validation)\n */\n validate (val = this.value) {\n if (this.hasActiveRules !== true) {\n return true\n }\n\n const index = ++this.validateIndex\n\n if (this.innerLoading !== true && this.lazyRules !== true) {\n this.isDirty = true\n }\n\n const update = (err, msg) => {\n if (this.innerError !== err) {\n this.innerError = err\n }\n\n const m = msg || void 0\n\n if (this.innerErrorMessage !== m) {\n this.innerErrorMessage = m\n }\n\n if (this.innerLoading !== false) {\n this.innerLoading = false\n }\n }\n\n const promises = []\n\n for (let i = 0; i < this.rules.length; i++) {\n const rule = this.rules[i]\n let res\n\n if (typeof rule === 'function') {\n res = rule(val)\n }\n else if (typeof rule === 'string' && testPattern[rule] !== void 0) {\n res = testPattern[rule](val)\n }\n\n if (res === false || typeof res === 'string') {\n update(true, res)\n return false\n }\n else if (res !== true && res !== void 0) {\n promises.push(res)\n }\n }\n\n if (promises.length === 0) {\n update(false)\n return true\n }\n\n if (this.innerLoading !== true) {\n this.innerLoading = true\n }\n\n return Promise.all(promises).then(\n res => {\n if (res === void 0 || Array.isArray(res) === false || res.length === 0) {\n index === this.validateIndex && update(false)\n return true\n }\n\n const msg = res.find(r => r === false || typeof r === 'string')\n index === this.validateIndex && update(msg !== void 0, msg)\n return msg === void 0\n },\n e => {\n if (index === this.validateIndex) {\n console.error(e)\n update(true)\n }\n\n return false\n }\n )\n },\n\n __resetValidation () {\n this.debouncedValidate.cancel()\n this.validateIndex++\n this.innerLoading = false\n this.innerError = false\n this.innerErrorMessage = void 0\n },\n\n __validateIfNeeded (changedRules) {\n if (\n this.hasActiveRules === true &&\n this.lazyRules !== 'ondemand' &&\n (this.isDirty === true || (this.lazyRules !== true && changedRules !== true))\n ) {\n this.debouncedValidate()\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport { fromSSR } from '../../plugins/Platform.js'\n\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport ValidateMixin from '../../mixins/validate.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport AttrsMixin, { iconAsButton } from '../../mixins/attrs.js'\n\nimport { slot } from '../../utils/slot.js'\nimport uid from '../../utils/uid.js'\nimport { stop, prevent, stopAndPrevent } from '../../utils/event.js'\nimport { addFocusFn, removeFocusFn } from '../../utils/focus-manager.js'\n\nfunction getTargetUid (val) {\n return val === void 0 ? `f_${uid()}` : val\n}\n\nexport default Vue.extend({\n name: 'QField',\n\n mixins: [ DarkMixin, ValidateMixin, AttrsMixin ],\n\n inheritAttrs: false,\n\n props: {\n label: String,\n stackLabel: Boolean,\n hint: String,\n hideHint: Boolean,\n prefix: String,\n suffix: String,\n\n labelColor: String,\n color: String,\n bgColor: String,\n\n filled: Boolean,\n outlined: Boolean,\n borderless: Boolean,\n standout: [Boolean, String],\n\n square: Boolean,\n\n loading: Boolean,\n\n labelSlot: Boolean,\n\n bottomSlots: Boolean,\n hideBottomSpace: Boolean,\n\n rounded: Boolean,\n dense: Boolean,\n itemAligned: Boolean,\n\n counter: Boolean,\n\n clearable: Boolean,\n clearIcon: String,\n\n disable: Boolean,\n readonly: Boolean,\n\n autofocus: Boolean,\n\n for: String,\n\n maxlength: [Number, String],\n maxValues: [Number, String] // private, do not add to JSON; internally needed by QSelect\n },\n\n data () {\n return {\n focused: false,\n targetUid: getTargetUid(this.for),\n\n // used internally by validation for QInput\n // or menu handling for QSelect\n innerLoading: false\n }\n },\n\n watch: {\n for (val) {\n // don't transform targetUid into a computed\n // prop as it will break SSR\n this.targetUid = getTargetUid(val)\n }\n },\n\n computed: {\n editable () {\n return this.disable !== true && this.readonly !== true\n },\n\n hasValue () {\n const value = this.__getControl === void 0 ? this.value : this.innerValue\n\n return value !== void 0 &&\n value !== null &&\n ('' + value).length > 0\n },\n\n computedCounter () {\n if (this.counter !== false) {\n const len = typeof this.value === 'string' || typeof this.value === 'number'\n ? ('' + this.value).length\n : (Array.isArray(this.value) === true ? this.value.length : 0)\n\n const max = this.maxlength !== void 0\n ? this.maxlength\n : this.maxValues\n\n return len + (max !== void 0 ? ' / ' + max : '')\n }\n },\n\n floatingLabel () {\n return this.stackLabel === true ||\n this.focused === true ||\n (\n this.inputValue !== void 0 && this.hideSelected === true\n ? this.inputValue.length > 0\n : this.hasValue === true\n ) ||\n (\n this.displayValue !== void 0 &&\n this.displayValue !== null &&\n ('' + this.displayValue).length > 0\n )\n },\n\n shouldRenderBottom () {\n return this.bottomSlots === true ||\n this.hint !== void 0 ||\n this.hasRules === true ||\n this.counter === true ||\n this.error !== null\n },\n\n classes () {\n return {\n [this.fieldClass]: this.fieldClass !== void 0,\n\n [`q-field--${this.styleType}`]: true,\n 'q-field--rounded': this.rounded,\n 'q-field--square': this.square,\n\n 'q-field--focused': this.focused === true,\n 'q-field--highlighted': this.focused === true || this.hasError === true,\n 'q-field--float': this.floatingLabel,\n 'q-field--labeled': this.hasLabel,\n\n 'q-field--dense': this.dense,\n 'q-field--item-aligned q-item-type': this.itemAligned,\n 'q-field--dark': this.isDark,\n\n 'q-field--auto-height': this.__getControl === void 0,\n\n 'q-field--with-bottom': this.hideBottomSpace !== true && this.shouldRenderBottom === true,\n 'q-field--error': this.hasError,\n\n 'q-field--readonly': this.readonly === true && this.disable !== true,\n 'q-field--disabled': this.disable === true\n }\n },\n\n styleType () {\n if (this.filled === true) { return 'filled' }\n if (this.outlined === true) { return 'outlined' }\n if (this.borderless === true) { return 'borderless' }\n if (this.standout) { return 'standout' }\n return 'standard'\n },\n\n contentClass () {\n const cls = []\n\n if (this.hasError === true) {\n cls.push('text-negative')\n }\n else if (typeof this.standout === 'string' && this.standout.length > 0 && this.focused === true) {\n return this.standout\n }\n else if (this.color !== void 0) {\n cls.push('text-' + this.color)\n }\n\n if (this.bgColor !== void 0) {\n cls.push(`bg-${this.bgColor}`)\n }\n\n return cls\n },\n\n hasLabel () {\n return this.labelSlot === true || this.label !== void 0\n },\n\n labelClass () {\n if (\n this.labelColor !== void 0 &&\n this.hasError !== true\n ) {\n return 'text-' + this.labelColor\n }\n },\n\n controlSlotScope () {\n return {\n id: this.targetUid,\n field: this.$el,\n editable: this.editable,\n focused: this.focused,\n floatingLabel: this.floatingLabel,\n value: this.value,\n emitValue: this.__emitValue\n }\n },\n\n bottomSlotScope () {\n return {\n id: this.targetUid,\n field: this.$el,\n editable: this.editable,\n focused: this.focused,\n value: this.value,\n errorMessage: this.computedErrorMessage\n }\n },\n\n attrs () {\n const attrs = {\n for: this.targetUid\n }\n\n if (this.disable === true) {\n attrs['aria-disabled'] = 'true'\n }\n else if (this.readonly === true) {\n attrs['aria-readonly'] = 'true'\n }\n\n return attrs\n }\n },\n\n methods: {\n focus () {\n addFocusFn(this.__focus)\n },\n\n blur () {\n removeFocusFn(this.__focus)\n const el = document.activeElement\n // IE can have null document.activeElement\n if (el !== null && this.$el.contains(el)) {\n el.blur()\n }\n },\n\n __focus () {\n const el = document.activeElement\n let target = this.$refs.target\n // IE can have null document.activeElement\n if (target !== void 0 && (el === null || el.id !== this.targetUid)) {\n target.hasAttribute('tabindex') === true || (target = target.querySelector('[tabindex]'))\n target !== null && target !== el && target.focus({ preventScroll: true })\n }\n },\n\n __getContent (h) {\n const node = []\n\n this.$scopedSlots.prepend !== void 0 && node.push(\n h('div', {\n staticClass: 'q-field__prepend q-field__marginal row no-wrap items-center',\n key: 'prepend',\n on: this.slotsEvents\n }, this.$scopedSlots.prepend())\n )\n\n node.push(\n h('div', {\n staticClass: 'q-field__control-container col relative-position row no-wrap q-anchor--skip'\n }, this.__getControlContainer(h))\n )\n\n this.$scopedSlots.append !== void 0 && node.push(\n h('div', {\n staticClass: 'q-field__append q-field__marginal row no-wrap items-center',\n key: 'append',\n on: this.slotsEvents\n }, this.$scopedSlots.append())\n )\n\n this.hasError === true && this.noErrorIcon === false && node.push(\n this.__getInnerAppendNode(h, 'error', [\n h(QIcon, { props: { name: this.$q.iconSet.field.error, color: 'negative' } })\n ])\n )\n\n if (this.loading === true || this.innerLoading === true) {\n node.push(\n this.__getInnerAppendNode(\n h,\n 'inner-loading-append',\n this.$scopedSlots.loading !== void 0\n ? this.$scopedSlots.loading()\n : [ h(QSpinner, { props: { color: this.color } }) ]\n )\n )\n }\n else if (this.clearable === true && this.hasValue === true && this.editable === true) {\n node.push(\n this.__getInnerAppendNode(h, 'inner-clearable-append', [\n h(QIcon, {\n staticClass: 'q-field__focusable-action',\n props: { tag: 'button', name: this.clearIcon || this.$q.iconSet.field.clear },\n attrs: iconAsButton,\n on: this.clearableEvents\n })\n ])\n )\n }\n\n this.__getInnerAppend !== void 0 && node.push(\n this.__getInnerAppendNode(h, 'inner-append', this.__getInnerAppend(h))\n )\n\n this.__getControlChild !== void 0 && node.push(\n this.__getControlChild(h)\n )\n\n return node\n },\n\n __getControlContainer (h) {\n const node = []\n\n this.prefix !== void 0 && this.prefix !== null && node.push(\n h('div', {\n staticClass: 'q-field__prefix no-pointer-events row items-center'\n }, [ this.prefix ])\n )\n\n if (this.hasShadow === true && this.__getShadowControl !== void 0) {\n node.push(\n this.__getShadowControl(h)\n )\n }\n\n if (this.__getControl !== void 0) {\n node.push(this.__getControl(h))\n }\n // internal usage only:\n else if (this.$scopedSlots.rawControl !== void 0) {\n node.push(this.$scopedSlots.rawControl())\n }\n else if (this.$scopedSlots.control !== void 0) {\n node.push(\n h('div', {\n ref: 'target',\n staticClass: 'q-field__native row',\n attrs: {\n ...this.qAttrs,\n 'data-autofocus': this.autofocus\n }\n }, this.$scopedSlots.control(this.controlSlotScope))\n )\n }\n\n this.hasLabel === true && node.push(\n h('div', {\n staticClass: 'q-field__label no-pointer-events absolute ellipsis',\n class: this.labelClass\n }, [ slot(this, 'label', this.label) ])\n )\n\n this.suffix !== void 0 && this.suffix !== null && node.push(\n h('div', {\n staticClass: 'q-field__suffix no-pointer-events row items-center'\n }, [ this.suffix ])\n )\n\n return node.concat(\n this.__getDefaultSlot !== void 0\n ? this.__getDefaultSlot(h)\n : slot(this, 'default')\n )\n },\n\n __getBottom (h) {\n let msg, key\n\n if (this.hasError === true) {\n key = 'q--slot-error'\n\n if (this.$scopedSlots.error !== void 0) {\n msg = this.$scopedSlots.error(this.bottomSlotScope)\n }\n else if (this.computedErrorMessage !== void 0) {\n msg = [ h('div', { attrs: { role: 'alert' } }, [ this.computedErrorMessage ]) ]\n key = this.computedErrorMessage\n }\n }\n else if (this.hideHint !== true || this.focused === true) {\n key = 'q--slot-hint'\n\n if (this.$scopedSlots.hint !== void 0) {\n msg = this.$scopedSlots.hint(this.bottomSlotScope)\n }\n else if (this.hint !== void 0) {\n msg = [ h('div', [ this.hint ]) ]\n key = this.hint\n }\n }\n\n const hasCounter = this.counter === true || this.$scopedSlots.counter !== void 0\n\n if (this.hideBottomSpace === true && hasCounter === false && msg === void 0) {\n return\n }\n\n const main = h('div', {\n key,\n staticClass: 'q-field__messages col'\n }, msg)\n\n return h('div', {\n staticClass: 'q-field__bottom row items-start q-field__bottom--' +\n (this.hideBottomSpace !== true ? 'animated' : 'stale')\n }, [\n this.hideBottomSpace === true\n ? main\n : h('transition', { props: { name: 'q-transition--field-message' } }, [\n main\n ]),\n\n hasCounter === true\n ? h('div', {\n staticClass: 'q-field__counter'\n }, this.$scopedSlots.counter !== void 0 ? this.$scopedSlots.counter() : [ this.computedCounter ])\n : null\n ])\n },\n\n __getInnerAppendNode (h, key, content) {\n return content === null ? null : h('div', {\n staticClass: 'q-field__append q-field__marginal row no-wrap items-center q-anchor--skip',\n key\n }, content)\n },\n\n __onControlPopupShow (e) {\n e !== void 0 && stop(e)\n this.$emit('popup-show', e)\n this.hasPopupOpen = true\n this.__onControlFocusin(e)\n },\n\n __onControlPopupHide (e) {\n e !== void 0 && stop(e)\n this.$emit('popup-hide', e)\n this.hasPopupOpen = false\n this.__onControlFocusout(e)\n },\n\n __onControlFocusin (e) {\n clearTimeout(this.focusoutTimer)\n if (this.editable === true && this.focused === false) {\n this.focused = true\n this.$emit('focus', e)\n }\n },\n\n __onControlFocusout (e, then) {\n clearTimeout(this.focusoutTimer)\n this.focusoutTimer = setTimeout(() => {\n if (\n document.hasFocus() === true && (\n this.hasPopupOpen === true ||\n this.$refs === void 0 ||\n this.$refs.control === void 0 ||\n this.$refs.control.contains(document.activeElement) !== false\n )\n ) {\n return\n }\n\n if (this.focused === true) {\n this.focused = false\n this.$emit('blur', e)\n }\n\n then !== void 0 && then()\n })\n },\n\n __clearValue (e) {\n // prevent activating the field but keep focus on desktop\n stopAndPrevent(e)\n\n if (this.$q.platform.is.mobile !== true) {\n const el = this.$refs.target || this.$el\n el.focus()\n }\n else if (this.$el.contains(document.activeElement) === true) {\n document.activeElement.blur()\n }\n\n if (this.type === 'file') {\n // do not let focus be triggered\n // as it will make the native file dialog\n // appear for another selection\n this.$refs.input.value = null\n }\n\n this.$emit('input', null)\n this.$emit('clear', this.value)\n\n this.$nextTick(() => {\n this.resetValidation()\n\n if (this.$q.platform.is.mobile !== true) {\n this.isDirty = false\n }\n })\n },\n\n __emitValue (value) {\n this.$emit('input', value)\n }\n },\n\n render (h) {\n this.__onPreRender !== void 0 && this.__onPreRender()\n this.__onPostRender !== void 0 && this.$nextTick(this.__onPostRender)\n\n return h('label', {\n staticClass: 'q-field q-validation-component row no-wrap items-start',\n class: this.classes,\n attrs: this.attrs\n }, [\n this.$scopedSlots.before !== void 0 ? h('div', {\n staticClass: 'q-field__before q-field__marginal row no-wrap items-center',\n on: this.slotsEvents\n }, this.$scopedSlots.before()) : null,\n\n h('div', {\n staticClass: 'q-field__inner relative-position col self-stretch'\n }, [\n h('div', {\n ref: 'control',\n staticClass: 'q-field__control relative-position row no-wrap',\n class: this.contentClass,\n attrs: { tabindex: -1 },\n on: this.controlEvents\n }, this.__getContent(h)),\n\n this.shouldRenderBottom === true\n ? this.__getBottom(h)\n : null\n ]),\n\n this.$scopedSlots.after !== void 0 ? h('div', {\n staticClass: 'q-field__after q-field__marginal row no-wrap items-center',\n on: this.slotsEvents\n }, this.$scopedSlots.after()) : null\n ])\n },\n\n created () {\n this.__onPreRender !== void 0 && this.__onPreRender()\n\n this.slotsEvents = { click: prevent }\n\n this.clearableEvents = { click: this.__clearValue }\n\n this.controlEvents = this.__getControlEvents !== void 0\n ? this.__getControlEvents()\n : {\n focusin: this.__onControlFocusin,\n focusout: this.__onControlFocusout,\n 'popup-show': this.__onControlPopupShow,\n 'popup-hide': this.__onControlPopupHide\n }\n },\n\n mounted () {\n if (fromSSR === true && this.for === void 0) {\n this.targetUid = getTargetUid()\n }\n\n this.autofocus === true && this.focus()\n },\n\n activated () {\n if (this.shouldActivate !== true) { return }\n this.autofocus === true && this.focus()\n },\n\n deactivated () {\n this.shouldActivate = true\n },\n\n beforeDestroy () {\n clearTimeout(this.focusoutTimer)\n }\n})\n","import { stop, stopAndPrevent } from '../utils/event.js'\nimport cache from '../utils/cache.js'\n\nfunction filterFiles (files, rejectedFiles, failedPropValidation, filterFn) {\n const acceptedFiles = []\n\n files.forEach(file => {\n if (filterFn(file) === true) {\n acceptedFiles.push(file)\n }\n else {\n rejectedFiles.push({ failedPropValidation, file })\n }\n })\n\n return acceptedFiles\n}\n\nfunction stopAndPreventDrag (e) {\n e && e.dataTransfer && (e.dataTransfer.dropEffect = 'copy')\n stopAndPrevent(e)\n}\n\nexport default {\n props: {\n multiple: Boolean,\n accept: String,\n capture: String,\n maxFileSize: [ Number, String ],\n maxTotalSize: [ Number, String ],\n maxFiles: [ Number, String ],\n filter: Function\n },\n\n computed: {\n extensions () {\n if (this.accept !== void 0) {\n return this.accept.split(',').map(ext => {\n ext = ext.trim()\n if (ext === '*') { // support \"*\"\n return '*/'\n }\n else if (ext.endsWith('/*')) { // support \"image/*\" or \"*/*\"\n ext = ext.slice(0, ext.length - 1)\n }\n return ext.toUpperCase()\n })\n }\n },\n\n maxFilesNumber () {\n return parseInt(this.maxFiles, 10)\n },\n\n maxTotalSizeNumber () {\n return parseInt(this.maxTotalSize, 10)\n }\n },\n\n methods: {\n pickFiles (ev) {\n if (this.editable === true) {\n if (ev !== Object(ev)) {\n ev = { target: null }\n }\n\n if (ev.target !== null && ev.target.matches('input[type=\"file\"]') === true) {\n // stop propagation if it's not a real pointer event\n ev.clientX === 0 && ev.clientY === 0 && stop(ev)\n }\n else {\n const input = this.__getFileInput()\n input && input !== ev.target && input.click(ev)\n }\n }\n },\n\n addFiles (files) {\n if (this.editable && files) {\n this.__addFiles(null, files)\n }\n },\n\n __processFiles (e, filesToProcess, currentFileList, append) {\n let files = Array.from(filesToProcess || e.target.files)\n const rejectedFiles = []\n\n const done = () => {\n if (rejectedFiles.length > 0) {\n this.$emit('rejected', rejectedFiles)\n }\n }\n\n // filter file types\n if (this.accept !== void 0 && this.extensions.indexOf('*/') === -1) {\n files = filterFiles(files, rejectedFiles, 'accept', file => {\n return this.extensions.some(ext => (\n file.type.toUpperCase().startsWith(ext) ||\n file.name.toUpperCase().endsWith(ext)\n ))\n })\n\n if (files.length === 0) { return done() }\n }\n\n // filter max file size\n if (this.maxFileSize !== void 0) {\n const maxFileSize = parseInt(this.maxFileSize, 10)\n files = filterFiles(files, rejectedFiles, 'max-file-size', file => {\n return file.size <= maxFileSize\n })\n\n if (files.length === 0) { return done() }\n }\n\n // Cordova/iOS allows selecting multiple files even when the\n // multiple attribute is not specified. We also normalize drag'n'dropped\n // files here:\n if (this.multiple !== true) {\n files = [ files[0] ]\n }\n\n files.forEach(file => {\n file.__key = file.webkitRelativePath + file.lastModified + file.name + file.size\n })\n\n // Avoid duplicate files\n const filenameMap = currentFileList.map(entry => entry.__key)\n files = filterFiles(files, rejectedFiles, 'duplicate', file => {\n return filenameMap.includes(file.__key) === false\n })\n\n if (files.length === 0) { return done() }\n\n if (this.maxTotalSize !== void 0) {\n let size = append === true\n ? currentFileList.reduce((total, file) => total + file.size, 0)\n : 0\n\n files = filterFiles(files, rejectedFiles, 'max-total-size', file => {\n size += file.size\n return size <= this.maxTotalSizeNumber\n })\n\n if (files.length === 0) { return done() }\n }\n\n // do we have custom filter function?\n if (typeof this.filter === 'function') {\n const filteredFiles = this.filter(files)\n files = filterFiles(files, rejectedFiles, 'filter', file => {\n return filteredFiles.includes(file)\n })\n }\n\n if (this.maxFiles !== void 0) {\n let filesNumber = append === true\n ? currentFileList.length\n : 0\n\n files = filterFiles(files, rejectedFiles, 'max-files', () => {\n filesNumber++\n return filesNumber <= this.maxFilesNumber\n })\n\n if (files.length === 0) { return done() }\n }\n\n done()\n\n if (files.length > 0) {\n return files\n }\n },\n\n __onDragOver (e) {\n stopAndPreventDrag(e)\n this.dnd !== true && (this.dnd = true)\n },\n\n __onDragLeave (e) {\n stopAndPrevent(e)\n this.dnd = false\n },\n\n __onDrop (e) {\n stopAndPreventDrag(e)\n const files = e.dataTransfer.files\n\n if (files.length > 0) {\n this.__addFiles(null, files)\n }\n\n this.dnd = false\n },\n\n __getDnd (h, type) {\n if (this.dnd === true) {\n return h('div', {\n staticClass: `q-${type}__dnd absolute-full`,\n on: cache(this, 'dnd', {\n dragenter: stopAndPreventDrag,\n dragover: stopAndPreventDrag,\n dragleave: this.__onDragLeave,\n drop: this.__onDrop\n })\n })\n }\n }\n }\n}\n\nexport const FileValueMixin = {\n computed: {\n formDomProps () {\n if (this.type !== 'file') {\n return\n }\n\n try {\n const dt = 'DataTransfer' in window\n ? new DataTransfer()\n : ('ClipboardEvent' in window\n ? new ClipboardEvent('').clipboardData\n : void 0\n )\n\n if (Object(this.value) === this.value) {\n ('length' in this.value\n ? Array.from(this.value)\n : [ this.value ]\n ).forEach(file => {\n dt.items.add(file)\n })\n }\n\n return {\n files: dt.files\n }\n }\n catch (e) {\n return {\n files: void 0\n }\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QField from '../field/QField.js'\nimport QChip from '../chip/QChip.js'\n\nimport { FormFieldMixin } from '../../mixins/form.js'\nimport FileMixin, { FileValueMixin } from '../../mixins/file.js'\n\nimport { isSSR } from '../../plugins/Platform'\nimport { humanStorageSize } from '../../utils/format.js'\nimport cache from '../../utils/cache.js'\nimport { prevent } from '../../utils/event.js'\n\nexport default Vue.extend({\n name: 'QFile',\n\n mixins: [ QField, FileMixin, FormFieldMixin, FileValueMixin ],\n\n props: {\n /* SSR does not know about File & FileList */\n value: isSSR === true\n ? {}\n : [ File, FileList, Array ],\n\n append: Boolean,\n useChips: Boolean,\n displayValue: [ String, Number ],\n\n tabindex: {\n type: [ String, Number ],\n default: 0\n },\n\n counterLabel: Function,\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ]\n },\n\n data () {\n return {\n dnd: false\n }\n },\n\n computed: {\n innerValue () {\n return Object(this.value) === this.value\n ? ('length' in this.value ? Array.from(this.value) : [ this.value ])\n : []\n },\n\n selectedString () {\n return this.innerValue\n .map(file => file.name)\n .join(', ')\n },\n\n totalSize () {\n return humanStorageSize(\n this.innerValue.reduce((acc, file) => acc + file.size, 0)\n )\n },\n\n counterProps () {\n return {\n totalSize: this.totalSize,\n filesNumber: this.innerValue.length,\n maxFiles: this.maxFiles\n }\n },\n\n computedCounter () {\n if (this.counterLabel !== void 0) {\n return this.counterLabel(this.counterProps)\n }\n\n const max = this.maxFiles\n return `${this.innerValue.length}${max !== void 0 ? ' / ' + max : ''} (${this.totalSize})`\n },\n\n inputAttrs () {\n return {\n tabindex: -1,\n type: 'file',\n title: '', // try to remove default tooltip,\n accept: this.accept,\n capture: this.capture,\n name: this.nameProp,\n ...this.qAttrs,\n id: this.targetUid,\n disabled: this.editable !== true\n }\n },\n\n isAppending () {\n return this.multiple === true && this.append === true\n }\n },\n\n methods: {\n removeAtIndex (index) {\n const files = this.innerValue.slice()\n files.splice(index, 1)\n this.__emitValue(files)\n },\n\n removeFile (file) {\n const index = this.innerValue.findIndex(file)\n if (index > -1) {\n this.removeAtIndex(index)\n }\n },\n\n __emitValue (files) {\n this.$emit('input', this.multiple === true ? files : files[0])\n },\n\n __onKeydown (e) {\n // prevent form submit if ENTER is pressed\n e.keyCode === 13 && prevent(e)\n },\n\n __onKeyup (e) {\n // only on ENTER and SPACE to match native input field\n if (e.keyCode === 13 || e.keyCode === 32) {\n this.pickFiles(e)\n }\n },\n\n __getFileInput () {\n return this.$refs.input\n },\n\n __addFiles (e, fileList) {\n const files = this.__processFiles(e, fileList, this.innerValue, this.isAppending)\n\n // if nothing to do...\n if (files === void 0) { return }\n\n // protect against input @change being called in a loop\n // like it happens on Safari, so don't emit same thing:\n if (\n this.multiple === true\n ? this.value && files.every(f => this.innerValue.includes(f))\n : this.value === files[ 0 ]\n ) {\n return\n }\n\n this.__emitValue(\n this.isAppending === true\n ? this.innerValue.concat(files)\n : files\n )\n },\n\n __getControl (h) {\n const data = {\n ref: 'target',\n staticClass: 'q-field__native row items-center cursor-pointer',\n attrs: {\n tabindex: this.tabindex\n }\n }\n\n if (this.editable === true) {\n data.on = cache(this, 'native', {\n dragover: this.__onDragOver,\n keydown: this.__onKeydown,\n keyup: this.__onKeyup\n })\n }\n\n return h('div', data, [ this.__getInput(h) ].concat(this.__getSelection(h)))\n },\n\n __getControlChild (h) {\n return this.__getDnd(h, 'file')\n },\n\n __getFiller (h) {\n return [\n h('input', {\n class: [ this.inputClass, 'q-file__filler' ],\n style: this.inputStyle\n })\n ]\n },\n\n __getSelection (h) {\n if (this.$scopedSlots.file !== void 0) {\n return this.innerValue.length === 0\n ? this.__getFiller(h)\n : this.innerValue.map((file, index) => this.$scopedSlots.file({ index, file, ref: this }))\n }\n\n if (this.$scopedSlots.selected !== void 0) {\n return this.innerValue.length === 0\n ? this.__getFiller(h)\n : this.$scopedSlots.selected({ files: this.innerValue, ref: this })\n }\n\n if (this.useChips === true) {\n return this.innerValue.length === 0\n ? this.__getFiller(h)\n : this.innerValue.map((file, i) => h(QChip, {\n key: 'file-' + i,\n props: {\n removable: this.editable,\n dense: true,\n textColor: this.color,\n tabindex: this.tabindex\n },\n on: cache(this, 'rem#' + i, {\n remove: () => { this.removeAtIndex(i) }\n })\n }, [\n h('span', {\n staticClass: 'ellipsis',\n domProps: {\n textContent: file.name\n }\n })\n ]))\n }\n\n const textContent = this.displayValue !== void 0\n ? this.displayValue\n : this.selectedString\n\n return textContent.length > 0\n ? [\n h('div', {\n style: this.inputStyle,\n class: this.inputClass,\n domProps: { textContent }\n })\n ]\n : this.__getFiller(h)\n },\n\n __getInput (h) {\n const data = {\n ref: 'input',\n staticClass: 'q-field__input fit absolute-full cursor-pointer',\n attrs: this.inputAttrs,\n domProps: this.formDomProps,\n on: cache(this, 'input', {\n change: this.__addFiles\n })\n }\n\n if (this.multiple === true) {\n data.attrs.multiple = true\n }\n\n return h('input', data)\n }\n },\n\n created () {\n this.fieldClass = 'q-file q-field--auto-height'\n\n // necessary for QField's clearable\n // and FileValueMixin\n this.type = 'file'\n }\n})\n","import Vue from 'vue'\n\nimport { onSSR } from '../../plugins/Platform.js'\n\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { mergeSlot } from '../../utils/slot.js'\nimport { stop } from '../../utils/event.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QFooter',\n\n mixins: [ ListenersMixin ],\n\n inject: {\n layout: {\n default () {\n console.error('QFooter needs to be child of QLayout')\n }\n }\n },\n\n props: {\n value: {\n type: Boolean,\n default: true\n },\n reveal: Boolean,\n bordered: Boolean,\n elevated: Boolean,\n\n heightHint: {\n type: [String, Number],\n default: 50\n }\n },\n\n data () {\n return {\n size: parseInt(this.heightHint, 10),\n revealed: true,\n windowHeight: onSSR || this.layout.container ? 0 : window.innerHeight\n }\n },\n\n watch: {\n value (val) {\n this.__update('space', val)\n this.__updateLocal('revealed', true)\n this.layout.__animate()\n },\n\n offset (val) {\n this.__update('offset', val)\n },\n\n reveal (val) {\n val === false && this.__updateLocal('revealed', this.value)\n },\n\n revealed (val) {\n this.layout.__animate()\n this.$emit('reveal', val)\n },\n\n 'layout.scroll' () {\n this.__updateRevealed()\n },\n\n 'layout.height' () {\n this.__updateRevealed()\n },\n\n size () {\n this.__updateRevealed()\n },\n\n '$q.screen.height' (val) {\n this.layout.container !== true && this.__updateLocal('windowHeight', val)\n }\n },\n\n computed: {\n fixed () {\n return this.reveal === true ||\n this.layout.view.indexOf('F') > -1 ||\n (this.$q.platform.is.ios && this.layout.container === true)\n },\n\n containerHeight () {\n return this.layout.container === true\n ? this.layout.containerHeight\n : this.windowHeight\n },\n\n offset () {\n if (this.value !== true) {\n return 0\n }\n if (this.fixed === true) {\n return this.revealed === true ? this.size : 0\n }\n const offset = this.layout.scroll.position + this.containerHeight + this.size - this.layout.height\n return offset > 0 ? offset : 0\n },\n\n hidden () {\n return this.value !== true || (this.fixed === true && this.revealed !== true)\n },\n\n revealOnFocus () {\n return this.value === true && this.hidden === true && this.reveal === true\n },\n\n classes () {\n return (this.fixed === true ? 'fixed' : 'absolute') + '-bottom' +\n (this.bordered === true ? ' q-footer--bordered' : '') +\n (this.hidden === true ? ' q-footer--hidden' : '') +\n (this.value !== true ? ' q-layout--prevent-focus' : '') +\n (this.value !== true && this.fixed !== true ? ' hidden' : '')\n },\n\n style () {\n const\n view = this.layout.rows.bottom,\n css = {}\n\n if (view[0] === 'l' && this.layout.left.space === true) {\n css[this.$q.lang.rtl === true ? 'right' : 'left'] = `${this.layout.left.size}px`\n }\n if (view[2] === 'r' && this.layout.right.space === true) {\n css[this.$q.lang.rtl === true ? 'left' : 'right'] = `${this.layout.right.size}px`\n }\n\n return css\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n focusin: this.__onFocusin,\n input: stop\n }\n }\n },\n\n render (h) {\n const child = mergeSlot([\n h(QResizeObserver, {\n props: { debounce: 0 },\n on: cache(this, 'resize', { resize: this.__onResize })\n })\n ], this, 'default')\n\n this.elevated === true && child.push(\n h('div', {\n staticClass: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n\n return h('footer', {\n staticClass: 'q-footer q-layout__section--marginal',\n class: this.classes,\n style: this.style,\n on: this.onEvents\n }, child)\n },\n\n created () {\n this.layout.instances.footer = this\n this.value === true && this.__update('size', this.size)\n this.__update('space', this.value)\n this.__update('offset', this.offset)\n },\n\n beforeDestroy () {\n if (this.layout.instances.footer === this) {\n this.layout.instances.footer = void 0\n this.__update('size', 0)\n this.__update('offset', 0)\n this.__update('space', false)\n }\n },\n\n methods: {\n __onResize ({ height }) {\n this.__updateLocal('size', height)\n this.__update('size', height)\n },\n\n __update (prop, val) {\n if (this.layout.footer[prop] !== val) {\n this.layout.footer[prop] = val\n }\n },\n\n __updateLocal (prop, val) {\n if (this[prop] !== val) {\n this[prop] = val\n }\n },\n\n __updateRevealed () {\n if (this.reveal !== true) { return }\n\n const { direction, position, inflexionPosition } = this.layout.scroll\n\n this.__updateLocal('revealed', (\n direction === 'up' ||\n position - inflexionPosition < 100 ||\n this.layout.height - this.containerHeight - position - this.size < 300\n ))\n },\n\n __onFocusin (evt) {\n if (this.revealOnFocus === true) {\n this.__updateLocal('revealed', true)\n }\n\n this.$emit('focusin', evt)\n }\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\nimport { addFocusFn } from '../../utils/focus-manager.js'\n\nexport default Vue.extend({\n name: 'QForm',\n\n mixins: [ ListenersMixin ],\n\n props: {\n autofocus: Boolean,\n noErrorFocus: Boolean,\n noResetFocus: Boolean,\n greedy: Boolean\n },\n\n computed: {\n onEvents () {\n return {\n ...this.qListeners,\n submit: this.submit,\n reset: this.reset\n }\n }\n },\n\n mounted () {\n this.validateIndex = 0\n this.autofocus === true && this.focus()\n },\n\n activated () {\n if (this.shouldActivate !== true) { return }\n this.autofocus === true && this.focus()\n },\n\n deactivated () {\n this.shouldActivate = true\n },\n\n methods: {\n validate (shouldFocus) {\n const promises = []\n const focus = typeof shouldFocus === 'boolean'\n ? shouldFocus\n : this.noErrorFocus !== true\n\n const index = ++this.validateIndex\n\n const components = this.getValidationComponents().filter(c => c.disable !== true)\n\n const emit = (res, ref) => {\n this.$emit('validation-' + (res === true ? 'success' : 'error'), ref)\n }\n\n for (let i = 0; i < components.length; i++) {\n const comp = components[i]\n const valid = comp.validate()\n\n if (typeof valid.then === 'function') {\n promises.push(\n valid.then(\n valid => ({ valid, comp }),\n err => ({ valid: false, comp, err })\n )\n )\n }\n else if (valid !== true) {\n if (this.greedy === false) {\n emit(false, comp)\n\n if (focus === true && typeof comp.focus === 'function') {\n comp.focus()\n }\n\n return Promise.resolve(false)\n }\n\n promises.push({ valid: false, comp })\n }\n }\n\n if (promises.length === 0) {\n emit(true)\n return Promise.resolve(true)\n }\n\n return Promise.all(promises).then(\n res => {\n const errors = res.filter(r => r.valid !== true)\n\n if (errors.length === 0) {\n index === this.validateIndex && emit(true)\n return true\n }\n\n const { valid, comp, err } = errors[0]\n\n if (index === this.validateIndex) {\n err !== void 0 && console.error(err)\n\n emit(false, comp)\n\n if (\n focus === true &&\n valid !== true &&\n typeof comp.focus === 'function'\n ) {\n comp.focus()\n }\n }\n\n return false\n }\n )\n },\n\n resetValidation () {\n this.validateIndex++\n\n this.getValidationComponents().forEach(comp => {\n typeof comp.resetValidation === 'function' && comp.resetValidation()\n })\n },\n\n submit (evt) {\n evt !== void 0 && stopAndPrevent(evt)\n\n const index = this.validateIndex + 1\n\n this.validate().then(val => {\n // if not outdated && validation succeeded\n if (index === this.validateIndex && val === true) {\n if (this.qListeners.submit !== void 0) {\n this.$emit('submit', evt)\n }\n else if (evt !== void 0 && evt.target !== void 0 && typeof evt.target.submit === 'function') {\n evt.target.submit()\n }\n }\n })\n },\n\n reset (evt) {\n evt !== void 0 && stopAndPrevent(evt)\n\n this.$emit('reset')\n\n this.$nextTick(() => { // allow userland to reset values before\n this.resetValidation()\n if (this.autofocus === true && this.noResetFocus !== true) {\n this.focus()\n }\n })\n },\n\n focus () {\n addFocusFn(() => {\n if (!this.$el) { return }\n\n const target = this.$el.querySelector('[autofocus], [data-autofocus]') ||\n Array.prototype.find.call(this.$el.querySelectorAll('[tabindex]'), el => el.tabIndex > -1)\n\n target !== null && target !== void 0 && target.focus({ preventScroll: true })\n })\n },\n\n getValidationComponents () {\n return Array.prototype.map.call(\n this.$el.getElementsByClassName('q-validation-component'),\n field => field.__vue__\n ).filter(c => c !== void 0 && typeof c.validate === 'function')\n }\n },\n\n render (h) {\n return h('form', {\n staticClass: 'q-form',\n on: this.onEvents\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { uniqueSlot } from '../../utils/slot.js'\nimport { stop } from '../../utils/event.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QHeader',\n\n mixins: [ ListenersMixin ],\n\n inject: {\n layout: {\n default () {\n console.error('QHeader needs to be child of QLayout')\n }\n }\n },\n\n props: {\n value: {\n type: Boolean,\n default: true\n },\n reveal: Boolean,\n revealOffset: {\n type: Number,\n default: 250\n },\n bordered: Boolean,\n elevated: Boolean,\n\n heightHint: {\n type: [String, Number],\n default: 50\n }\n },\n\n data () {\n return {\n size: parseInt(this.heightHint, 10),\n revealed: true\n }\n },\n\n watch: {\n value (val) {\n this.__update('space', val)\n this.__updateLocal('revealed', true)\n this.layout.__animate()\n },\n\n offset (val) {\n this.__update('offset', val)\n },\n\n reveal (val) {\n val === false && this.__updateLocal('revealed', this.value)\n },\n\n revealed (val) {\n this.layout.__animate()\n this.$emit('reveal', val)\n },\n\n 'layout.scroll' (scroll) {\n this.reveal === true && this.__updateLocal('revealed',\n scroll.direction === 'up' ||\n scroll.position <= this.revealOffset ||\n scroll.position - scroll.inflexionPosition < 100\n )\n }\n },\n\n computed: {\n fixed () {\n return this.reveal === true ||\n this.layout.view.indexOf('H') > -1 ||\n (this.$q.platform.is.ios && this.layout.container === true)\n },\n\n offset () {\n if (this.value !== true) {\n return 0\n }\n if (this.fixed === true) {\n return this.revealed === true ? this.size : 0\n }\n const offset = this.size - this.layout.scroll.position\n return offset > 0 ? offset : 0\n },\n\n hidden () {\n return this.value !== true || (this.fixed === true && this.revealed !== true)\n },\n\n revealOnFocus () {\n return this.value === true && this.hidden === true && this.reveal === true\n },\n\n classes () {\n return (this.fixed === true ? 'fixed' : 'absolute') + '-top' +\n (this.bordered === true ? ' q-header--bordered' : '') +\n (this.hidden === true ? ' q-header--hidden' : '') +\n (this.value !== true ? ' q-layout--prevent-focus' : '')\n },\n\n style () {\n const\n view = this.layout.rows.top,\n css = {}\n\n if (view[0] === 'l' && this.layout.left.space === true) {\n css[this.$q.lang.rtl === true ? 'right' : 'left'] = `${this.layout.left.size}px`\n }\n if (view[2] === 'r' && this.layout.right.space === true) {\n css[this.$q.lang.rtl === true ? 'left' : 'right'] = `${this.layout.right.size}px`\n }\n\n return css\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n focusin: this.__onFocusin,\n input: stop\n }\n }\n },\n\n render (h) {\n const child = uniqueSlot(this, 'default', [])\n\n this.elevated === true && child.push(\n h('div', {\n staticClass: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n\n child.push(\n h(QResizeObserver, {\n props: { debounce: 0 },\n on: cache(this, 'resize', { resize: this.__onResize })\n })\n )\n\n return h('header', {\n staticClass: 'q-header q-layout__section--marginal',\n class: this.classes,\n style: this.style,\n on: this.onEvents\n }, child)\n },\n\n created () {\n this.layout.instances.header = this\n this.value === true && this.__update('size', this.size)\n this.__update('space', this.value)\n this.__update('offset', this.offset)\n },\n\n beforeDestroy () {\n if (this.layout.instances.header === this) {\n this.layout.instances.header = void 0\n this.__update('size', 0)\n this.__update('offset', 0)\n this.__update('space', false)\n }\n },\n\n methods: {\n __onResize ({ height }) {\n this.__updateLocal('size', height)\n this.__update('size', height)\n },\n\n __update (prop, val) {\n if (this.layout.header[prop] !== val) {\n this.layout.header[prop] = val\n }\n },\n\n __updateLocal (prop, val) {\n if (this[prop] !== val) {\n this[prop] = val\n }\n },\n\n __onFocusin (evt) {\n if (this.revealOnFocus === true) {\n this.__updateLocal('revealed', true)\n }\n\n this.$emit('focusin', evt)\n }\n }\n})\n","export default {\n props: {\n ratio: [ String, Number ]\n },\n\n computed: {\n ratioStyle () {\n const ratio = this.ratio || this.naturalRatio\n\n if (ratio !== void 0) {\n return { paddingBottom: `${100 / ratio}%` }\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport RatioMixin from '../../mixins/ratio.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QImg',\n\n mixins: [ ListenersMixin, RatioMixin ],\n\n props: {\n src: String,\n srcset: String,\n sizes: String,\n alt: String,\n width: String,\n height: String,\n\n placeholderSrc: String,\n\n basic: Boolean,\n contain: Boolean,\n position: {\n type: String,\n default: '50% 50%'\n },\n\n transition: {\n type: String,\n default: 'fade'\n },\n\n imgClass: [ Array, String, Object ],\n imgStyle: Object,\n\n nativeContextMenu: Boolean,\n\n noDefaultSpinner: Boolean,\n spinnerColor: String,\n spinnerSize: String\n },\n\n data () {\n return {\n currentSrc: '',\n image: null,\n isLoading: !!this.src,\n hasError: false,\n naturalRatio: void 0\n }\n },\n\n watch: {\n src () {\n this.__load()\n },\n\n srcset (val) {\n this.__updateWatcher(val)\n }\n },\n\n computed: {\n url () {\n return this.currentSrc || this.placeholderSrc || void 0\n },\n\n attrs () {\n const att = { role: 'img' }\n if (this.alt !== void 0) {\n att['aria-label'] = this.alt\n }\n return att\n },\n\n imgContainerStyle () {\n return Object.assign(\n {\n backgroundSize: this.contain === true ? 'contain' : 'cover',\n backgroundPosition: this.position\n },\n this.imgStyle,\n { backgroundImage: `url(\"${this.url}\")` })\n },\n\n style () {\n return {\n width: this.width,\n height: this.height\n }\n },\n\n classes () {\n return 'q-img overflow-hidden' +\n (this.nativeContextMenu === true ? ' q-img--menu' : '')\n }\n },\n\n methods: {\n __onLoad (img) {\n this.isLoading = false\n this.hasError = false\n this.__computeRatio(img)\n this.__updateSrc()\n this.__updateWatcher(this.srcset)\n this.$emit('load', this.currentSrc)\n },\n\n __onError (err) {\n clearTimeout(this.ratioTimer)\n this.isLoading = false\n this.hasError = true\n this.currentSrc = ''\n this.$emit('error', err)\n },\n\n __updateSrc () {\n if (this.image !== void 0 && this.isLoading === false) {\n const src = this.image.currentSrc || this.image.src\n if (this.currentSrc !== src) {\n this.currentSrc = src\n }\n }\n },\n\n __updateWatcher (srcset) {\n if (srcset) {\n if (this.unwatch === void 0) {\n this.unwatch = this.$watch('$q.screen.width', this.__updateSrc)\n }\n }\n else if (this.unwatch !== void 0) {\n this.unwatch()\n this.unwatch = void 0\n }\n },\n\n __load () {\n clearTimeout(this.ratioTimer)\n this.hasError = false\n\n if (!this.src) {\n this.isLoading = false\n this.image = void 0\n this.currentSrc = ''\n return\n }\n\n this.isLoading = true\n\n const img = new Image()\n this.image = img\n\n img.onerror = err => {\n // if we are still rendering same image\n if (this.image === img && this.destroyed !== true) {\n this.__onError(err)\n }\n }\n\n img.onload = () => {\n if (this.destroyed === true) {\n return\n }\n\n // if we are still rendering same image\n if (this.image === img) {\n if (img.decode !== void 0) {\n img\n .decode()\n .catch(err => {\n if (this.image === img && this.destroyed !== true) {\n this.__onError(err)\n }\n })\n .then(() => {\n if (this.image === img && this.destroyed !== true) {\n this.__onLoad(img)\n }\n })\n }\n else {\n this.__onLoad(img)\n }\n }\n }\n\n img.src = this.src\n\n if (this.srcset) {\n img.srcset = this.srcset\n }\n\n if (this.sizes !== void 0) {\n img.sizes = this.sizes\n }\n else {\n Object.assign(img, {\n height: this.height,\n width: this.width\n })\n }\n },\n\n __computeRatio (img) {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalRatio = naturalHeight === 0\n ? 1\n : naturalWidth / naturalHeight\n }\n else {\n this.ratioTimer = setTimeout(() => {\n if (this.image === img && this.destroyed !== true) {\n this.__computeRatio(img)\n }\n }, 100)\n }\n },\n\n __getImage (h) {\n const nativeImg = this.nativeContextMenu === true\n ? [\n h('img', {\n staticClass: 'absolute-full fit',\n attrs: { src: this.url, 'aria-hidden': 'true' }\n })\n ]\n : void 0\n\n const content = this.url !== void 0\n ? h('div', {\n key: this.url,\n staticClass: 'q-img__image absolute-full',\n class: this.imgClass,\n style: this.imgContainerStyle\n }, nativeImg)\n : null\n\n return this.basic === true\n ? content\n : h('transition', {\n props: { name: 'q-transition--' + this.transition }\n }, [ content ])\n },\n\n __getContent (h) {\n const slotVm = slot(this, this.hasError === true ? 'error' : 'default')\n\n if (this.basic === true) {\n return h('div', {\n key: 'content',\n staticClass: 'q-img__content absolute-full'\n }, slotVm)\n }\n\n const content = this.isLoading === true\n ? h('div', {\n key: 'placeholder',\n staticClass: 'q-img__loading absolute-full flex flex-center'\n }, this.$scopedSlots.loading !== void 0\n ? this.$scopedSlots.loading()\n : (\n this.noDefaultSpinner === false\n ? [\n h(QSpinner, {\n props: {\n color: this.spinnerColor,\n size: this.spinnerSize\n }\n })\n ]\n : void 0\n )\n )\n : h('div', {\n key: 'content',\n staticClass: 'q-img__content absolute-full'\n }, slotVm)\n\n return h('transition', {\n props: { name: 'q-transition--fade' }\n }, [ content ])\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n style: this.style,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, [\n h('div', { style: this.ratioStyle }),\n this.__getImage(h),\n this.__getContent(h)\n ])\n },\n\n beforeMount () {\n if (this.placeholderSrc !== void 0 && this.ratio === void 0) {\n const img = new Image()\n img.src = this.placeholderSrc\n this.__computeRatio(img)\n }\n this.isLoading === true && this.__load()\n },\n\n beforeDestroy () {\n this.destroyed = true\n clearTimeout(this.ratioTimer)\n this.unwatch !== void 0 && this.unwatch()\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport debounce from '../../utils/debounce.js'\nimport { height } from '../../utils/dom.js'\nimport { getScrollTarget, getScrollHeight, getScrollPosition, setScrollPosition } from '../../utils/scroll.js'\nimport { listenOpts } from '../../utils/event.js'\nimport { slot, uniqueSlot } from '../../utils/slot.js'\n\nconst { passive } = listenOpts\n\nexport default Vue.extend({\n name: 'QInfiniteScroll',\n\n mixins: [ ListenersMixin ],\n\n props: {\n offset: {\n type: Number,\n default: 500\n },\n\n debounce: {\n type: [ String, Number ],\n default: 100\n },\n\n scrollTarget: {\n default: void 0\n },\n\n initialIndex: Number,\n\n disable: Boolean,\n reverse: Boolean\n },\n\n data () {\n return {\n index: this.initialIndex || 0,\n isFetching: false,\n isWorking: true\n }\n },\n\n watch: {\n disable (val) {\n if (val === true) { this.stop() }\n else { this.resume() }\n },\n\n reverse () {\n if (this.isFetching === false && this.isWorking === true) {\n this.immediatePoll()\n }\n },\n\n scrollTarget () {\n this.updateScrollTarget()\n },\n\n debounce (val) {\n this.__setDebounce(val)\n }\n },\n\n methods: {\n poll () {\n if (this.disable === true || this.isFetching === true || this.isWorking === false) {\n return\n }\n\n const\n scrollHeight = getScrollHeight(this.__scrollTarget),\n scrollPosition = getScrollPosition(this.__scrollTarget),\n containerHeight = height(this.__scrollTarget)\n\n if (this.reverse === false) {\n if (Math.round(scrollPosition + containerHeight + this.offset) >= Math.round(scrollHeight)) {\n this.trigger()\n }\n }\n else if (Math.round(scrollPosition) < this.offset) {\n this.trigger()\n }\n },\n\n trigger () {\n if (this.disable === true || this.isFetching === true || this.isWorking === false) {\n return\n }\n\n this.index++\n this.isFetching = true\n\n const heightBefore = getScrollHeight(this.__scrollTarget)\n\n this.$emit('load', this.index, stop => {\n if (this.isWorking === true) {\n this.isFetching = false\n this.$nextTick(() => {\n if (this.reverse === true) {\n const\n heightAfter = getScrollHeight(this.__scrollTarget),\n scrollPosition = getScrollPosition(this.__scrollTarget),\n heightDifference = heightAfter - heightBefore\n\n setScrollPosition(this.__scrollTarget, scrollPosition + heightDifference)\n }\n\n if (stop === true) {\n this.stop()\n }\n else {\n this.$el.closest('body') && this.poll()\n }\n })\n }\n })\n },\n\n reset () {\n this.index = 0\n },\n\n resume () {\n if (this.isWorking === false) {\n this.isWorking = true\n this.__scrollTarget.addEventListener('scroll', this.poll, passive)\n }\n this.immediatePoll()\n },\n\n stop () {\n if (this.isWorking === true) {\n this.isWorking = false\n this.isFetching = false\n this.__scrollTarget.removeEventListener('scroll', this.poll, passive)\n typeof this.poll.cancel === 'function' && this.poll.cancel()\n }\n },\n\n updateScrollTarget () {\n if (this.__scrollTarget && this.isWorking === true) {\n this.__scrollTarget.removeEventListener('scroll', this.poll, passive)\n }\n\n this.__scrollTarget = getScrollTarget(this.$el, this.scrollTarget)\n\n if (this.isWorking === true) {\n this.__scrollTarget.addEventListener('scroll', this.poll, passive)\n }\n },\n\n setIndex (index) {\n this.index = index\n },\n\n __setDebounce (val) {\n val = parseInt(val, 10)\n\n const oldPoll = this.poll\n\n this.poll = val <= 0\n ? this.immediatePoll\n : debounce(this.immediatePoll, isNaN(val) === true ? 100 : val)\n\n if (this.__scrollTarget && this.isWorking === true) {\n if (oldPoll !== void 0) {\n this.__scrollTarget.removeEventListener('scroll', oldPoll, passive)\n }\n\n this.__scrollTarget.addEventListener('scroll', this.poll, passive)\n }\n }\n },\n\n mounted () {\n this.immediatePoll = this.poll\n this.__setDebounce(this.debounce)\n\n this.updateScrollTarget()\n\n if (this.reverse === true) {\n const\n scrollHeight = getScrollHeight(this.__scrollTarget),\n containerHeight = height(this.__scrollTarget)\n\n setScrollPosition(this.__scrollTarget, scrollHeight - containerHeight)\n }\n\n this.immediatePoll()\n },\n\n activated () {\n if (this.__scrollPosition !== void 0 && this.__scrollTarget) {\n setScrollPosition(this.__scrollTarget, this.__scrollPosition)\n }\n },\n\n deactivated () {\n this.__scrollPosition = this.__scrollTarget\n ? getScrollPosition(this.__scrollTarget)\n : void 0\n },\n\n beforeDestroy () {\n this.stop()\n },\n\n render (h) {\n const child = uniqueSlot(this, 'default', [])\n\n if (this.disable !== true && this.isWorking === true) {\n child[this.reverse === false ? 'push' : 'unshift'](\n h('div', {\n staticClass: 'q-infinite-scroll__loading',\n class: this.isFetching === true ? '' : 'invisible'\n }, slot(this, 'loading'))\n )\n }\n\n return h('div', {\n staticClass: 'q-infinite-scroll',\n on: { ...this.qListeners }\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport TransitionMixin from '../../mixins/transition.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default Vue.extend({\n name: 'QInnerLoading',\n\n mixins: [ ListenersMixin, DarkMixin, TransitionMixin ],\n\n props: {\n showing: Boolean,\n color: String,\n\n size: {\n type: [String, Number],\n default: 42\n },\n\n label: String,\n labelClass: String,\n labelStyle: [ String, Array, Object ]\n },\n\n computed: {\n classes () {\n return 'q-inner-loading absolute-full column flex-center' +\n (this.isDark === true ? ' q-inner-loading--dark' : '')\n },\n\n labelClasses () {\n return 'q-inner-loading__label' +\n (this.labelClass !== void 0 ? ` ${this.labelClass}` : '')\n }\n },\n\n methods: {\n __getInner (h) {\n const child = [\n h(QSpinner, {\n props: {\n size: this.size,\n color: this.color\n }\n })\n ]\n\n if (this.label !== void 0) {\n child.push(\n h('div', {\n class: this.labelClasses,\n style: this.labelStyle\n }, [ this.label ])\n )\n }\n\n return child\n },\n\n __getContent (h) {\n return this.showing === true\n ? [\n h('div',\n {\n staticClass: this.classes,\n on: { ...this.qListeners }\n },\n this.$scopedSlots.default !== void 0\n ? this.$scopedSlots.default()\n : this.__getInner(h)\n )\n ]\n : void 0\n }\n },\n\n render (h) {\n return h('transition', {\n props: {\n name: this.transition,\n appear: true\n }\n }, this.__getContent(h))\n }\n})\n","import { shouldIgnoreKey } from '../utils/key-composition.js'\n\n// leave NAMED_MASKS at top of file (code referenced from docs)\nconst NAMED_MASKS = {\n date: '####/##/##',\n datetime: '####/##/## ##:##',\n time: '##:##',\n fulltime: '##:##:##',\n phone: '(###) ### - ####',\n card: '#### #### #### ####'\n}\n\nconst TOKENS = {\n '#': { pattern: '[\\\\d]', negate: '[^\\\\d]' },\n\n S: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]' },\n N: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]' },\n\n A: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n a: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleLowerCase() },\n\n X: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n x: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleLowerCase() }\n}\n\nconst KEYS = Object.keys(TOKENS)\nKEYS.forEach(key => {\n TOKENS[key].regex = new RegExp(TOKENS[key].pattern)\n})\n\nconst\n tokenRegexMask = new RegExp('\\\\\\\\([^.*+?^${}()|([\\\\]])|([.*+?^${}()|[\\\\]])|([' + KEYS.join('') + '])|(.)', 'g'),\n escRegex = /[.*+?^${}()|[\\]\\\\]/g\n\nconst MARKER = String.fromCharCode(1)\n\nexport default {\n props: {\n mask: String,\n reverseFillMask: Boolean,\n fillMask: [Boolean, String],\n unmaskedValue: Boolean\n },\n\n watch: {\n type () {\n this.__updateMaskInternals()\n },\n\n autogrow () {\n this.__updateMaskInternals()\n },\n\n mask (v) {\n if (v !== void 0) {\n this.__updateMaskValue(this.innerValue, true)\n }\n else {\n const val = this.__unmask(this.innerValue)\n this.__updateMaskInternals()\n this.value !== val && this.$emit('input', val)\n }\n },\n\n fillMask () {\n this.hasMask === true && this.__updateMaskValue(this.innerValue, true)\n },\n\n reverseFillMask () {\n this.hasMask === true && this.__updateMaskValue(this.innerValue, true)\n },\n\n unmaskedValue () {\n this.hasMask === true && this.__updateMaskValue(this.innerValue)\n }\n },\n\n methods: {\n __getInitialMaskedValue () {\n this.__updateMaskInternals()\n\n if (this.hasMask === true) {\n const masked = this.__mask(this.__unmask(this.value))\n\n return this.fillMask !== false\n ? this.__fillWithMask(masked)\n : masked\n }\n\n return this.value\n },\n\n __getPaddedMaskMarked (size) {\n if (size < this.maskMarked.length) {\n return this.maskMarked.slice(-size)\n }\n\n let\n maskMarked = this.maskMarked,\n pad = ''\n const\n padPos = maskMarked.indexOf(MARKER)\n\n if (padPos > -1) {\n for (let i = size - maskMarked.length; i > 0; i--) {\n pad += MARKER\n }\n\n maskMarked = maskMarked.slice(0, padPos) + pad + maskMarked.slice(padPos)\n }\n\n return maskMarked\n },\n\n __updateMaskInternals () {\n this.hasMask = this.mask !== void 0 &&\n this.mask.length > 0 &&\n (this.autogrow === true || ['textarea', 'text', 'search', 'url', 'tel', 'password'].includes(this.type))\n\n if (this.hasMask === false) {\n this.computedUnmask = void 0\n this.maskMarked = ''\n this.maskReplaced = ''\n return\n }\n\n const\n computedMask = NAMED_MASKS[this.mask] === void 0\n ? this.mask\n : NAMED_MASKS[this.mask],\n fillChar = typeof this.fillMask === 'string' && this.fillMask.length > 0\n ? this.fillMask.slice(0, 1)\n : '_',\n fillCharEscaped = fillChar.replace(escRegex, '\\\\$&'),\n unmask = [],\n extract = [],\n mask = []\n\n let\n firstMatch = this.reverseFillMask === true,\n unmaskChar = '',\n negateChar = ''\n\n computedMask.replace(tokenRegexMask, (_, char1, esc, token, char2) => {\n if (token !== void 0) {\n const c = TOKENS[token]\n mask.push(c)\n negateChar = c.negate\n if (firstMatch === true) {\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + '+)?(?:' + negateChar + '+)?(' + c.pattern + '+)?')\n firstMatch = false\n }\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + ')?')\n }\n else if (esc !== void 0) {\n unmaskChar = '\\\\' + (esc === '\\\\' ? '' : esc)\n mask.push(esc)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n else {\n const c = char1 !== void 0 ? char1 : char2\n unmaskChar = c === '\\\\' ? '\\\\\\\\\\\\\\\\' : c.replace(escRegex, '\\\\\\\\$&')\n mask.push(c)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n })\n\n const\n unmaskMatcher = new RegExp(\n '^' +\n unmask.join('') +\n '(' + (unmaskChar === '' ? '.' : '[^' + unmaskChar + ']') + '+)?' +\n '$'\n ),\n extractLast = extract.length - 1,\n extractMatcher = extract.map((re, index) => {\n if (index === 0 && this.reverseFillMask === true) {\n return new RegExp('^' + fillCharEscaped + '*' + re)\n }\n else if (index === extractLast) {\n return new RegExp(\n '^' + re +\n '(' + (negateChar === '' ? '.' : negateChar) + '+)?' +\n (this.reverseFillMask === true ? '$' : fillCharEscaped + '*')\n )\n }\n\n return new RegExp('^' + re)\n })\n\n this.computedMask = mask\n this.computedUnmask = val => {\n const unmaskMatch = unmaskMatcher.exec(val)\n if (unmaskMatch !== null) {\n val = unmaskMatch.slice(1).join('')\n }\n\n const\n extractMatch = [],\n extractMatcherLength = extractMatcher.length\n\n for (let i = 0, str = val; i < extractMatcherLength; i++) {\n const m = extractMatcher[i].exec(str)\n\n if (m === null) {\n break\n }\n\n str = str.slice(m.shift().length)\n extractMatch.push(...m)\n }\n if (extractMatch.length > 0) {\n return extractMatch.join('')\n }\n\n return val\n }\n this.maskMarked = mask.map(v => typeof v === 'string' ? v : MARKER).join('')\n this.maskReplaced = this.maskMarked.split(MARKER).join(fillChar)\n },\n\n __updateMaskValue (rawVal, updateMaskInternals, inputType) {\n const\n inp = this.$refs.input,\n end = inp.selectionEnd,\n endReverse = inp.value.length - end,\n unmasked = this.__unmask(rawVal)\n\n // Update here so unmask uses the original fillChar\n updateMaskInternals === true && this.__updateMaskInternals()\n\n const\n preMasked = this.__mask(unmasked),\n masked = this.fillMask !== false\n ? this.__fillWithMask(preMasked)\n : preMasked,\n changed = this.innerValue !== masked\n\n // We want to avoid \"flickering\" so we set value immediately\n inp.value !== masked && (inp.value = masked)\n\n changed === true && (this.innerValue = masked)\n\n document.activeElement === inp && this.$nextTick(() => {\n if (masked === this.maskReplaced) {\n const cursor = this.reverseFillMask === true ? this.maskReplaced.length : 0\n inp.setSelectionRange(cursor, cursor, 'forward')\n\n return\n }\n\n if (inputType === 'insertFromPaste' && this.reverseFillMask !== true) {\n const cursor = end - 1\n this.__moveCursorRight(inp, cursor, cursor)\n\n return\n }\n\n if (['deleteContentBackward', 'deleteContentForward'].indexOf(inputType) > -1) {\n const cursor = this.reverseFillMask === true\n ? (\n end === 0\n ? (masked.length > preMasked.length ? 1 : 0)\n : Math.max(0, masked.length - (masked === this.maskReplaced ? 0 : Math.min(preMasked.length, endReverse) + 1)) + 1\n )\n : end\n inp.setSelectionRange(cursor, cursor, 'forward')\n\n return\n }\n\n if (this.reverseFillMask === true) {\n if (changed === true) {\n const cursor = Math.max(0, masked.length - (masked === this.maskReplaced ? 0 : Math.min(preMasked.length, endReverse + 1)))\n\n if (cursor === 1 && end === 1) {\n inp.setSelectionRange(cursor, cursor, 'forward')\n }\n else {\n this.__moveCursorRightReverse(inp, cursor, cursor)\n }\n }\n else {\n const cursor = masked.length - endReverse\n inp.setSelectionRange(cursor, cursor, 'backward')\n }\n }\n else {\n if (changed === true) {\n const cursor = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1)\n this.__moveCursorRight(inp, cursor, cursor)\n }\n else {\n const cursor = end - 1\n this.__moveCursorRight(inp, cursor, cursor)\n }\n }\n })\n\n const val = this.unmaskedValue === true\n ? this.__unmask(masked)\n : masked\n\n String(this.value) !== val && this.__emitValue(val, true)\n },\n\n __moveCursorForPaste (inp, start, end) {\n const preMasked = this.__mask(this.__unmask(inp.value))\n\n start = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, start))\n\n inp.setSelectionRange(start, end, 'forward')\n },\n\n __moveCursorLeft (inp, start, end, selection) {\n const noMarkBefore = this.maskMarked.slice(start - 1).indexOf(MARKER) === -1\n let i = Math.max(0, start - 1)\n\n for (; i >= 0; i--) {\n if (this.maskMarked[i] === MARKER) {\n start = i\n noMarkBefore === true && start++\n break\n }\n }\n\n if (\n i < 0 &&\n this.maskMarked[start] !== void 0 &&\n this.maskMarked[start] !== MARKER\n ) {\n return this.__moveCursorRight(inp, 0, 0)\n }\n\n start >= 0 && inp.setSelectionRange(\n start,\n selection === true ? end : start, 'backward'\n )\n },\n\n __moveCursorRight (inp, start, end, selection) {\n const limit = inp.value.length\n let i = Math.min(limit, end + 1)\n\n for (; i <= limit; i++) {\n if (this.maskMarked[i] === MARKER) {\n end = i\n break\n }\n else if (this.maskMarked[i - 1] === MARKER) {\n end = i\n }\n }\n\n if (\n i > limit &&\n this.maskMarked[end - 1] !== void 0 &&\n this.maskMarked[end - 1] !== MARKER\n ) {\n return this.__moveCursorLeft(inp, limit, limit)\n }\n\n inp.setSelectionRange(selection ? start : end, end, 'forward')\n },\n\n __moveCursorLeftReverse (inp, start, end, selection) {\n const\n maskMarked = this.__getPaddedMaskMarked(inp.value.length)\n let i = Math.max(0, start - 1)\n\n for (; i >= 0; i--) {\n if (maskMarked[i - 1] === MARKER) {\n start = i\n break\n }\n else if (maskMarked[i] === MARKER) {\n start = i\n if (i === 0) {\n break\n }\n }\n }\n\n if (\n i < 0 &&\n maskMarked[start] !== void 0 &&\n maskMarked[start] !== MARKER\n ) {\n return this.__moveCursorRightReverse(inp, 0, 0)\n }\n\n start >= 0 && inp.setSelectionRange(\n start,\n selection === true ? end : start, 'backward'\n )\n },\n\n __moveCursorRightReverse (inp, start, end, selection) {\n const\n limit = inp.value.length,\n maskMarked = this.__getPaddedMaskMarked(limit),\n noMarkBefore = maskMarked.slice(0, end + 1).indexOf(MARKER) === -1\n let i = Math.min(limit, end + 1)\n\n for (; i <= limit; i++) {\n if (maskMarked[i - 1] === MARKER) {\n end = i\n end > 0 && noMarkBefore === true && end--\n break\n }\n }\n\n if (\n i > limit &&\n maskMarked[end - 1] !== void 0 &&\n maskMarked[end - 1] !== MARKER\n ) {\n return this.__moveCursorLeftReverse(inp, limit, limit)\n }\n\n inp.setSelectionRange(selection === true ? start : end, end, 'forward')\n },\n\n __onMaskedKeydown (e) {\n if (shouldIgnoreKey(e) === true) {\n return\n }\n\n const\n inp = this.$refs.input,\n start = inp.selectionStart,\n end = inp.selectionEnd\n\n if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right\n const fn = this['__moveCursor' + (e.keyCode === 39 ? 'Right' : 'Left') + (this.reverseFillMask === true ? 'Reverse' : '')]\n\n e.preventDefault()\n fn(inp, start, end, e.shiftKey)\n }\n else if (\n e.keyCode === 8 && // Backspace\n this.reverseFillMask !== true &&\n start === end\n ) {\n this.__moveCursorLeft(inp, start, end, true)\n }\n else if (\n e.keyCode === 46 && // Delete\n this.reverseFillMask === true &&\n start === end\n ) {\n this.__moveCursorRightReverse(inp, start, end, true)\n }\n\n this.$emit('keydown', e)\n },\n\n __mask (val) {\n if (val === void 0 || val === null || val === '') { return '' }\n\n if (this.reverseFillMask === true) {\n return this.__maskReverse(val)\n }\n\n const mask = this.computedMask\n\n let valIndex = 0, output = ''\n\n for (let maskIndex = 0; maskIndex < mask.length; maskIndex++) {\n const\n valChar = val[valIndex],\n maskDef = mask[maskIndex]\n\n if (typeof maskDef === 'string') {\n output += maskDef\n valChar === maskDef && valIndex++\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n output += maskDef.transform !== void 0\n ? maskDef.transform(valChar)\n : valChar\n valIndex++\n }\n else {\n return output\n }\n }\n\n return output\n },\n\n __maskReverse (val) {\n const\n mask = this.computedMask,\n firstTokenIndex = this.maskMarked.indexOf(MARKER)\n\n let valIndex = val.length - 1, output = ''\n\n for (let maskIndex = mask.length - 1; maskIndex >= 0 && valIndex > -1; maskIndex--) {\n const maskDef = mask[maskIndex]\n\n let valChar = val[valIndex]\n\n if (typeof maskDef === 'string') {\n output = maskDef + output\n valChar === maskDef && valIndex--\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n do {\n output = (maskDef.transform !== void 0 ? maskDef.transform(valChar) : valChar) + output\n valIndex--\n valChar = val[valIndex]\n // eslint-disable-next-line no-unmodified-loop-condition\n } while (firstTokenIndex === maskIndex && valChar !== void 0 && maskDef.regex.test(valChar))\n }\n else {\n return output\n }\n }\n\n return output\n },\n\n __unmask (val) {\n return typeof val !== 'string' || this.computedUnmask === void 0\n ? (typeof val === 'number' ? this.computedUnmask('' + val) : val)\n : this.computedUnmask(val)\n },\n\n __fillWithMask (val) {\n if (this.maskReplaced.length - val.length <= 0) {\n return val\n }\n\n return this.reverseFillMask === true && val.length > 0\n ? this.maskReplaced.slice(0, -val.length) + val\n : val + this.maskReplaced.slice(val.length)\n }\n }\n}\n","const isJapanese = /[\\u3000-\\u303f\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff9f\\u4e00-\\u9faf\\u3400-\\u4dbf]/\nconst isChinese = /[\\u4e00-\\u9fff\\u3400-\\u4dbf\\u{20000}-\\u{2a6df}\\u{2a700}-\\u{2b73f}\\u{2b740}-\\u{2b81f}\\u{2b820}-\\u{2ceaf}\\uf900-\\ufaff\\u3300-\\u33ff\\ufe30-\\ufe4f\\uf900-\\ufaff\\u{2f800}-\\u{2fa1f}]/u\nconst isKorean = /[\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3]/\n\nexport default {\n methods: {\n __onComposition (e) {\n if (e.type === 'compositionend' || e.type === 'change') {\n if (e.target.composing !== true) { return }\n e.target.composing = false\n this.__onInput(e)\n }\n else if (e.type === 'compositionupdate') {\n if (\n typeof e.data === 'string' &&\n isJapanese.test(e.data) === false &&\n isChinese.test(e.data) === false &&\n isKorean.test(e.data) === false\n ) {\n e.target.composing = false\n }\n }\n else {\n e.target.composing = true\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QField from '../field/QField.js'\n\nimport { FormFieldMixin } from '../../mixins/form.js'\nimport { FileValueMixin } from '../../mixins/file.js'\nimport MaskMixin from '../../mixins/mask.js'\nimport CompositionMixin from '../../mixins/composition.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stop } from '../../utils/event.js'\nimport { addFocusFn } from '../../utils/focus-manager.js'\n\nexport default Vue.extend({\n name: 'QInput',\n\n mixins: [\n QField,\n MaskMixin,\n CompositionMixin,\n FormFieldMixin,\n FileValueMixin,\n ListenersMixin\n ],\n\n props: {\n value: { required: false },\n\n shadowText: String,\n\n type: {\n type: String,\n default: 'text'\n },\n\n debounce: [String, Number],\n\n autogrow: Boolean, // makes a textarea\n\n inputClass: [Array, String, Object],\n inputStyle: [Array, String, Object]\n },\n\n watch: {\n value (v) {\n if (this.hasMask === true) {\n if (this.stopValueWatcher === true) {\n this.stopValueWatcher = false\n return\n }\n\n this.__updateMaskValue(v)\n }\n else if (this.innerValue !== v) {\n this.innerValue = v\n\n if (\n this.type === 'number' &&\n this.hasOwnProperty('tempValue') === true\n ) {\n if (this.typedNumber === true) {\n this.typedNumber = false\n }\n else {\n delete this.tempValue\n }\n }\n }\n\n // textarea only\n this.autogrow === true && this.$nextTick(this.__adjustHeight)\n },\n\n // some browsers lose the native input value\n // so we need to reattach it dynamically\n // (like type=\"password\" <-> type=\"text\"; see #12078)\n type () {\n if (this.$refs.input) {\n this.$refs.input.value = this.value\n }\n },\n\n autogrow (autogrow) {\n // textarea only\n if (autogrow === true) {\n this.$nextTick(this.__adjustHeight)\n }\n // if it has a number of rows set respect it\n else if (this.qAttrs.rows > 0 && this.$refs.input !== void 0) {\n const inp = this.$refs.input\n inp.style.height = 'auto'\n }\n },\n\n dense () {\n this.autogrow === true && this.$nextTick(this.__adjustHeight)\n }\n },\n\n data () {\n return { innerValue: this.__getInitialMaskedValue() }\n },\n\n computed: {\n isTextarea () {\n return this.type === 'textarea' || this.autogrow === true\n },\n\n isTypeText () {\n return this.isTextarea === true || ['text', 'search', 'url', 'tel', 'password'].includes(this.type)\n },\n\n fieldClass () {\n return `q-${this.isTextarea === true ? 'textarea' : 'input'}` +\n (this.autogrow === true ? ' q-textarea--autogrow' : '')\n },\n\n hasShadow () {\n return this.type !== 'file' &&\n typeof this.shadowText === 'string' &&\n this.shadowText.length > 0\n },\n\n onEvents () {\n const on = {\n ...this.qListeners,\n input: this.__onInput,\n paste: this.__onPaste,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n change: this.__onChange,\n blur: this.__onFinishEditing,\n focus: stop\n }\n\n on.compositionstart = on.compositionupdate = on.compositionend = this.__onComposition\n\n if (this.hasMask === true) {\n on.keydown = this.__onMaskedKeydown\n }\n\n if (this.autogrow === true) {\n on.animationend = this.__adjustHeight\n }\n\n return on\n },\n\n inputAttrs () {\n const attrs = {\n tabindex: 0,\n 'data-autofocus': this.autofocus,\n rows: this.type === 'textarea' ? 6 : void 0,\n 'aria-label': this.label,\n name: this.nameProp,\n ...this.qAttrs,\n id: this.targetUid,\n type: this.type,\n maxlength: this.maxlength,\n disabled: this.disable === true,\n readonly: this.readonly === true\n }\n\n if (this.autogrow === true) {\n attrs.rows = 1\n }\n\n return attrs\n }\n },\n\n methods: {\n focus () {\n addFocusFn(() => {\n const el = document.activeElement\n if (\n this.$refs.input !== void 0 &&\n this.$refs.input !== el &&\n // IE can have null document.activeElement\n (el === null || el.id !== this.targetUid)\n ) {\n this.$refs.input.focus({ preventScroll: true })\n }\n })\n },\n\n select () {\n this.$refs.input !== void 0 && this.$refs.input.select()\n },\n\n getNativeElement () {\n return this.$refs.input\n },\n\n __onPaste (e) {\n if (this.hasMask === true && this.reverseFillMask !== true) {\n const inp = e.target\n this.__moveCursorForPaste(inp, inp.selectionStart, inp.selectionEnd)\n }\n\n this.$emit('paste', e)\n },\n\n __onInput (e) {\n if (!e || !e.target || e.target.composing === true) {\n return\n }\n\n if (this.type === 'file') {\n this.$emit('input', e.target.files)\n return\n }\n\n const val = e.target.value\n\n if (this.hasMask === true) {\n this.__updateMaskValue(val, false, e.inputType)\n }\n else {\n this.__emitValue(val)\n\n if (this.isTypeText === true && e.target === document.activeElement) {\n const { selectionStart, selectionEnd } = e.target\n\n if (selectionStart !== void 0 && selectionEnd !== void 0) {\n this.$nextTick(() => {\n if (e.target === document.activeElement && val.indexOf(e.target.value) === 0) {\n e.target.setSelectionRange(selectionStart, selectionEnd)\n }\n })\n }\n }\n }\n\n // we need to trigger it immediately too,\n // to avoid \"flickering\"\n this.autogrow === true && this.__adjustHeight()\n },\n\n __emitValue (val, stopWatcher) {\n this.emitValueFn = () => {\n if (\n this.type !== 'number' &&\n this.hasOwnProperty('tempValue') === true\n ) {\n delete this.tempValue\n }\n\n if (this.value !== val && this.emitCachedValue !== val) {\n this.emitCachedValue = val\n\n stopWatcher === true && (this.stopValueWatcher = true)\n this.$emit('input', val)\n\n this.$nextTick(() => {\n this.emitCachedValue === val && (this.emitCachedValue = NaN)\n })\n }\n\n this.emitValueFn = void 0\n }\n\n if (this.type === 'number') {\n this.typedNumber = true\n this.tempValue = val\n }\n\n if (this.debounce !== void 0) {\n clearTimeout(this.emitTimer)\n this.tempValue = val\n this.emitTimer = setTimeout(this.emitValueFn, this.debounce)\n }\n else {\n this.emitValueFn()\n }\n },\n\n // textarea only\n __adjustHeight () {\n const inp = this.$refs.input\n if (inp !== void 0) {\n const parentStyle = inp.parentNode.style\n\n // reset height of textarea to a small size to detect the real height\n // but keep the total control size the same\n parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px'\n inp.style.height = '1px'\n\n inp.style.height = inp.scrollHeight + 'px'\n parentStyle.marginBottom = ''\n }\n },\n\n __onChange (e) {\n this.__onComposition(e)\n\n clearTimeout(this.emitTimer)\n this.emitValueFn !== void 0 && this.emitValueFn()\n\n this.$emit('change', e)\n },\n\n __onFinishEditing (e) {\n e !== void 0 && stop(e)\n\n clearTimeout(this.emitTimer)\n this.emitValueFn !== void 0 && this.emitValueFn()\n\n this.typedNumber = false\n this.stopValueWatcher = false\n delete this.tempValue\n\n // we need to use setTimeout instead of this.$nextTick\n // to avoid a bug where focusout is not emitted for type date/time/week/...\n this.type !== 'file' && setTimeout(() => {\n if (this.$refs.input !== void 0) {\n this.$refs.input.value = this.innerValue !== void 0 ? this.innerValue : ''\n }\n })\n },\n\n __getCurValue () {\n return this.hasOwnProperty('tempValue') === true\n ? this.tempValue\n : (this.innerValue !== void 0 ? this.innerValue : '')\n },\n\n __getShadowControl (h) {\n return h('div', {\n staticClass: 'q-field__native q-field__shadow absolute-bottom no-pointer-events' +\n (this.isTextarea === true ? '' : ' text-no-wrap')\n }, [\n h('span', { staticClass: 'invisible' }, this.__getCurValue()),\n h('span', this.shadowText)\n ])\n },\n\n __getControl (h) {\n return h(this.isTextarea === true ? 'textarea' : 'input', {\n ref: 'input',\n staticClass: 'q-field__native q-placeholder',\n style: this.inputStyle,\n class: this.inputClass,\n attrs: this.inputAttrs,\n on: this.onEvents,\n domProps: this.type !== 'file'\n ? { value: this.__getCurValue() }\n : this.formDomProps\n })\n }\n },\n\n created () {\n this.emitCachedValue = NaN\n },\n\n mounted () {\n // textarea only\n this.autogrow === true && this.__adjustHeight()\n },\n\n beforeDestroy () {\n this.__onFinishEditing()\n }\n})\n","import { isDeepEqual } from '../utils/is.js'\n\nconst defaultCfg = {\n threshold: 0,\n root: null,\n rootMargin: '0px'\n}\n\nfunction update (el, ctx, value) {\n let handler, cfg, changed\n\n if (typeof value === 'function') {\n handler = value\n cfg = defaultCfg\n changed = ctx.cfg === void 0\n }\n else {\n handler = value.handler\n cfg = Object.assign({}, defaultCfg, value.cfg)\n changed = ctx.cfg === void 0 || isDeepEqual(ctx.cfg, cfg) === false\n }\n\n if (ctx.handler !== handler) {\n ctx.handler = handler\n }\n\n if (changed === true) {\n ctx.cfg = cfg\n ctx.observer !== void 0 && ctx.observer.unobserve(el)\n\n ctx.observer = new IntersectionObserver(([ entry ]) => {\n if (typeof ctx.handler === 'function') {\n // if observed element is part of a vue transition\n // then we need to be careful...\n if (\n entry.rootBounds === null &&\n (el.__vue__ !== void 0 ? el.__vue__._inactive !== true : document.body.contains(el) === true)\n ) {\n ctx.observer.unobserve(el)\n ctx.observer.observe(el)\n return\n }\n\n const res = ctx.handler(entry, ctx.observer)\n\n if (\n res === false ||\n (ctx.once === true && entry.isIntersecting === true)\n ) {\n destroy(el)\n }\n }\n }, cfg)\n\n ctx.observer.observe(el)\n }\n}\n\nfunction destroy (el) {\n const ctx = el.__qvisible\n\n if (ctx !== void 0) {\n ctx.observer !== void 0 && ctx.observer.unobserve(el)\n delete el.__qvisible\n }\n}\n\nexport default {\n name: 'intersection',\n\n inserted (el, { modifiers, value }) {\n if (el.__qvisible !== void 0) {\n destroy(el)\n el.__qvisible_destroyed = true\n }\n\n const ctx = {\n once: modifiers.once === true\n }\n\n update(el, ctx, value)\n\n el.__qvisible = ctx\n },\n\n update (el, binding) {\n const ctx = el.__qvisible\n ctx !== void 0 && update(el, ctx, binding.value)\n },\n\n unbind (el) {\n if (el.__qvisible_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qvisible_destroyed\n }\n }\n}\n","import Vue from 'vue'\n\nimport { onSSR } from '../../plugins/Platform.js'\n\nimport Intersection from '../../directives/Intersection.js'\n\nimport TagMixin from '../../mixins/tag.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QIntersection',\n\n mixins: [ TagMixin, ListenersMixin ],\n\n directives: {\n Intersection\n },\n\n props: {\n once: Boolean,\n transition: String,\n\n ssrPrerender: Boolean,\n\n margin: String,\n threshold: [ Number, Array ],\n root: {\n default: null\n },\n\n disable: Boolean\n },\n\n data () {\n return {\n showing: onSSR === true ? this.ssrPrerender : false\n }\n },\n\n computed: {\n value () {\n return this.root !== void 0 || this.margin !== void 0 || this.threshold !== void 0\n ? {\n handler: this.__trigger,\n cfg: {\n root: this.root,\n rootMargin: this.margin,\n threshold: this.threshold\n }\n }\n : this.__trigger\n },\n\n directives () {\n if (this.disable !== true && (onSSR !== true || this.once !== true || this.ssrPrerender !== true)) {\n return [{\n name: 'intersection',\n value: this.value,\n modifiers: {\n once: this.once\n }\n }]\n }\n }\n },\n\n methods: {\n __trigger (entry) {\n if (this.showing !== entry.isIntersecting) {\n this.showing = entry.isIntersecting\n\n if (this.qListeners.visibility !== void 0) {\n this.$emit('visibility', this.showing)\n }\n }\n }\n },\n\n render (h) {\n const content = this.showing === true\n ? [ h('div', { key: 'content' }, slot(this, 'default')) ]\n : void 0\n\n return h(this.tag, {\n staticClass: 'q-intersection',\n on: { ...this.qListeners },\n directives: this.directives\n }, this.transition\n ? [\n h('transition', {\n props: { name: 'q-transition--' + this.transition }\n }, content)\n ]\n : content\n )\n }\n})\n","import Vue from 'vue'\n\nimport { position, stopAndPrevent } from '../../utils/event.js'\nimport { between, normalizeToInterval } from '../../utils/format.js'\nimport { slot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nimport QCircularProgress from '../circular-progress/QCircularProgress.js'\nimport FormMixin from '../../mixins/form.js'\nimport TouchPan from '../../directives/TouchPan.js'\n\n// PGDOWN, LEFT, DOWN, PGUP, RIGHT, UP\nconst keyCodes = [34, 37, 40, 33, 39, 38]\n\nexport default Vue.extend({\n name: 'QKnob',\n\n mixins: [\n { props: QCircularProgress.options.props },\n FormMixin\n ],\n\n directives: {\n TouchPan\n },\n\n props: {\n innerMin: Number,\n innerMax: Number,\n\n step: {\n type: Number,\n default: 1,\n validator: v => v >= 0\n },\n\n tabindex: {\n type: [Number, String],\n default: 0\n },\n\n disable: Boolean,\n readonly: Boolean\n },\n\n data () {\n const innerMin = this.__getInnerMin(this.innerMin)\n const innerMax = this.__getInnerMax(this.innerMax)\n\n return {\n model: this.value === null ? innerMin : between(this.value, innerMin, innerMax),\n dragging: false\n }\n },\n\n watch: {\n modelUpdate () {\n this.model = this.value === null\n ? this.computedInnerMin\n : between(this.value, this.computedInnerMin, this.computedInnerMax)\n\n this.__updateValue(true)\n }\n },\n\n computed: {\n classes () {\n return 'q-knob non-selectable' + (\n this.editable === true\n ? ' q-knob--editable'\n : (this.disable === true ? ' disabled' : '')\n )\n },\n\n computedInnerMin () {\n return this.__getInnerMin(this.innerMin)\n },\n\n computedInnerMax () {\n return this.__getInnerMax(this.innerMax)\n },\n\n modelUpdate () {\n return `${this.value}|${this.computedInnerMin}|${this.computedInnerMax}`\n },\n\n editable () {\n return this.disable === false && this.readonly === false\n },\n\n decimals () {\n return (String(this.step).trim('0').split('.')[1] || '').length\n },\n\n computedStep () {\n return this.step === 0 ? 1 : this.step\n },\n\n computedInstantFeedback () {\n return this.instantFeedback === true ||\n this.dragging === true\n },\n\n onEvents () {\n return this.$q.platform.is.mobile === true\n ? { click: this.__click }\n : {\n mousedown: this.__activate,\n click: this.__click,\n keydown: this.__keydown,\n keyup: this.__keyup\n }\n },\n\n attrs () {\n const attrs = {\n role: 'slider',\n 'aria-valuemin': this.computedInnerMin,\n 'aria-valuemax': this.computedInnerMax,\n 'aria-valuenow': this.value\n }\n\n if (this.editable === true) {\n attrs.tabindex = this.tabindex\n }\n else {\n attrs[`aria-${this.disable === true ? 'disabled' : 'readonly'}`] = ''\n }\n\n return attrs\n }\n },\n\n methods: {\n __getInnerMin (val) {\n return isNaN(val) === true || this.innerMin < this.min\n ? this.min\n : this.innerMin\n },\n\n __getInnerMax (val) {\n return isNaN(val) === true || val > this.max\n ? this.max\n : this.innerMax\n },\n\n __updateCenterPosition () {\n const { top, left, width, height } = this.$el.getBoundingClientRect()\n this.centerPosition = {\n top: top + height / 2,\n left: left + width / 2\n }\n },\n\n __pan (event) {\n if (event.isFinal) {\n this.__updatePosition(event.evt, true)\n this.dragging = false\n }\n else if (event.isFirst) {\n this.__updateCenterPosition()\n this.dragging = true\n this.__updatePosition(event.evt)\n }\n else {\n this.__updatePosition(event.evt)\n }\n },\n\n __click (evt) {\n this.__updateCenterPosition()\n this.__updatePosition(evt, true)\n },\n\n __keydown (evt) {\n if (!keyCodes.includes(evt.keyCode)) {\n return\n }\n\n stopAndPrevent(evt)\n\n const\n step = ([34, 33].includes(evt.keyCode) ? 10 : 1) * this.computedStep,\n offset = [34, 37, 40].includes(evt.keyCode) ? -step : step\n\n this.model = between(\n parseFloat((this.model + offset).toFixed(this.decimals)),\n this.computedInnerMin,\n this.computedInnerMax\n )\n\n this.__updateValue()\n },\n\n __keyup (evt) {\n if (keyCodes.includes(evt.keyCode)) {\n this.__updateValue(true)\n }\n },\n\n __activate (evt) {\n this.__updateCenterPosition()\n this.__updatePosition(evt)\n },\n\n __updatePosition (evt, change) {\n const\n center = this.centerPosition,\n pos = position(evt),\n height = Math.abs(pos.top - center.top),\n distance = Math.sqrt(\n height ** 2 +\n Math.abs(pos.left - center.left) ** 2\n )\n\n let angle = Math.asin(height / distance) * (180 / Math.PI)\n\n if (pos.top < center.top) {\n angle = center.left < pos.left ? 90 - angle : 270 + angle\n }\n else {\n angle = center.left < pos.left ? angle + 90 : 270 - angle\n }\n\n if (this.angle) {\n angle = normalizeToInterval(angle - this.angle, 0, 360)\n }\n\n if (this.$q.lang.rtl === true) {\n angle = 360 - angle\n }\n\n let model = this.min + (angle / 360) * (this.max - this.min)\n\n if (this.step !== 0) {\n const\n step = this.computedStep,\n modulo = model % step\n\n model = model - modulo +\n (Math.abs(modulo) >= step / 2 ? (modulo < 0 ? -1 : 1) * step : 0)\n\n model = parseFloat(model.toFixed(this.decimals))\n }\n\n model = between(model, this.computedInnerMin, this.computedInnerMax)\n\n this.$emit('drag-value', model)\n\n if (this.model !== model) {\n this.model = model\n }\n\n this.__updateValue(change)\n },\n\n __updateValue (change) {\n this.value !== this.model && this.$emit('input', this.model)\n change === true && this.$emit('change', this.model)\n },\n\n __getNameInput () {\n return this.$createElement('input', { attrs: this.formAttrs })\n }\n },\n\n render (h) {\n const data = {\n class: this.classes,\n attrs: this.attrs,\n props: {\n ...this.$props,\n value: this.model,\n instantFeedback: this.computedInstantFeedback\n }\n }\n\n if (this.editable === true) {\n data.on = this.onEvents\n data.directives = cache(this, 'dir', [{\n name: 'touch-pan',\n value: this.__pan,\n modifiers: {\n prevent: true,\n stop: true,\n mouse: true\n }\n }])\n\n if (this.name !== void 0) {\n data.scopedSlots = {\n internal: this.__getNameInput\n }\n }\n }\n\n return h(QCircularProgress, data, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport { getScrollPosition, getScrollTarget, getHorizontalScrollPosition } from '../../utils/scroll.js'\nimport { listenOpts, noop } from '../../utils/event.js'\n\nconst { passive } = listenOpts\n\nexport default Vue.extend({\n name: 'QScrollObserver',\n\n props: {\n debounce: [ String, Number ],\n horizontal: Boolean,\n\n scrollTarget: {\n default: void 0\n }\n },\n\n render: noop, // eslint-disable-line\n\n data () {\n return {\n pos: 0,\n dir: this.horizontal === true ? 'right' : 'down',\n dirChanged: false,\n dirChangePos: 0\n }\n },\n\n watch: {\n scrollTarget () {\n this.__unconfigureScrollTarget()\n this.__configureScrollTarget()\n }\n },\n\n methods: {\n getPosition () {\n return {\n position: this.pos,\n direction: this.dir,\n directionChanged: this.dirChanged,\n inflexionPosition: this.dirChangePos\n }\n },\n\n trigger (immediately) {\n if (immediately === true || this.debounce === 0 || this.debounce === '0') {\n this.__emit()\n }\n else if (this.clearTimer === void 0) {\n const [ timer, fn ] = this.debounce\n ? [ setTimeout(this.__emit, this.debounce), clearTimeout ]\n : [ requestAnimationFrame(this.__emit), cancelAnimationFrame ]\n\n this.clearTimer = () => {\n fn(timer)\n this.clearTimer = void 0\n }\n }\n },\n\n __emit () {\n this.clearTimer !== void 0 && this.clearTimer()\n\n const fn = this.horizontal === true\n ? getHorizontalScrollPosition\n : getScrollPosition\n\n const\n pos = Math.max(0, fn(this.__scrollTarget)),\n delta = pos - this.pos,\n dir = this.horizontal === true\n ? delta < 0 ? 'left' : 'right'\n : delta < 0 ? 'up' : 'down'\n\n this.dirChanged = this.dir !== dir\n\n if (this.dirChanged) {\n this.dir = dir\n this.dirChangePos = this.pos\n }\n\n this.pos = pos\n this.$emit('scroll', this.getPosition())\n },\n\n __configureScrollTarget () {\n this.__scrollTarget = getScrollTarget(this.$el.parentNode, this.scrollTarget)\n this.__scrollTarget.addEventListener('scroll', this.trigger, passive)\n this.trigger(true)\n },\n\n __unconfigureScrollTarget () {\n if (this.__scrollTarget !== void 0) {\n this.__scrollTarget.removeEventListener('scroll', this.trigger, passive)\n this.__scrollTarget = void 0\n }\n }\n },\n\n mounted () {\n this.__configureScrollTarget()\n },\n\n beforeDestroy () {\n this.clearTimer !== void 0 && this.clearTimer()\n this.__unconfigureScrollTarget()\n }\n})\n","import Vue from 'vue'\n\nimport { onSSR } from '../../plugins/Platform.js'\n\nimport QScrollObserver from '../scroll-observer/QScrollObserver.js'\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { getScrollbarWidth } from '../../utils/scroll.js'\nimport { mergeSlot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QLayout',\n\n mixins: [ ListenersMixin ],\n\n provide () {\n return {\n layout: this\n }\n },\n\n props: {\n container: Boolean,\n view: {\n type: String,\n default: 'hhh lpr fff',\n validator: v => /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(v.toLowerCase())\n }\n },\n\n data () {\n return {\n // page related\n height: this.$q.screen.height,\n width: this.container === true ? 0 : this.$q.screen.width,\n\n // container only prop\n containerHeight: 0,\n scrollbarWidth: onSSR === true ? 0 : getScrollbarWidth(),\n\n header: {\n size: 0,\n offset: 0,\n space: false\n },\n right: {\n size: 300,\n offset: 0,\n space: false\n },\n footer: {\n size: 0,\n offset: 0,\n space: false\n },\n left: {\n size: 300,\n offset: 0,\n space: false\n },\n\n scroll: {\n position: 0,\n direction: 'down'\n }\n }\n },\n\n computed: {\n rows () {\n const rows = this.view.toLowerCase().split(' ')\n return {\n top: rows[0].split(''),\n middle: rows[1].split(''),\n bottom: rows[2].split('')\n }\n },\n\n style () {\n return this.container === true\n ? null\n : { minHeight: this.$q.screen.height + 'px' }\n },\n\n // used by container only\n targetStyle () {\n if (this.scrollbarWidth !== 0) {\n return { [this.$q.lang.rtl === true ? 'left' : 'right']: `${this.scrollbarWidth}px` }\n }\n },\n\n targetChildStyle () {\n if (this.scrollbarWidth !== 0) {\n return {\n [this.$q.lang.rtl === true ? 'right' : 'left']: 0,\n [this.$q.lang.rtl === true ? 'left' : 'right']: `-${this.scrollbarWidth}px`,\n width: `calc(100% + ${this.scrollbarWidth}px)`\n }\n }\n },\n\n totalWidth () {\n return this.width + this.scrollbarWidth\n },\n\n classes () {\n return 'q-layout q-layout--' +\n (this.container === true ? 'containerized' : 'standard')\n },\n\n scrollbarEvtAction () {\n return this.container !== true && this.scrollbarWidth > 0\n ? 'add' : 'remove'\n }\n },\n\n watch: {\n scrollbarEvtAction: '__updateScrollEvent'\n },\n\n created () {\n this.instances = {}\n },\n\n mounted () {\n this.scrollbarEvtAction === 'add' && this.__updateScrollEvent('add')\n },\n\n beforeDestroy () {\n this.scrollbarEvtAction === 'add' && this.__updateScrollEvent('remove')\n },\n\n render (h) {\n const layout = h('div', {\n class: this.classes,\n style: this.style,\n on: { ...this.qListeners }\n }, mergeSlot([\n h(QScrollObserver, {\n on: cache(this, 'scroll', { scroll: this.__onPageScroll })\n }),\n\n h(QResizeObserver, {\n on: cache(this, 'resizeOut', { resize: this.__onPageResize })\n })\n ], this, 'default'))\n\n return this.container === true\n ? h('div', {\n staticClass: 'q-layout-container overflow-hidden'\n }, [\n h(QResizeObserver, {\n on: cache(this, 'resizeIn', { resize: this.__onContainerResize })\n }),\n h('div', {\n staticClass: 'absolute-full',\n style: this.targetStyle\n }, [\n h('div', {\n staticClass: 'scroll',\n style: this.targetChildStyle\n }, [ layout ])\n ])\n ])\n : layout\n },\n\n methods: {\n __animate () {\n if (this.timer !== void 0) {\n clearTimeout(this.timer)\n }\n else {\n document.body.classList.add('q-body--layout-animate')\n }\n this.timer = setTimeout(() => {\n document.body.classList.remove('q-body--layout-animate')\n this.timer = void 0\n }, 150)\n },\n\n __onPageScroll (data) {\n if (this.container === true || document.qScrollPrevented !== true) {\n this.scroll = data\n }\n this.qListeners.scroll !== void 0 && this.$emit('scroll', data)\n },\n\n __onPageResize ({ height, width }) {\n let resized = false\n\n if (this.height !== height) {\n resized = true\n this.height = height\n if (this.qListeners['scroll-height'] !== void 0) {\n this.$emit('scroll-height', height)\n }\n this.__updateScrollbarWidth()\n }\n if (this.width !== width) {\n resized = true\n this.width = width\n }\n\n if (resized === true && this.qListeners.resize !== void 0) {\n this.$emit('resize', { height, width })\n }\n },\n\n __onContainerResize ({ height }) {\n if (this.containerHeight !== height) {\n this.containerHeight = height\n this.__updateScrollbarWidth()\n }\n },\n\n __updateScrollbarWidth () {\n if (this.container === true) {\n const width = this.height > this.containerHeight\n ? getScrollbarWidth()\n : 0\n\n if (this.scrollbarWidth !== width) {\n this.scrollbarWidth = width\n }\n }\n },\n\n __updateScrollEvent (action) {\n if (this.timerScrollbar !== void 0 && action === 'remove') {\n clearTimeout(this.timerScrollbar)\n this.__restoreScrollbar()\n }\n\n window[`${action}EventListener`]('resize', this.__hideScrollbar)\n },\n\n __hideScrollbar () {\n if (this.timerScrollbar === void 0) {\n const el = document.body\n\n // if it has no scrollbar then there's nothing to do\n if (el.scrollHeight > this.$q.screen.height) {\n return\n }\n\n el.classList.add('hide-scrollbar')\n }\n else {\n clearTimeout(this.timerScrollbar)\n }\n\n this.timerScrollbar = setTimeout(this.__restoreScrollbar, 200)\n },\n\n __restoreScrollbar () {\n this.timerScrollbar = void 0\n document.body.classList.remove('hide-scrollbar')\n }\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QMarkupTable',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n props: {\n dense: Boolean,\n flat: Boolean,\n bordered: Boolean,\n square: Boolean,\n separator: {\n type: String,\n default: 'horizontal',\n validator: v => ['horizontal', 'vertical', 'cell', 'none'].includes(v)\n },\n wrapCells: Boolean\n },\n\n computed: {\n classes () {\n return `q-table--${this.separator}-separator` +\n (this.isDark === true ? ` q-table--dark q-table__card--dark q-dark` : '') +\n (this.dense === true ? ` q-table--dense` : '') +\n (this.flat === true ? ` q-table--flat` : '') +\n (this.bordered === true ? ` q-table--bordered` : '') +\n (this.square === true ? ` q-table--square` : '') +\n (this.wrapCells === false ? ` q-table--no-wrap` : '')\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-markup-table q-table__container q-table__card',\n class: this.classes,\n on: { ...this.qListeners }\n }, [\n h('table', { staticClass: 'q-table' }, slot(this, 'default'))\n ])\n }\n})\n","import Vue from 'vue'\n\nimport CanRenderMixin from '../../mixins/can-render.js'\nimport TagMixin from '../../mixins/tag.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QNoSsr',\n\n mixins: [ CanRenderMixin, TagMixin, ListenersMixin ],\n\n props: {\n placeholder: String\n },\n\n render (h) {\n const data = {\n on: { ...this.qListeners }\n }\n\n if (this.canRender === true) {\n const node = slot(this, 'default')\n return node === void 0\n ? node\n : (node.length > 1 ? h(this.tag, data, node) : node[0])\n }\n\n data.staticClass = 'q-no-ssr-placeholder'\n\n const node = slot(this, 'placeholder')\n if (node !== void 0) {\n return node.length > 1\n ? h(this.tag, data, node)\n : node[0]\n }\n\n if (this.placeholder !== void 0) {\n return h(this.tag, data, [\n this.placeholder\n ])\n }\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport OptionSizeMixin from '../../mixins/option-size.js'\nimport FormMixin from '../../mixins/form.js'\nimport RefocusTargetMixin from '../../mixins/refocus-target.js'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { slot, mergeSlot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QRadio',\n\n mixins: [ DarkMixin, OptionSizeMixin, FormMixin, RefocusTargetMixin ],\n\n props: {\n value: {\n required: true\n },\n val: {\n required: true\n },\n\n label: String,\n leftLabel: Boolean,\n\n checkedIcon: String,\n uncheckedIcon: String,\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n disable: Boolean,\n tabindex: [String, Number]\n },\n\n computed: {\n isTrue () {\n return this.value === this.val\n },\n\n classes () {\n return 'q-radio cursor-pointer no-outline row inline no-wrap items-center' +\n (this.disable === true ? ' disabled' : '') +\n (this.isDark === true ? ' q-radio--dark' : '') +\n (this.dense === true ? ' q-radio--dense' : '') +\n (this.leftLabel === true ? ' reverse' : '')\n },\n\n innerClass () {\n const color = this.color !== void 0 && (\n this.keepColor === true ||\n this.isTrue === true\n )\n ? ` text-${this.color}`\n : ''\n\n return `q-radio__inner--${this.isTrue === true ? 'truthy' : 'falsy'}${color}`\n },\n\n computedIcon () {\n return this.isTrue === true\n ? this.checkedIcon\n : this.uncheckedIcon\n },\n\n computedTabindex () {\n return this.disable === true ? -1 : this.tabindex || 0\n },\n\n formAttrs () {\n const prop = { type: 'radio' }\n\n this.name !== void 0 && Object.assign(prop, {\n name: this.name,\n value: this.val\n })\n\n return prop\n },\n\n formDomProps () {\n if (this.name !== void 0 && this.isTrue === true) {\n return { checked: true }\n }\n },\n\n attrs () {\n const attrs = {\n tabindex: this.computedTabindex,\n role: 'radio',\n 'aria-label': this.label,\n 'aria-checked': this.isTrue === true ? 'true' : 'false'\n }\n\n if (this.disable === true) {\n attrs['aria-disabled'] = 'true'\n }\n\n return attrs\n }\n },\n\n methods: {\n set (e) {\n if (e !== void 0) {\n stopAndPrevent(e)\n this.__refocusTarget(e)\n }\n\n if (this.disable !== true && this.isTrue !== true) {\n this.$emit('input', this.val, e)\n }\n }\n },\n\n render (h) {\n const content = this.computedIcon !== void 0\n ? [\n h('div', {\n key: 'icon',\n staticClass: 'q-radio__icon-container absolute flex flex-center no-wrap'\n }, [\n h(QIcon, {\n staticClass: 'q-radio__icon',\n props: { name: this.computedIcon }\n })\n ])\n ]\n : [\n h('svg', {\n key: 'svg',\n staticClass: 'q-radio__bg absolute non-selectable',\n attrs: { focusable: 'false' /* needed for IE11 */, viewBox: '0 0 24 24', 'aria-hidden': 'true' }\n }, [\n h('path', {\n attrs: {\n d: 'M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12'\n }\n }),\n\n h('path', {\n staticClass: 'q-radio__check',\n attrs: {\n d: 'M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6'\n }\n })\n ])\n ]\n\n this.disable !== true && this.__injectFormInput(\n content,\n 'unshift',\n 'q-radio__native q-ma-none q-pa-none'\n )\n\n const child = [\n h('div', {\n staticClass: 'q-radio__inner relative-position',\n class: this.innerClass,\n style: this.sizeStyle\n }, content)\n ]\n\n if (this.__refocusTargetEl !== void 0) {\n child.push(this.__refocusTargetEl)\n }\n\n const label = this.label !== void 0\n ? mergeSlot([ this.label ], this, 'default')\n : slot(this, 'default')\n\n label !== void 0 && child.push(\n h('div', {\n staticClass: 'q-radio__label q-anchor--skip'\n }, label)\n )\n\n return h('div', {\n class: this.classes,\n attrs: this.attrs,\n on: cache(this, 'inpExt', {\n click: this.set,\n keydown: e => {\n if (e.keyCode === 13 || e.keyCode === 32) {\n stopAndPrevent(e)\n }\n },\n keyup: e => {\n if (e.keyCode === 13 || e.keyCode === 32) {\n this.set(e)\n }\n }\n })\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport CheckboxMixin from '../../mixins/checkbox.js'\n\nexport default Vue.extend({\n name: 'QToggle',\n\n mixins: [ CheckboxMixin ],\n\n props: {\n icon: String,\n\n iconColor: String\n },\n\n computed: {\n computedIcon () {\n return (\n this.isTrue === true\n ? this.checkedIcon\n : (this.isIndeterminate === true ? this.indeterminateIcon : this.uncheckedIcon)\n ) || this.icon\n },\n\n computedIconColor () {\n if (this.isTrue === true) {\n return this.iconColor\n }\n }\n },\n\n methods: {\n __getInner (h) {\n return [\n h('div', { staticClass: 'q-toggle__track' }),\n\n h('div', {\n staticClass: 'q-toggle__thumb absolute flex flex-center no-wrap'\n }, this.computedIcon !== void 0\n ? [\n h(QIcon, {\n props: {\n name: this.computedIcon,\n color: this.computedIconColor\n }\n })\n ]\n : void 0\n )\n ]\n }\n },\n\n created () {\n this.type = 'toggle'\n }\n})\n","import Vue from 'vue'\n\nimport QRadio from '../radio/QRadio.js'\nimport QCheckbox from '../checkbox/QCheckbox.js'\nimport QToggle from '../toggle/QToggle.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport cache from '../../utils/cache.js'\n\nconst components = {\n radio: QRadio,\n checkbox: QCheckbox,\n toggle: QToggle\n}\n\nconst typeValues = Object.keys(components)\n\nexport default Vue.extend({\n name: 'QOptionGroup',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n props: {\n value: {\n required: true\n },\n options: {\n type: Array,\n validator (opts) {\n return opts.every(opt => 'value' in opt && 'label' in opt)\n }\n },\n\n name: String,\n\n type: {\n default: 'radio',\n validator: v => typeValues.includes(v)\n },\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n size: String,\n\n leftLabel: Boolean,\n inline: Boolean,\n disable: Boolean\n },\n\n computed: {\n component () {\n return components[this.type]\n },\n\n model () {\n return Array.isArray(this.value)\n ? this.value.slice()\n : this.value\n },\n\n classes () {\n return 'q-option-group q-gutter-x-sm' +\n (this.inline === true ? ' q-option-group--inline' : '')\n },\n\n attrs () {\n if (this.type === 'radio') {\n const attrs = {\n role: 'radiogroup'\n }\n\n if (this.disable === true) {\n attrs['aria-disabled'] = 'true'\n }\n\n return attrs\n }\n }\n },\n\n methods: {\n __update (value) {\n this.$emit('input', value)\n }\n },\n\n created () {\n const isArray = Array.isArray(this.value)\n\n if (this.type === 'radio') {\n if (isArray) {\n console.error('q-option-group: model should not be array')\n }\n }\n else if (isArray === false) {\n console.error('q-option-group: model should be array in your case')\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, this.options.map((opt, i) => {\n const child = this.$scopedSlots[ 'label-' + i ] !== void 0\n ? this.$scopedSlots[ 'label-' + i ](opt)\n : (\n this.$scopedSlots.label !== void 0\n ? this.$scopedSlots.label(opt)\n : void 0\n )\n\n return h('div', [\n h(this.component, {\n props: {\n value: this.value,\n val: opt.value,\n name: opt.name === void 0 ? this.name : opt.name,\n disable: this.disable || opt.disable,\n label: child === void 0 ? opt.label : void 0,\n leftLabel: opt.leftLabel === void 0 ? this.leftLabel : opt.leftLabel,\n color: opt.color === void 0 ? this.color : opt.color,\n checkedIcon: opt.checkedIcon,\n uncheckedIcon: opt.uncheckedIcon,\n dark: opt.dark || this.isDark,\n size: opt.size === void 0 ? this.size : opt.size,\n dense: this.dense,\n keepColor: opt.keepColor === void 0 ? this.keepColor : opt.keepColor\n },\n on: cache(this, 'inp', {\n input: this.__update\n })\n }, child)\n ])\n }))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QPage',\n\n mixins: [ ListenersMixin ],\n\n inject: {\n pageContainer: {\n default () {\n console.error('QPage needs to be child of QPageContainer')\n }\n },\n layout: {}\n },\n\n props: {\n padding: Boolean,\n styleFn: Function\n },\n\n computed: {\n style () {\n const offset =\n (this.layout.header.space === true ? this.layout.header.size : 0) +\n (this.layout.footer.space === true ? this.layout.footer.size : 0)\n\n if (typeof this.styleFn === 'function') {\n const height = this.layout.container === true\n ? this.layout.containerHeight\n : this.$q.screen.height\n\n return this.styleFn(offset, height)\n }\n\n return {\n minHeight: this.layout.container === true\n ? (this.layout.containerHeight - offset) + 'px'\n : (\n this.$q.screen.height === 0\n ? `calc(100vh - ${offset}px)`\n : (this.$q.screen.height - offset) + 'px'\n )\n }\n },\n\n classes () {\n if (this.padding === true) {\n return 'q-layout-padding'\n }\n }\n },\n\n render (h) {\n return h('main', {\n staticClass: 'q-page',\n style: this.style,\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QPageContainer',\n\n mixins: [ ListenersMixin ],\n\n inject: {\n layout: {\n default () {\n console.error('QPageContainer needs to be child of QLayout')\n }\n }\n },\n\n provide: {\n pageContainer: true\n },\n\n computed: {\n style () {\n const css = {}\n\n if (this.layout.header.space === true) {\n css.paddingTop = `${this.layout.header.size}px`\n }\n if (this.layout.right.space === true) {\n css[`padding${this.$q.lang.rtl === true ? 'Left' : 'Right'}`] = `${this.layout.right.size}px`\n }\n if (this.layout.footer.space === true) {\n css.paddingBottom = `${this.layout.footer.size}px`\n }\n if (this.layout.left.space === true) {\n css[`padding${this.$q.lang.rtl === true ? 'Right' : 'Left'}`] = `${this.layout.left.size}px`\n }\n\n return css\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-page-container',\n style: this.style,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QPageSticky',\n\n mixins: [ ListenersMixin ],\n\n inject: {\n layout: {\n default () {\n console.error('QPageSticky needs to be child of QLayout')\n }\n }\n },\n\n props: {\n position: {\n type: String,\n default: 'bottom-right',\n validator: v => [\n 'top-right', 'top-left',\n 'bottom-right', 'bottom-left',\n 'top', 'right', 'bottom', 'left'\n ].includes(v)\n },\n offset: {\n type: Array,\n validator: v => v.length === 2\n },\n expand: Boolean\n },\n\n computed: {\n attach () {\n const pos = this.position\n\n return {\n top: pos.indexOf('top') > -1,\n right: pos.indexOf('right') > -1,\n bottom: pos.indexOf('bottom') > -1,\n left: pos.indexOf('left') > -1,\n vertical: pos === 'top' || pos === 'bottom',\n horizontal: pos === 'left' || pos === 'right'\n }\n },\n\n top () {\n return this.layout.header.offset\n },\n\n right () {\n return this.layout.right.offset\n },\n\n bottom () {\n return this.layout.footer.offset\n },\n\n left () {\n return this.layout.left.offset\n },\n\n style () {\n let\n posX = 0,\n posY = 0\n\n const\n attach = this.attach,\n dir = this.$q.lang.rtl === true ? -1 : 1\n\n if (attach.top === true && this.top !== 0) {\n posY = `${this.top}px`\n }\n else if (attach.bottom === true && this.bottom !== 0) {\n posY = `${-this.bottom}px`\n }\n\n if (attach.left === true && this.left !== 0) {\n posX = `${dir * this.left}px`\n }\n else if (attach.right === true && this.right !== 0) {\n posX = `${-dir * this.right}px`\n }\n\n const css = { transform: `translate(${posX}, ${posY})` }\n\n if (this.offset) {\n css.margin = `${this.offset[1]}px ${this.offset[0]}px`\n }\n\n if (attach.vertical === true) {\n if (this.left !== 0) {\n css[this.$q.lang.rtl === true ? 'right' : 'left'] = `${this.left}px`\n }\n if (this.right !== 0) {\n css[this.$q.lang.rtl === true ? 'left' : 'right'] = `${this.right}px`\n }\n }\n else if (attach.horizontal === true) {\n if (this.top !== 0) {\n css.top = `${this.top}px`\n }\n if (this.bottom !== 0) {\n css.bottom = `${this.bottom}px`\n }\n }\n\n return css\n },\n\n classes () {\n return `fixed-${this.position} q-page-sticky--${this.expand === true ? 'expand' : 'shrink'}`\n }\n },\n\n render (h) {\n const content = slot(this, 'default')\n\n return h('div', {\n staticClass: 'q-page-sticky row flex-center',\n class: this.classes,\n style: this.style,\n on: { ...this.qListeners }\n },\n this.expand === true\n ? content\n : [ h('div', content) ]\n )\n }\n})\n","import Vue from 'vue'\n\nimport QPageSticky from '../page-sticky/QPageSticky.js'\nimport { getScrollTarget, setScrollPosition } from '../../utils/scroll.js'\n\nexport default Vue.extend({\n name: 'QPageScroller',\n\n mixins: [ QPageSticky ],\n\n props: {\n scrollOffset: {\n type: Number,\n default: 1000\n },\n\n reverse: Boolean,\n\n duration: {\n type: Number,\n default: 300\n },\n\n offset: {\n default: () => [18, 18]\n }\n },\n\n inject: {\n layout: {\n default () {\n console.error('QPageScroller needs to be used within a QLayout')\n }\n }\n },\n\n data () {\n return {\n showing: this.__isVisible()\n }\n },\n\n computed: {\n scrollHeight () {\n return this.layout.height - (\n this.layout.container === true\n ? this.layout.containerHeight\n : this.$q.screen.height\n )\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n click: this.__onClick\n }\n }\n },\n\n watch: {\n 'layout.scroll.position' () {\n this.__updateVisibility()\n },\n\n reverse: {\n handler (val) {\n if (val === true) {\n if (this.heightWatcher === void 0) {\n this.heightWatcher = this.$watch('scrollHeight', this.__updateVisibility)\n }\n }\n else if (this.heightWatcher !== void 0) {\n this.__cleanup()\n }\n },\n immediate: true\n }\n },\n\n methods: {\n __isVisible () {\n return this.reverse === true\n ? this.scrollHeight - this.layout.scroll.position > this.scrollOffset\n : this.layout.scroll.position > this.scrollOffset\n },\n\n __onClick (e) {\n const target = getScrollTarget(this.layout.container === true ? this.$el : this.layout.$el)\n setScrollPosition(target, this.reverse === true ? this.layout.height : 0, this.duration)\n this.$emit('click', e)\n },\n\n __updateVisibility () {\n const newVal = this.__isVisible()\n if (this.showing !== newVal) {\n this.showing = newVal\n }\n },\n\n __cleanup () {\n this.heightWatcher()\n this.heightWatcher = void 0\n }\n },\n\n render (h) {\n return h('transition', {\n props: { name: 'q-transition--fade' }\n },\n this.showing === true\n ? [\n h('div', {\n staticClass: 'q-page-scroller',\n on: this.onEvents\n }, [\n QPageSticky.options.render.call(this, h)\n ])\n ]\n : null\n )\n },\n\n beforeDestroy () {\n this.heightWatcher !== void 0 && this.__cleanup()\n }\n})\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport QInput from '../input/QInput.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stop } from '../../utils/event.js'\nimport { between } from '../../utils/format.js'\nimport { isKeyCode } from '../../utils/key-composition.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QPagination',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n props: {\n value: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n default: 1\n },\n max: {\n type: Number,\n required: true\n },\n\n color: {\n type: String,\n default: 'primary'\n },\n textColor: String,\n\n activeColor: String,\n activeTextColor: String,\n\n inputStyle: [Array, String, Object],\n inputClass: [Array, String, Object],\n\n size: String,\n\n disable: Boolean,\n\n input: Boolean,\n\n iconPrev: String,\n iconNext: String,\n iconFirst: String,\n iconLast: String,\n\n toFn: Function,\n\n boundaryLinks: {\n type: Boolean,\n default: null\n },\n boundaryNumbers: {\n type: Boolean,\n default: null\n },\n directionLinks: {\n type: Boolean,\n default: null\n },\n ellipses: {\n type: Boolean,\n default: null\n },\n maxPages: {\n type: Number,\n default: 0,\n validator: v => v >= 0\n },\n\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n\n round: Boolean,\n rounded: Boolean,\n\n flat: Boolean,\n outline: Boolean,\n unelevated: Boolean,\n push: Boolean,\n glossy: Boolean,\n\n dense: Boolean,\n padding: {\n type: String,\n default: '3px 2px'\n }\n },\n\n data () {\n return {\n newPage: null\n }\n },\n\n watch: {\n min () {\n this.model = this.value\n },\n\n max () {\n this.model = this.value\n }\n },\n\n computed: {\n model: {\n get () {\n return this.value\n },\n set (val) {\n val = parseInt(val, 10)\n if (this.disable || isNaN(val)) {\n return\n }\n const value = between(val, this.min, this.max)\n this.$emit('input', value)\n }\n },\n\n inputPlaceholder () {\n return this.model + ' / ' + this.max\n },\n\n __boundaryLinks () {\n return this.__getBool(this.boundaryLinks, this.input)\n },\n\n __boundaryNumbers () {\n return this.__getBool(this.boundaryNumbers, !this.input)\n },\n\n __directionLinks () {\n return this.__getBool(this.directionLinks, this.input)\n },\n\n __ellipses () {\n return this.__getBool(this.ellipses, !this.input)\n },\n\n icons () {\n const ico = [\n this.iconFirst || this.$q.iconSet.pagination.first,\n this.iconPrev || this.$q.iconSet.pagination.prev,\n this.iconNext || this.$q.iconSet.pagination.next,\n this.iconLast || this.$q.iconSet.pagination.last\n ]\n return this.$q.lang.rtl === true ? ico.reverse() : ico\n },\n\n attrs () {\n if (this.disable === true) {\n return {\n 'aria-disabled': 'true'\n }\n }\n },\n\n btnProps () {\n return {\n round: this.round,\n rounded: this.rounded,\n\n outline: this.outline,\n unelevated: this.unelevated,\n push: this.push,\n glossy: this.glossy,\n\n dense: this.dense,\n padding: this.padding,\n\n color: this.color,\n flat: true,\n size: this.size,\n ripple: this.ripple !== null\n ? this.ripple\n : true\n }\n },\n\n activeBtnProps () {\n return {\n flat: this.flat,\n color: this.activeColor || this.color,\n textColor: this.activeTextColor || this.textColor\n }\n }\n },\n\n methods: {\n set (value) {\n this.model = value\n },\n\n setByOffset (offset) {\n this.model = this.model + offset\n },\n\n __update () {\n this.model = this.newPage\n this.newPage = null\n },\n\n __getBool (val, otherwise) {\n return [true, false].includes(val)\n ? val\n : otherwise\n },\n\n __getBtn (h, data, props, page) {\n data.props = {\n ...this.btnProps,\n ...props\n }\n\n if (page !== void 0) {\n if (this.toFn !== void 0) {\n data.props.to = this.toFn(page)\n }\n else {\n data.on = { click: () => this.set(page) }\n }\n }\n\n return h(QBtn, data)\n }\n },\n\n render (h) {\n const\n contentStart = [],\n contentEnd = [],\n contentMiddle = []\n\n if (this.__boundaryLinks) {\n contentStart.push(this.__getBtn(h, {\n key: 'bls'\n }, {\n disable: this.disable || this.value <= this.min,\n icon: this.icons[0]\n }, this.min))\n contentEnd.unshift(this.__getBtn(h, {\n key: 'ble'\n }, {\n disable: this.disable || this.value >= this.max,\n icon: this.icons[3]\n }, this.max))\n }\n\n if (this.__directionLinks) {\n contentStart.push(this.__getBtn(h, {\n key: 'bdp'\n }, {\n disable: this.disable || this.value <= this.min,\n icon: this.icons[1]\n }, this.value - 1))\n contentEnd.unshift(this.__getBtn(h, {\n key: 'bdn'\n }, {\n disable: this.disable || this.value >= this.max,\n icon: this.icons[2]\n }, this.value + 1))\n }\n\n if (this.input === true) {\n contentMiddle.push(h(QInput, {\n staticClass: 'inline',\n style: {\n width: `${this.inputPlaceholder.length / 1.5}em`\n },\n props: {\n type: 'number',\n dense: true,\n value: this.newPage,\n disable: this.disable,\n dark: this.isDark,\n borderless: true,\n inputClass: this.inputClass,\n inputStyle: this.inputStyle\n },\n attrs: {\n placeholder: this.inputPlaceholder,\n min: this.min,\n max: this.max\n },\n on: cache(this, 'inp', {\n input: value => { this.newPage = value },\n keyup: e => { isKeyCode(e, 13) === true && this.__update() },\n blur: this.__update\n })\n }))\n }\n else { // is type select\n let\n maxPages = Math.max(\n this.maxPages,\n 1 + (this.__ellipses ? 2 : 0) + (this.__boundaryNumbers ? 2 : 0)\n ),\n pgFrom = this.min,\n pgTo = this.max,\n ellipsesStart = false,\n ellipsesEnd = false,\n boundaryStart = false,\n boundaryEnd = false\n\n if (this.maxPages && maxPages < (this.max - this.min + 1)) {\n maxPages = 1 + Math.floor(maxPages / 2) * 2\n pgFrom = Math.max(this.min, Math.min(this.max - maxPages + 1, this.value - Math.floor(maxPages / 2)))\n pgTo = Math.min(this.max, pgFrom + maxPages - 1)\n if (this.__boundaryNumbers) {\n boundaryStart = true\n pgFrom += 1\n }\n if (this.__ellipses && pgFrom > (this.min + (this.__boundaryNumbers ? 1 : 0))) {\n ellipsesStart = true\n pgFrom += 1\n }\n if (this.__boundaryNumbers) {\n boundaryEnd = true\n pgTo -= 1\n }\n if (this.__ellipses && pgTo < (this.max - (this.__boundaryNumbers ? 1 : 0))) {\n ellipsesEnd = true\n pgTo -= 1\n }\n }\n const style = {\n minWidth: `${Math.max(2, String(this.max).length)}em`\n }\n if (boundaryStart) {\n const active = this.min === this.value\n const btn = {\n disable: this.disable,\n flat: !active,\n label: this.min\n }\n\n if (active) {\n btn.color = this.activeColor || this.color\n btn.textColor = this.activeTextColor || this.textColor\n }\n\n contentStart.push(this.__getBtn(h, {\n key: 'bns',\n style\n }, btn, this.min))\n }\n if (boundaryEnd) {\n const active = this.max === this.value\n const btn = {\n disable: this.disable,\n flat: !active,\n label: this.max\n }\n\n if (active) {\n btn.color = this.activeColor || this.color\n btn.textColor = this.activeTextColor || this.textColor\n }\n\n contentEnd.unshift(this.__getBtn(h, {\n key: 'bne',\n style\n }, btn, this.max))\n }\n if (ellipsesStart) {\n contentStart.push(this.__getBtn(h, {\n key: 'bes',\n style\n }, {\n disable: this.disable,\n label: '…',\n ripple: false\n }, pgFrom - 1))\n }\n if (ellipsesEnd) {\n contentEnd.unshift(this.__getBtn(h, {\n key: 'bee',\n style\n }, {\n disable: this.disable,\n label: '…',\n ripple: false\n }, pgTo + 1))\n }\n for (let i = pgFrom; i <= pgTo; i++) {\n const btn = {\n disable: this.disable,\n flat: true,\n label: i\n }\n\n if (i === this.value) {\n Object.assign(btn, this.activeBtnProps)\n }\n\n contentMiddle.push(this.__getBtn(h, {\n key: `bpg${i}`,\n style\n }, btn, i))\n }\n }\n\n return h('div', {\n staticClass: 'q-pagination row no-wrap items-center',\n class: { disabled: this.disable },\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, [\n contentStart,\n\n h('div', {\n staticClass: 'row justify-center',\n on: this.input === true\n ? cache(this, 'stop', { input: stop })\n : null\n }, [\n contentMiddle\n ]),\n\n contentEnd\n ])\n }\n})\n","export default function (fn) {\n let wait = false, frame, callArgs\n\n function debounced (/* ...args */) {\n callArgs = arguments\n if (wait === true) { return }\n\n wait = true\n frame = requestAnimationFrame(() => {\n fn.apply(this, callArgs)\n callArgs = void 0\n wait = false\n })\n }\n\n debounced.cancel = () => {\n window.cancelAnimationFrame(frame)\n wait = false\n }\n\n return debounced\n}\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { height, offset } from '../../utils/dom.js'\nimport frameDebounce from '../../utils/frame-debounce.js'\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { slot } from '../../utils/slot.js'\nimport { listenOpts } from '../../utils/event.js'\n\nconst { passive } = listenOpts\n\nexport default Vue.extend({\n name: 'QParallax',\n\n mixins: [ ListenersMixin ],\n\n props: {\n src: String,\n height: {\n type: Number,\n default: 500\n },\n speed: {\n type: Number,\n default: 1,\n validator: v => v >= 0 && v <= 1\n },\n\n scrollTarget: {\n default: void 0\n }\n },\n\n data () {\n return {\n scrolling: false,\n percentScrolled: 0\n }\n },\n\n watch: {\n height () {\n this.working === true && this.__updatePos()\n },\n\n scrollTarget () {\n if (this.working === true) {\n this.__stop()\n this.__start()\n }\n }\n },\n\n methods: {\n __update (percentage) {\n this.percentScrolled = percentage\n this.qListeners.scroll !== void 0 && this.$emit('scroll', percentage)\n },\n\n __updatePos () {\n let containerTop, containerHeight, containerBottom\n\n if (this.__scrollTarget === window) {\n containerTop = 0\n containerHeight = window.innerHeight\n containerBottom = containerHeight\n }\n else {\n containerTop = offset(this.__scrollTarget).top\n containerHeight = height(this.__scrollTarget)\n containerBottom = containerTop + containerHeight\n }\n\n const top = offset(this.$el).top\n const bottom = top + this.height\n\n if (this.observer !== void 0 || (bottom > containerTop && top < containerBottom)) {\n const percent = (containerBottom - top) / (this.height + containerHeight)\n this.__setPos((this.mediaHeight - this.height) * percent * this.speed)\n this.__update(percent)\n }\n },\n\n __setPos (offset) {\n // apply it immediately without any delay\n this.media.style.transform = `translate3d(-50%,${Math.round(offset)}px,0)`\n },\n\n __onResize () {\n this.mediaHeight = this.media.naturalHeight || this.media.videoHeight || height(this.media)\n this.working === true && this.__updatePos()\n },\n\n __start () {\n this.working = true\n this.__scrollTarget = getScrollTarget(this.$el, this.scrollTarget)\n this.__scrollTarget.addEventListener('scroll', this.__updatePos, passive)\n window.addEventListener('resize', this.__resizeHandler, passive)\n this.__updatePos()\n },\n\n __stop () {\n if (this.working === true) {\n this.working = false\n this.__setPos.cancel()\n this.__update.cancel()\n this.__resizeHandler.cancel()\n this.__scrollTarget.removeEventListener('scroll', this.__updatePos, passive)\n window.removeEventListener('resize', this.__resizeHandler, passive)\n this.__scrollTarget = void 0\n }\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-parallax',\n style: { height: `${this.height}px` },\n on: { ...this.qListeners }\n }, [\n h('div', {\n ref: 'mediaParent',\n staticClass: 'q-parallax__media absolute-full'\n }, this.$scopedSlots.media !== void 0 ? this.$scopedSlots.media() : [\n h('img', {\n ref: 'media',\n attrs: {\n src: this.src\n }\n })\n ]),\n\n h(\n 'div',\n { staticClass: 'q-parallax__content absolute-full column flex-center' },\n this.$scopedSlots.content !== void 0\n ? this.$scopedSlots.content({ percentScrolled: this.percentScrolled })\n : slot(this, 'default')\n )\n ])\n },\n\n mounted () {\n this.__setPos = frameDebounce(this.__setPos)\n this.__update = frameDebounce(this.__update)\n this.__resizeHandler = frameDebounce(this.__onResize)\n\n this.media = this.$scopedSlots.media !== void 0\n ? this.$refs.mediaParent.children[0]\n : this.$refs.media\n\n this.media.onload = this.media.onloadstart = this.media.loadedmetadata = this.__onResize\n this.__onResize()\n this.media.style.display = 'initial'\n\n if (window.IntersectionObserver !== void 0) {\n this.observer = new IntersectionObserver(entries => {\n this[entries[0].isIntersecting === true ? '__start' : '__stop']()\n })\n\n this.observer.observe(this.$el)\n }\n else {\n this.__start()\n }\n },\n\n beforeDestroy () {\n this.__stop()\n this.observer !== void 0 && this.observer.disconnect()\n this.media.onload = this.media.onloadstart = this.media.loadedmetadata = null\n }\n})\n","// adapted from https://stackoverflow.com/a/40294058\n\nexport default function cloneDeep (data, hash = new WeakMap()) {\n if (Object(data) !== data) return data\n if (hash.has(data)) return hash.get(data)\n\n const result = data instanceof Date\n ? new Date(data)\n : (data instanceof RegExp\n ? new RegExp(data.source, data.flags)\n : (data instanceof Set\n ? new Set()\n : (data instanceof Map\n ? new Map()\n : (typeof data.constructor !== 'function'\n ? Object.create(null)\n : (data.prototype !== void 0 && typeof data.prototype.constructor === 'function'\n ? data\n : new data.constructor()\n )\n )\n )\n )\n )\n\n if (typeof data.constructor === 'function' && typeof data.valueOf === 'function') {\n const val = data.valueOf()\n\n if (Object(val) !== val) {\n const result = new data.constructor(val)\n\n hash.set(data, result)\n\n return result\n }\n }\n\n hash.set(data, result)\n\n if (data instanceof Set) {\n data.forEach(val => {\n result.add(cloneDeep(val, hash))\n })\n }\n else if (data instanceof Map) {\n data.forEach((val, key) => {\n result.set(key, cloneDeep(val, hash))\n })\n }\n\n return Object.assign(\n result,\n ...Object.keys(data).map(key => ({ [key]: cloneDeep(data[key], hash) }))\n )\n}\n","import Vue from 'vue'\n\nimport QMenu from '../menu/QMenu.js'\nimport QBtn from '../btn/QBtn.js'\n\nimport AttrsMixin from '../../mixins/attrs.js'\n\nimport clone from '../../utils/clone.js'\nimport { isDeepEqual } from '../../utils/is.js'\nimport { slot } from '../../utils/slot.js'\nimport { isKeyCode } from '../../utils/key-composition.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QPopupEdit',\n\n mixins: [ AttrsMixin ],\n\n props: {\n value: {\n required: true\n },\n title: String,\n buttons: Boolean,\n labelSet: String,\n labelCancel: String,\n\n color: {\n type: String,\n default: 'primary'\n },\n validate: {\n type: Function,\n default: () => true\n },\n\n autoSave: Boolean,\n\n /* menu props overrides */\n cover: {\n type: Boolean,\n default: true\n },\n contentClass: String,\n /* end of menu props */\n\n disable: Boolean\n },\n\n data () {\n return {\n modelChanged: false,\n model: null\n }\n },\n\n computed: {\n classes () {\n return 'q-popup-edit' +\n (this.contentClass !== void 0 ? ` ${this.contentClass}` : '')\n },\n\n modelValue () {\n return this.modelChanged === true ? this.model : this.value\n },\n\n initialValue () {\n return this.modelChanged !== true ? this.model : this.value\n },\n\n defaultSlotScope () {\n const acc = {\n initialValue: this.initialValue,\n updatePosition: this.__reposition,\n emitValue: this.__changeModel,\n validate: this.validate,\n set: this.set,\n cancel: this.cancel\n }\n\n Object.defineProperty(acc, 'value', {\n get: () => this.modelValue,\n set: this.__changeModel\n })\n\n return acc\n },\n\n menuProps () {\n return {\n ...this.qAttrs,\n cover: this.cover,\n contentClass: this.classes\n }\n }\n },\n\n methods: {\n set () {\n if (this.validate(this.modelValue) !== true) {\n return\n }\n if (this.__hasChanged() === true) {\n this.$emit('save', this.modelValue, this.initialValue)\n this.modelChanged === true && this.$emit('input', this.modelValue)\n }\n this.__close()\n },\n\n cancel () {\n if (this.__hasChanged() === true) {\n this.$emit('cancel', this.modelValue, this.initialValue)\n this.modelChanged !== true && this.$emit('input', this.initialValue)\n }\n this.__close()\n },\n\n show (e) {\n this.$refs.menu !== void 0 && this.$refs.menu.show(e)\n },\n\n hide (e) {\n this.$refs.menu !== void 0 && this.$refs.menu.hide(e)\n },\n\n __hasChanged () {\n return isDeepEqual(this.modelValue, this.initialValue) === false\n },\n\n __changeModel (val) {\n if (this.disable !== true) {\n this.model = val\n this.modelChanged = true\n }\n },\n\n __close () {\n this.validated = true\n this.$refs.menu.showing === true && this.$refs.menu.hide()\n },\n\n __reposition () {\n this.$nextTick(() => {\n this.$refs.menu.updatePosition()\n })\n },\n\n __getContent (h) {\n const\n title = slot(this, 'title', this.title),\n child = this.$scopedSlots.default === void 0\n ? []\n : [].concat(this.$scopedSlots.default(this.defaultSlotScope))\n\n title && child.unshift(\n h('div', { staticClass: 'q-dialog__title q-mt-sm q-mb-sm' }, [ title ])\n )\n\n this.buttons === true && child.push(\n h('div', { staticClass: 'q-popup-edit__buttons row justify-center no-wrap' }, [\n h(QBtn, {\n props: {\n flat: true,\n color: this.color,\n label: this.labelCancel || this.$q.lang.label.cancel\n },\n on: cache(this, 'cancel', { click: this.cancel })\n }),\n h(QBtn, {\n props: {\n flat: true,\n color: this.color,\n label: this.labelSet || this.$q.lang.label.set\n },\n on: cache(this, 'ok', { click: this.set })\n })\n ])\n )\n\n return child\n }\n },\n\n render (h) {\n if (this.disable === true) { return }\n\n return h(QMenu, {\n ref: 'menu',\n props: this.menuProps,\n on: cache(this, 'menu', {\n 'before-show': () => {\n this.validated = false\n this.modelChanged = false\n this.model = clone(this.value)\n this.watcher = this.$watch('value', this.__reposition)\n this.$emit('before-show')\n },\n\n show: () => {\n this.$emit('show')\n },\n\n 'escape-key': this.cancel,\n\n 'before-hide': () => {\n this.watcher()\n\n if (this.validated === false && this.__hasChanged() === true) {\n if (this.autoSave === true && this.validate(this.model) === true) {\n this.$emit('save', this.modelValue, this.initialValue)\n this.modelChanged === true && this.$emit('input', this.modelValue)\n }\n else {\n this.$emit('cancel', this.modelValue, this.initialValue)\n this.modelChanged !== true && this.$emit('input', this.initialValue)\n }\n }\n\n this.$emit('before-hide')\n },\n\n hide: () => {\n this.$emit('hide')\n },\n\n keyup: e => {\n isKeyCode(e, 13) === true && this.set()\n }\n })\n }, this.__getContent(h))\n }\n})\n","import Vue from 'vue'\n\nimport QDialog from '../dialog/QDialog.js'\nimport QMenu from '../menu/QMenu.js'\n\nimport AnchorMixin from '../../mixins/anchor.js'\nimport { slot } from '../../utils/slot.js'\nimport AttrsMixin from '../../mixins/attrs.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default Vue.extend({\n name: 'QPopupProxy',\n\n mixins: [ AttrsMixin, ListenersMixin, AnchorMixin ],\n\n props: {\n breakpoint: {\n type: [String, Number],\n default: 450\n }\n },\n\n data () {\n const breakpoint = parseInt(this.breakpoint, 10)\n return {\n type: this.$q.screen.width < breakpoint || this.$q.screen.height < breakpoint\n ? 'dialog'\n : 'menu'\n }\n },\n\n computed: {\n parsedBreakpoint () {\n return parseInt(this.breakpoint, 10)\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n hide: this.__onHide\n }\n }\n },\n\n watch: {\n '$q.screen.width' (width) {\n if (this.$refs.popup.showing !== true) {\n this.__updateType(width, this.$q.screen.height, this.parsedBreakpoint)\n }\n },\n\n '$q.screen.height' (height) {\n if (this.$refs.popup.showing !== true) {\n this.__updateType(this.$q.screen.width, height, this.parsedBreakpoint)\n }\n },\n\n breakpoint (breakpoint) {\n if (this.$refs.popup.showing !== true) {\n this.__updateType(this.$q.screen.width, this.$q.screen.height, parseInt(breakpoint, 10))\n }\n }\n },\n\n methods: {\n toggle (evt) {\n this.$refs.popup.toggle(evt)\n },\n\n show (evt) {\n this.$refs.popup.show(evt)\n },\n\n hide (evt) {\n this.$refs.popup.hide(evt)\n },\n\n __onHide (evt) {\n this.__updateType(this.$q.screen.width, this.$q.screen.height, this.parsedBreakpoint)\n this.$emit('hide', evt)\n },\n\n __updateType (width, height, breakpoint) {\n const type = width < breakpoint || height < breakpoint\n ? 'dialog'\n : 'menu'\n\n if (this.type !== type) {\n this.type = type\n }\n }\n },\n\n render (h) {\n const def = slot(this, 'default')\n\n const props = (\n this.type === 'menu' &&\n def !== void 0 &&\n def[0] !== void 0 &&\n def[0].componentOptions !== void 0 &&\n def[0].componentOptions.Ctor !== void 0 &&\n def[0].componentOptions.Ctor.sealedOptions !== void 0 &&\n ['QDate', 'QTime', 'QCarousel', 'QColor'].includes(\n def[0].componentOptions.Ctor.sealedOptions.name\n )\n ) ? { cover: true, maxHeight: '99vh' } : {}\n\n const data = {\n ref: 'popup',\n props: { ...props, ...this.qAttrs },\n on: this.onEvents\n }\n\n let component\n\n if (this.type === 'dialog') {\n component = QDialog\n }\n else {\n component = QMenu\n data.props.target = this.target\n data.props.contextMenu = this.contextMenu\n data.props.noParentEvent = true\n data.props.separateClosePopup = true\n }\n\n return h(component, data, def)\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport { getSizeMixin } from '../../mixins/size.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { mergeSlot } from '../../utils/slot.js'\n\nfunction width (val, reverse, $q) {\n return {\n transform: reverse === true\n ? `translateX(${$q.lang.rtl === true ? '-' : ''}100%) scale3d(${-val},1,1)`\n : `scale3d(${val},1,1)`\n }\n}\n\nexport default Vue.extend({\n name: 'QLinearProgress',\n\n mixins: [\n ListenersMixin,\n DarkMixin,\n getSizeMixin({\n xs: 2,\n sm: 4,\n md: 6,\n lg: 10,\n xl: 14\n })\n ],\n\n props: {\n value: {\n type: Number,\n default: 0\n },\n buffer: Number,\n\n color: String,\n trackColor: String,\n\n reverse: Boolean,\n stripe: Boolean,\n indeterminate: Boolean,\n query: Boolean,\n rounded: Boolean,\n\n instantFeedback: Boolean\n },\n\n computed: {\n motion () {\n return this.indeterminate === true || this.query === true\n },\n\n widthReverse () {\n return this.reverse !== this.query\n },\n\n classes () {\n return 'q-linear-progress' +\n (this.color !== void 0 ? ` text-${this.color}` : '') +\n (this.reverse === true || this.query === true ? ' q-linear-progress--reverse' : '') +\n (this.rounded === true ? ' rounded-borders' : '')\n },\n\n trackStyle () {\n return width(this.buffer !== void 0 ? this.buffer : 1, this.widthReverse, this.$q)\n },\n\n trackClass () {\n return `q-linear-progress__track--with${this.instantFeedback === true ? 'out' : ''}-transition` +\n ` q-linear-progress__track--${this.isDark === true ? 'dark' : 'light'}` +\n (this.trackColor !== void 0 ? ` bg-${this.trackColor}` : '')\n },\n\n modelStyle () {\n return width(this.motion === true ? 1 : this.value, this.widthReverse, this.$q)\n },\n\n modelClasses () {\n return `q-linear-progress__model--with${this.instantFeedback === true ? 'out' : ''}-transition` +\n ` q-linear-progress__model--${this.motion === true ? 'in' : ''}determinate`\n },\n\n stripeStyle () {\n return { width: (this.value * 100) + '%' }\n },\n\n stripeClass () {\n return this.reverse === true ? 'absolute-right' : 'absolute-left'\n },\n\n attrs () {\n return {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 1,\n 'aria-valuenow': this.indeterminate === true ? void 0 : this.value\n }\n }\n },\n\n render (h) {\n const child = [\n h('div', {\n staticClass: 'q-linear-progress__track absolute-full',\n style: this.trackStyle,\n class: this.trackClass\n }),\n\n h('div', {\n staticClass: 'q-linear-progress__model absolute-full',\n style: this.modelStyle,\n class: this.modelClasses\n })\n ]\n\n this.stripe === true && this.motion === false && child.push(\n h('div', {\n staticClass: 'q-linear-progress__stripe',\n style: this.stripeStyle,\n class: this.stripeClass\n })\n )\n\n return h('div', {\n style: this.sizeStyle,\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, mergeSlot(child, this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { getScrollTarget, getScrollPosition } from '../../utils/scroll.js'\nimport { between } from '../../utils/format.js'\nimport { prevent } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\n\nconst\n PULLER_HEIGHT = 40,\n OFFSET_TOP = 20\n\nexport default Vue.extend({\n name: 'QPullToRefresh',\n\n mixins: [ ListenersMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n color: String,\n bgColor: String,\n icon: String,\n noMouse: Boolean,\n disable: Boolean,\n\n scrollTarget: {\n default: void 0\n }\n },\n\n data () {\n return {\n state: 'pull',\n pullRatio: 0,\n pulling: false,\n pullPosition: -PULLER_HEIGHT,\n animating: false,\n positionCSS: {}\n }\n },\n\n computed: {\n style () {\n return {\n opacity: this.pullRatio,\n transform: `translateY(${this.pullPosition}px) rotate(${this.pullRatio * 360}deg)`\n }\n },\n\n classes () {\n return 'q-pull-to-refresh__puller row flex-center' +\n (this.animating === true ? ' q-pull-to-refresh__puller--animating' : '') +\n (this.bgColor !== void 0 ? ` bg-${this.bgColor}` : '')\n },\n\n directives () {\n if (this.disable !== true) {\n const modifiers = {\n down: true,\n mightPrevent: true\n }\n\n if (this.noMouse !== true) {\n modifiers.mouse = true\n }\n\n return [{\n name: 'touch-pan',\n modifiers,\n value: this.__pull\n }]\n }\n },\n\n contentClass () {\n return `q-pull-to-refresh__content${this.pulling === true ? ' no-pointer-events' : ''}`\n }\n },\n\n watch: {\n scrollTarget () {\n this.updateScrollTarget()\n }\n },\n\n methods: {\n trigger () {\n this.$emit('refresh', () => {\n this.__animateTo({ pos: -PULLER_HEIGHT, ratio: 0 }, () => {\n this.state = 'pull'\n })\n })\n },\n\n updateScrollTarget () {\n this.__scrollTarget = getScrollTarget(this.$el, this.scrollTarget)\n },\n\n __pull (event) {\n if (event.isFinal === true) {\n if (this.pulling === true) {\n this.pulling = false\n\n if (this.state === 'pulled') {\n this.state = 'refreshing'\n this.__animateTo({ pos: OFFSET_TOP })\n this.trigger()\n }\n else if (this.state === 'pull') {\n this.__animateTo({ pos: -PULLER_HEIGHT, ratio: 0 })\n }\n }\n\n return\n }\n\n if (this.animating === true || this.state === 'refreshing') {\n return false\n }\n\n if (event.isFirst === true) {\n if (getScrollPosition(this.__scrollTarget) !== 0 || event.direction !== 'down') {\n if (this.pulling === true) {\n this.pulling = false\n this.state = 'pull'\n this.__animateTo({ pos: -PULLER_HEIGHT, ratio: 0 })\n }\n\n return false\n }\n\n this.pulling = true\n\n const { top, left } = this.$el.getBoundingClientRect()\n this.positionCSS = {\n top: top + 'px',\n left: left + 'px',\n width: window.getComputedStyle(this.$el).getPropertyValue('width')\n }\n }\n\n prevent(event.evt)\n\n const distance = Math.min(140, Math.max(0, event.distance.y))\n this.pullPosition = distance - PULLER_HEIGHT\n this.pullRatio = between(distance / (OFFSET_TOP + PULLER_HEIGHT), 0, 1)\n\n const state = this.pullPosition > OFFSET_TOP ? 'pulled' : 'pull'\n\n if (this.state !== state) {\n this.state = state\n }\n },\n\n __animateTo ({ pos, ratio }, done) {\n this.animating = true\n this.pullPosition = pos\n\n if (ratio !== void 0) {\n this.pullRatio = ratio\n }\n\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n this.animating = false\n done && done()\n }, 300)\n }\n },\n\n mounted () {\n this.updateScrollTarget()\n },\n\n beforeDestroy () {\n clearTimeout(this.timer)\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-pull-to-refresh',\n on: { ...this.qListeners },\n directives: this.directives\n }, [\n h('div', {\n class: this.contentClass\n }, slot(this, 'default')),\n\n h('div', {\n staticClass: 'q-pull-to-refresh__puller-container fixed row flex-center no-pointer-events z-top',\n style: this.positionCSS\n }, [\n h('div', {\n style: this.style,\n class: this.classes\n }, [\n this.state !== 'refreshing'\n ? h(QIcon, {\n props: {\n name: this.icon || this.$q.iconSet.pullToRefresh.icon,\n color: this.color,\n size: '32px'\n }\n })\n : h(QSpinner, {\n props: {\n size: '24px',\n color: this.color\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport {\n SliderMixin,\n keyCodes\n} from '../slider/slider-utils.js'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { between } from '../../utils/format.js'\n\nconst dragType = {\n MIN: 0,\n RANGE: 1,\n MAX: 2\n}\n\nexport default Vue.extend({\n name: 'QRange',\n\n mixins: [ SliderMixin ],\n\n props: {\n value: {\n type: Object,\n default: () => ({ min: null, max: null }),\n validator: v => 'min' in v && 'max' in v\n },\n\n dragRange: Boolean,\n dragOnlyRange: Boolean,\n\n leftLabelColor: String,\n leftLabelTextColor: String,\n rightLabelColor: String,\n rightLabelTextColor: String,\n\n leftLabelValue: [ String, Number ],\n rightLabelValue: [ String, Number ],\n\n leftThumbColor: String,\n rightThumbColor: String\n },\n\n data () {\n const innerMin = this.__getInnerMin(this.innerMin)\n const innerMax = this.__getInnerMax(this.innerMax)\n return {\n model: {\n min: this.value.min === null ? innerMin : between(this.value.min, innerMin, innerMax),\n max: this.value.max === null ? innerMax : between(this.value.max, innerMin, innerMax)\n },\n curMinRatio: 0,\n curMaxRatio: 0\n }\n },\n\n computed: {\n modelMinRatio () {\n return this.__convertModelToRatio(this.model.min)\n },\n modelMaxRatio () {\n return this.__convertModelToRatio(this.model.max)\n },\n\n ratioMin () {\n return this.active === true ? this.curMinRatio : this.modelMinRatio\n },\n ratioMax () {\n return this.active === true ? this.curMaxRatio : this.modelMaxRatio\n },\n\n selectionBarStyle () {\n const acc = {\n [ this.positionProp ]: `${100 * this.ratioMin}%`,\n [ this.sizeProp ]: `${100 * (this.ratioMax - this.ratioMin)}%`\n }\n if (this.selectionImg !== void 0) {\n acc.backgroundImage = `url(${this.selectionImg}) !important`\n }\n return acc\n },\n\n trackContainerEvents () {\n if (this.editable !== true) {\n return {}\n }\n\n if (this.$q.platform.is.mobile === true) {\n return { click: this.__onMobileClick }\n }\n\n const evt = { mousedown: this.__onActivate }\n\n if (this.dragRange === true || this.dragOnlyRange === true) {\n Object.assign(evt, {\n focus: () => { this.focus = 'both' },\n blur: this.__onBlur,\n keydown: this.__onKeydown,\n keyup: this.__onKeyup\n })\n }\n\n return evt\n },\n\n trackContainerAttrs () {\n return {\n tabindex: this.$q.platform.is.mobile !== true && (this.dragRange || this.dragOnlyRange === true)\n ? this.computedTabindex\n : null\n }\n },\n\n thumbAttrs () {\n return {\n tabindex: this.dragOnlyRange !== true ? this.computedTabindex : null\n }\n },\n\n thumbMinEvents () {\n return this.__getEvents('min')\n },\n thumbMaxEvents () {\n return this.__getEvents('max')\n },\n\n thumbMinLabel () {\n return this.leftLabelValue !== void 0\n ? this.leftLabelValue\n : this.model.min\n },\n thumbMaxLabel () {\n return this.rightLabelValue !== void 0\n ? this.rightLabelValue\n : this.model.max\n },\n\n thumbMinClasses () {\n const color = this.leftThumbColor || this.thumbColor || this.color\n return `q-slider__thumb q-slider__thumb${this.axis} q-slider__thumb${this.axis}-${this.isReversed === true ? 'rtl' : 'ltr'} absolute non-selectable` +\n (\n this.preventFocus === false && (this.focus === 'min' || this.focus === 'both')\n ? ' q-slider--focus'\n : ''\n ) +\n (color !== void 0 ? ` text-${color}` : '')\n },\n thumbMaxClasses () {\n const color = this.rightThumbColor || this.thumbColor || this.color\n return `q-slider__thumb q-slider__thumb${this.axis} q-slider__thumb${this.axis}-${this.isReversed === true ? 'rtl' : 'ltr'} absolute non-selectable` +\n (\n this.preventFocus === false && (this.focus === 'max' || this.focus === 'both')\n ? ' q-slider--focus'\n : ''\n ) +\n (color !== void 0 ? ` text-${color}` : '')\n },\n\n thumbMinStyle () {\n return {\n width: this.thumbSize,\n height: this.thumbSize,\n [ this.positionProp ]: `${100 * this.ratioMin}%`,\n zIndex: this.focus === 'min' ? 2 : void 0\n }\n },\n thumbMaxStyle () {\n return {\n width: this.thumbSize,\n height: this.thumbSize,\n [ this.positionProp ]: `${100 * this.ratioMax}%`,\n zIndex: this.focus === 'max' ? 2 : void 0\n }\n },\n\n thumbMinPinColor () {\n const color = this.leftLabelColor || this.labelColor\n return color !== void 0\n ? ` text-${color}`\n : ''\n },\n thumbMaxPinColor () {\n const color = this.rightLabelColor || this.labelColor\n return color !== void 0\n ? ` text-${color}`\n : ''\n },\n\n thumbMinTextContainerStyle () {\n return this.__getTextContainerStyle(this.ratioMin)\n },\n thumbMaxTextContainerStyle () {\n return this.__getTextContainerStyle(this.ratioMax)\n },\n\n thumbMinTextClass () {\n const color = this.leftLabelTextColor || this.labelTextColor\n return 'q-slider__text' +\n (color !== void 0 ? ` text-${color}` : '')\n },\n thumbMaxTextClass () {\n const color = this.rightLabelTextColor || this.labelTextColor\n return 'q-slider__text' +\n (color !== void 0 ? ` text-${color}` : '')\n },\n\n formAttrs () {\n return {\n type: 'hidden',\n name: this.name,\n value: `${this.value.min}|${this.value.max}`\n }\n },\n\n modelUpdate () {\n return `${this.value.min}|${this.value.max}|${this.computedInnerMin}|${this.computedInnerMax}`\n }\n },\n\n watch: {\n modelUpdate () {\n this.model.min = this.value.min === null\n ? this.computedInnerMin\n : between(this.value.min, this.computedInnerMin, this.computedInnerMax)\n\n this.model.max = this.value.max === null\n ? this.computedInnerMax\n : between(this.value.max, this.computedInnerMin, this.computedInnerMax)\n }\n },\n\n methods: {\n __updateValue (change) {\n if (this.model.min !== this.value.min || this.model.max !== this.value.max) {\n this.$emit('input', { ...this.model })\n }\n change === true && this.$emit('change', { ...this.model })\n },\n\n __getDragging (event) {\n const\n { left, top, width, height } = this.$el.getBoundingClientRect(),\n sensitivity = this.dragOnlyRange === true\n ? 0\n : (\n this.vertical === true\n ? this.$refs.minThumb.offsetHeight / (2 * height)\n : this.$refs.minThumb.offsetWidth / (2 * width)\n )\n\n const dragging = {\n left,\n top,\n width,\n height,\n valueMin: this.model.min,\n valueMax: this.model.max,\n ratioMin: this.modelMinRatio,\n ratioMax: this.modelMaxRatio\n }\n\n const ratio = this.__getDraggingRatio(event, dragging)\n\n if (this.dragOnlyRange !== true && ratio < dragging.ratioMin + sensitivity) {\n dragging.type = dragType.MIN\n }\n else if (this.dragOnlyRange === true || ratio < dragging.ratioMax - sensitivity) {\n if (this.dragRange === true || this.dragOnlyRange === true) {\n dragging.type = dragType.RANGE\n Object.assign(dragging, {\n offsetRatio: ratio,\n offsetModel: this.__convertRatioToModel(ratio),\n rangeValue: dragging.valueMax - dragging.valueMin,\n rangeRatio: dragging.ratioMax - dragging.ratioMin\n })\n }\n else {\n dragging.type = dragging.ratioMax - ratio < ratio - dragging.ratioMin\n ? dragType.MAX\n : dragType.MIN\n }\n }\n else {\n dragging.type = dragType.MAX\n }\n\n return dragging\n },\n\n __updatePosition (event, dragging = this.dragging) {\n let pos\n const ratio = this.__getDraggingRatio(event, dragging)\n const localModel = this.__convertRatioToModel(ratio)\n\n switch (dragging.type) {\n case dragType.MIN:\n if (ratio <= dragging.ratioMax) {\n pos = {\n minR: ratio,\n maxR: dragging.ratioMax,\n min: localModel,\n max: dragging.valueMax\n }\n this.focus = 'min'\n }\n else {\n pos = {\n minR: dragging.ratioMax,\n maxR: ratio,\n min: dragging.valueMax,\n max: localModel\n }\n this.focus = 'max'\n }\n break\n\n case dragType.MAX:\n if (ratio >= dragging.ratioMin) {\n pos = {\n minR: dragging.ratioMin,\n maxR: ratio,\n min: dragging.valueMin,\n max: localModel\n }\n this.focus = 'max'\n }\n else {\n pos = {\n minR: ratio,\n maxR: dragging.ratioMin,\n min: localModel,\n max: dragging.valueMin\n }\n this.focus = 'min'\n }\n break\n\n case dragType.RANGE:\n const\n ratioDelta = ratio - dragging.offsetRatio,\n minR = between(dragging.ratioMin + ratioDelta, 0, 1 - dragging.rangeRatio),\n modelDelta = localModel - dragging.offsetModel,\n min = between(dragging.valueMin + modelDelta, this.min, this.max - dragging.rangeValue)\n\n pos = {\n minR,\n maxR: minR + dragging.rangeRatio,\n min: parseFloat(min.toFixed(this.computedDecimals)),\n max: parseFloat((min + dragging.rangeValue).toFixed(this.computedDecimals))\n }\n\n this.focus = 'both'\n break\n }\n\n // If either of the values to be emitted are null, set them to the defaults the user has entered.\n this.model = this.model.min === null || this.model.max === null\n ? { min: pos.min || this.min, max: pos.max || this.max }\n : { min: pos.min, max: pos.max }\n\n if (this.snap !== true || this.step === 0) {\n this.curMinRatio = pos.minR\n this.curMaxRatio = pos.maxR\n }\n else {\n this.curMinRatio = this.__convertModelToRatio(this.model.min)\n this.curMaxRatio = this.__convertModelToRatio(this.model.max)\n }\n },\n\n __getEvents (side) {\n return this.$q.platform.is.mobile !== true && this.editable === true && this.dragOnlyRange !== true\n ? {\n focus: () => { this.focus = side },\n blur: this.__onBlur,\n keydown: this.__onKeydown,\n keyup: this.__onKeyup\n }\n : {}\n },\n\n __onKeydown (evt) {\n if (!keyCodes.includes(evt.keyCode)) {\n return\n }\n\n stopAndPrevent(evt)\n\n const\n stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * this.computedStep,\n offset = ([ 34, 37, 40 ].includes(evt.keyCode) ? -1 : 1) * (this.isReversed === true ? -1 : 1) * stepVal\n\n if (this.focus === 'both') {\n const interval = this.model.max - this.model.min\n const min = between(\n parseFloat((this.model.min + offset).toFixed(this.computedDecimals)),\n this.computedInnerMin,\n this.computedInnerMax - interval\n )\n\n this.model = {\n min,\n max: parseFloat((min + interval).toFixed(this.computedDecimals))\n }\n }\n else if (this.focus === false) {\n return\n }\n else {\n const which = this.focus\n\n this.model = {\n ...this.model,\n [ which ]: between(\n parseFloat((this.model[ which ] + offset).toFixed(this.computedDecimals)),\n which === 'min' ? this.computedInnerMin : this.model.min,\n which === 'max' ? this.computedInnerMax : this.model.max\n )\n }\n }\n\n this.__updateValue()\n }\n },\n\n render (h) {\n const content = this.__getContent(h, node => {\n node.push(\n this.__getThumb(h, {\n pinColor: this.thumbMinPinColor,\n textContainerStyle: this.thumbMinTextContainerStyle,\n textClass: this.thumbMinTextClass,\n label: this.thumbMinLabel,\n classes: this.thumbMinClasses,\n style: this.thumbMinStyle,\n nodeData: {\n ref: 'minThumb',\n key: 'tmin',\n on: this.thumbMinEvents,\n attrs: this.thumbAttrs\n }\n }),\n\n this.__getThumb(h, {\n pinColor: this.thumbMaxPinColor,\n textContainerStyle: this.thumbMaxTextContainerStyle,\n textClass: this.thumbMaxTextClass,\n label: this.thumbMaxLabel,\n classes: this.thumbMaxClasses,\n style: this.thumbMaxStyle,\n nodeData: {\n key: 'tmax',\n on: this.thumbMaxEvents,\n attrs: this.thumbAttrs\n }\n })\n )\n })\n\n return h('div', {\n class: 'q-range ' + this.classes + (\n this.value.min === null || this.value.max === null\n ? ' q-slider--no-value'\n : ''\n ),\n attrs: {\n ...this.attributes,\n 'aria-valuenow': this.value.min + '|' + this.value.max\n }\n }, content)\n }\n})\n","import Vue from 'vue'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { between } from '../../utils/format.js'\nimport QIcon from '../icon/QIcon.js'\n\nimport SizeMixin from '../../mixins/size.js'\nimport FormMixin from '../../mixins/form.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport cache from '../../utils/cache.js'\nimport { mergeSlot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QRating',\n\n mixins: [ SizeMixin, FormMixin, ListenersMixin ],\n\n props: {\n value: {\n type: Number,\n required: true\n },\n\n max: {\n type: [String, Number],\n default: 5\n },\n\n icon: [String, Array],\n iconHalf: [String, Array],\n iconSelected: [String, Array],\n\n color: [String, Array],\n colorHalf: [String, Array],\n colorSelected: [String, Array],\n\n noReset: Boolean,\n noDimming: Boolean,\n\n readonly: Boolean,\n disable: Boolean\n },\n\n data () {\n return {\n mouseModel: 0\n }\n },\n\n computed: {\n editable () {\n return this.readonly !== true && this.disable !== true\n },\n\n classes () {\n return `q-rating--${this.editable === true ? '' : 'non-'}editable` +\n (this.noDimming === true ? ' q-rating--no-dimming' : '') +\n (this.disable === true ? ' disabled' : '') +\n (this.color !== void 0 && Array.isArray(this.color) === false ? ` text-${this.color}` : '')\n },\n\n iconData () {\n const\n iconLen = Array.isArray(this.icon) === true ? this.icon.length : 0,\n selIconLen = Array.isArray(this.iconSelected) === true ? this.iconSelected.length : 0,\n halfIconLen = Array.isArray(this.iconHalf) === true ? this.iconHalf.length : 0,\n colorLen = Array.isArray(this.color) === true ? this.color.length : 0,\n selColorLen = Array.isArray(this.colorSelected) === true ? this.colorSelected.length : 0,\n halfColorLen = Array.isArray(this.colorHalf) === true ? this.colorHalf.length : 0\n\n return {\n iconLen,\n icon: iconLen > 0 ? this.icon[iconLen - 1] : this.icon,\n selIconLen,\n selIcon: selIconLen > 0 ? this.iconSelected[selIconLen - 1] : this.iconSelected,\n halfIconLen,\n halfIcon: halfIconLen > 0 ? this.iconHalf[selIconLen - 1] : this.iconHalf,\n colorLen,\n color: colorLen > 0 ? this.color[colorLen - 1] : this.color,\n selColorLen,\n selColor: selColorLen > 0 ? this.colorSelected[selColorLen - 1] : this.colorSelected,\n halfColorLen,\n halfColor: halfColorLen > 0 ? this.colorHalf[halfColorLen - 1] : this.colorHalf\n }\n },\n\n stars () {\n const\n acc = [],\n icons = this.iconData,\n ceil = Math.ceil(this.value)\n\n const halfIndex = this.iconHalf === void 0 || ceil === this.value\n ? -1\n : ceil\n\n for (let i = 1; i <= this.max; i++) {\n const\n active = (this.mouseModel === 0 && this.value >= i) || (this.mouseModel > 0 && this.mouseModel >= i),\n half = halfIndex === i && this.mouseModel < i,\n exSelected = this.mouseModel > 0 && (half === true ? ceil : this.value) >= i && this.mouseModel < i,\n color = half === true\n ? (i <= icons.halfColorLen ? this.colorHalf[i - 1] : icons.halfColor)\n : (\n icons.selColor !== void 0 && active === true\n ? (i <= icons.selColorLen ? this.colorSelected[i - 1] : icons.selColor)\n : (i <= icons.colorLen ? this.color[i - 1] : icons.color)\n )\n\n acc.push({\n name: (\n half === true\n ? (i <= icons.halfIconLen ? this.iconHalf[i - 1] : icons.halfIcon)\n : (\n icons.selIcon !== void 0 && (active === true || exSelected === true)\n ? (i <= icons.selIconLen ? this.iconSelected[i - 1] : icons.selIcon)\n : (i <= icons.iconLen ? this.icon[i - 1] : icons.icon)\n )\n ) || this.$q.iconSet.rating.icon,\n\n classes: 'q-rating__icon' +\n (active === true || half === true ? ' q-rating__icon--active' : '') +\n (exSelected === true ? ' q-rating__icon--exselected' : '') +\n (this.mouseModel === i ? ' q-rating__icon--hovered' : '') +\n (color !== void 0 ? ` text-${color}` : '')\n })\n }\n\n return acc\n },\n\n attrs () {\n if (this.disable === true) {\n return { 'aria-disabled': 'true' }\n }\n if (this.readonly === true) {\n return { 'aria-readonly': 'true' }\n }\n }\n },\n\n methods: {\n __set (value) {\n if (this.editable === true) {\n const\n model = between(parseInt(value, 10), 1, parseInt(this.max, 10)),\n newVal = this.noReset !== true && this.value === model ? 0 : model\n\n newVal !== this.value && this.$emit('input', newVal)\n this.mouseModel = 0\n }\n },\n\n __setHoverValue (value) {\n if (this.editable === true) {\n this.mouseModel = value\n }\n },\n\n __keyup (e, i) {\n switch (e.keyCode) {\n case 13:\n case 32:\n this.__set(i)\n return stopAndPrevent(e)\n case 37: // LEFT ARROW\n case 40: // DOWN ARROW\n if (this.$refs[`rt${i - 1}`]) {\n this.$refs[`rt${i - 1}`].focus()\n }\n return stopAndPrevent(e)\n case 39: // RIGHT ARROW\n case 38: // UP ARROW\n if (this.$refs[`rt${i + 1}`]) {\n this.$refs[`rt${i + 1}`].focus()\n }\n return stopAndPrevent(e)\n }\n }\n },\n\n render (h) {\n const\n child = [],\n tabindex = this.editable === true ? 0 : null\n\n this.stars.forEach(({ classes, name }, index) => {\n const i = index + 1\n\n child.push(\n h('div', {\n key: i,\n ref: `rt${i}`,\n class: 'q-rating__icon-container flex flex-center',\n attrs: { tabindex },\n on: cache(this, 'i#' + i, {\n click: () => { this.__set(i) },\n mouseover: () => { this.__setHoverValue(i) },\n mouseout: () => { this.mouseModel = 0 },\n focus: () => { this.__setHoverValue(i) },\n blur: () => { this.mouseModel = 0 },\n keyup: e => { this.__keyup(e, i) }\n })\n }, mergeSlot(\n [h(QIcon, { class: classes, props: { name } })],\n this, `tip-${i}`\n ))\n )\n })\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(child, 'push')\n }\n\n return h('div', {\n staticClass: 'q-rating row inline items-center',\n class: this.classes,\n style: this.sizeStyle,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport RatioMixin from '../../mixins/ratio.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QResponsive',\n\n mixins: [ RatioMixin, ListenersMixin ],\n\n render (h) {\n return h('div', {\n staticClass: 'q-responsive',\n on: { ...this.qListeners }\n }, [\n h('div', {\n staticClass: 'q-responsive__filler overflow-hidden'\n }, [\n h('div', { style: this.ratioStyle })\n ]),\n\n h('div', {\n staticClass: 'q-responsive__content absolute-full fit'\n }, slot(this, 'default'))\n ])\n }\n})\n","import Vue from 'vue'\n\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\nimport QScrollObserver from '../scroll-observer/QScrollObserver.js'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport { between } from '../../utils/format.js'\nimport { setVerticalScrollPosition, setHorizontalScrollPosition } from '../../utils/scroll.js'\nimport { mergeSlot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\nimport debounce from '../../utils/debounce.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport { ariaHidden } from '../../mixins/attrs'\n\nconst axisList = [ 'vertical', 'horizontal' ]\nconst dirProps = {\n vertical: { offset: 'offsetY', scroll: 'scrollTop', dir: 'down', dist: 'y' },\n horizontal: { offset: 'offsetX', scroll: 'scrollLeft', dir: 'right', dist: 'x' }\n}\n\nexport default Vue.extend({\n name: 'QScrollArea',\n\n mixins: [ DarkMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n thumbStyle: Object,\n verticalThumbStyle: Object,\n horizontalThumbStyle: Object,\n\n barStyle: [ Array, String, Object ],\n verticalBarStyle: [ Array, String, Object ],\n horizontalBarStyle: [ Array, String, Object ],\n\n contentStyle: [ Array, String, Object ],\n contentActiveStyle: [ Array, String, Object ],\n\n delay: {\n type: [ String, Number ],\n default: 1000\n },\n\n visible: {\n type: Boolean,\n default: null\n },\n\n horizontal: Boolean,\n\n tabindex: [ String, Number ]\n },\n\n data () {\n return {\n // state management\n tempShowing: false,\n panning: false,\n hover: false,\n\n // other...\n container: {\n vertical: 0,\n horizontal: 0\n },\n\n scroll: {\n vertical: {\n position: 0,\n size: 0\n },\n\n horizontal: {\n position: 0,\n size: 0\n }\n }\n }\n },\n\n computed: {\n classes () {\n return 'q-scrollarea' +\n (this.isDark === true ? ' q-scrollarea--dark' : '')\n },\n\n verticalScrollPercentage () {\n const diff = this.scroll.vertical.size - this.container.vertical\n if (diff <= 0) { return 0 }\n const p = between(this.scroll.vertical.position / diff, 0, 1)\n return Math.round(p * 10000) / 10000\n },\n\n horizontalScrollPercentage () {\n const diff = this.scroll.horizontal.size - this.container.horizontal\n if (diff <= 0) { return 0 }\n const p = between(this.scroll.horizontal.position / diff, 0, 1)\n return Math.round(p * 10000) / 10000\n },\n\n verticalThumbHidden () {\n return (\n (this.visible === null ? this.hover : this.visible) !== true &&\n this.tempShowing === false &&\n this.panning === false\n ) || this.scroll.vertical.size <= this.container.vertical + 1\n },\n\n horizontalThumbHidden () {\n return (\n (this.visible === null ? this.hover : this.visible) !== true &&\n this.tempShowing === false &&\n this.panning === false\n ) || this.scroll.horizontal.size <= this.container.horizontal + 1\n },\n\n verticalThumbStart () {\n return this.verticalScrollPercentage * (this.container.vertical - this.verticalThumbSize)\n },\n\n horizontalThumbStart () {\n return this.horizontalScrollPercentage * (this.container.horizontal - this.horizontalThumbSize)\n },\n\n verticalThumbSize () {\n return Math.round(\n between(\n this.container.vertical * this.container.vertical / this.scroll.vertical.size,\n 50,\n this.container.vertical\n )\n )\n },\n\n horizontalThumbSize () {\n return Math.round(\n between(\n this.container.horizontal * this.container.horizontal / this.scroll.horizontal.size,\n 50,\n this.container.horizontal\n )\n )\n },\n\n verticalStyle () {\n return {\n ...this.thumbStyle,\n ...this.verticalThumbStyle,\n top: `${this.verticalThumbStart}px`,\n height: `${this.verticalThumbSize}px`\n }\n },\n\n horizontalStyle () {\n return {\n ...this.thumbStyle,\n ...this.horizontalThumbStyle,\n left: `${this.horizontalThumbStart}px`,\n width: `${this.horizontalThumbSize}px`\n }\n },\n\n verticalThumbClass () {\n return 'q-scrollarea__thumb q-scrollarea__thumb--v absolute-right' +\n (this.verticalThumbHidden === true ? ' q-scrollarea__thumb--invisible' : '')\n },\n\n horizontalThumbClass () {\n return 'q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom' +\n (this.horizontalThumbHidden === true ? ' q-scrollarea__thumb--invisible' : '')\n },\n\n verticalBarClass () {\n return 'q-scrollarea__bar q-scrollarea__bar--v absolute-right' +\n (this.verticalThumbHidden === true ? ' q-scrollarea__bar--invisible' : '')\n },\n\n horizontalBarClass () {\n return 'q-scrollarea__bar q-scrollarea__bar--h absolute-bottom' +\n (this.horizontalThumbHidden === true ? ' q-scrollarea__bar--invisible' : '')\n },\n\n scrollComputed () {\n return {\n vertical: {\n ...this.scroll.vertical,\n percentage: this.verticalScrollPercentage,\n thumbHidden: this.verticalThumbHidden,\n thumbStart: this.verticalThumbStart,\n thumbSize: this.verticalThumbSize,\n style: this.verticalStyle,\n thumbClass: this.verticalThumbClass,\n barClass: this.verticalBarClass\n },\n horizontal: {\n ...this.scroll.horizontal,\n percentage: this.horizontalScrollPercentage,\n thumbHidden: this.horizontalThumbHidden,\n thumbStart: this.horizontalThumbStart,\n thumbSize: this.horizontalThumbSize,\n style: this.horizontalStyle,\n thumbClass: this.horizontalThumbClass,\n barClass: this.horizontalBarClass\n }\n }\n },\n\n mainStyle () {\n return this.verticalThumbHidden === true && this.horizontalThumbHidden === true\n ? this.contentStyle\n : this.contentActiveStyle\n },\n\n verticalThumbDirectives () {\n return [{\n name: 'touch-pan',\n modifiers: {\n vertical: true,\n prevent: true,\n mouse: true,\n mouseAllDir: true\n },\n value: e => { this.__panThumb(e, 'vertical') }\n }]\n },\n\n horizontalThumbDirectives () {\n return [{\n name: 'touch-pan',\n modifiers: {\n horizontal: true,\n prevent: true,\n mouse: true,\n mouseAllDir: true\n },\n value: e => { this.__panThumb(e, 'horizontal') }\n }]\n },\n\n scrollAttrs () {\n if (this.tabindex !== void 0) {\n return { tabindex: this.tabindex }\n }\n }\n },\n\n methods: {\n getScrollTarget () {\n return this.$refs.target\n },\n\n getScroll () {\n const info = {}\n\n axisList.forEach(axis => {\n const data = this.scrollComputed[ axis ]\n\n info[ axis + 'Position' ] = data.position\n info[ axis + 'Percentage' ] = data.percentage\n info[ axis + 'Size' ] = data.size\n info[ axis + 'ContainerSize' ] = this.container[ axis ]\n })\n\n return info\n },\n\n getScrollPosition (axis) {\n if (axis === 'both') {\n return {\n top: this.scroll.vertical.position,\n left: this.scroll.horizontal.position\n }\n }\n\n if (axisList.includes(axis) !== true) {\n axis = this.horizontal === true ? 'horizontal' : 'vertical'\n }\n\n return this.scroll[axis].position\n },\n\n getScrollPercentage (axis) {\n if (axis === 'both') {\n return {\n top: this.verticalScrollPercentage,\n left: this.horizontalScrollPercentage\n }\n }\n\n if (axisList.includes(axis) !== true) {\n axis = this.horizontal === true ? 'horizontal' : 'vertical'\n }\n\n return this[`${axis}ScrollPercentage`]\n },\n\n setScrollPosition (axis, offset, duration) {\n if (axisList.includes(axis) === false) {\n if (isNaN(axis) === true) {\n console.error('[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)')\n return\n }\n\n [axis, offset, duration] = [this.horizontal === true ? 'horizontal' : 'vertical', axis, offset]\n }\n\n const fn = axis === 'vertical'\n ? setVerticalScrollPosition\n : setHorizontalScrollPosition\n\n fn(this.$refs.target, offset, duration)\n },\n\n setScrollPercentage (axis, percentage, duration) {\n if (axisList.includes(axis) === false) {\n if (isNaN(axis) === true) {\n console.error('[QScrollArea]: wrong first param of setScrollPercentage (vertical/horizontal)')\n return\n }\n\n [axis, percentage, duration] = [this.horizontal === true ? 'horizontal' : 'vertical', axis, percentage]\n }\n\n this.setScrollPosition(\n axis,\n percentage * (this.scroll[axis].size - this.container[axis]),\n duration\n )\n },\n\n __updateContainer ({ height, width }) {\n let change = false\n\n if (this.container.vertical !== height) {\n this.container.vertical = height\n change = true\n }\n\n if (this.container.horizontal !== width) {\n this.container.horizontal = width\n change = true\n }\n\n change === true && this.__startTimer()\n },\n\n __updateVerticalScroll ({ position }) {\n if (this.scroll.vertical.position !== position) {\n this.scroll.vertical.position = position\n this.__startTimer()\n }\n },\n\n __updateHorizontalScroll ({ position }) {\n if (this.scroll.horizontal.position !== position) {\n this.scroll.horizontal.position = position\n this.__startTimer()\n }\n },\n\n __updateScrollSize ({ height, width }) {\n let change = false\n\n if (this.scroll.horizontal.size !== width) {\n this.scroll.horizontal.size = width\n change = true\n }\n\n if (this.scroll.vertical.size !== height) {\n this.scroll.vertical.size = height\n change = true\n }\n\n change === true && this.__startTimer()\n },\n\n __panThumb (e, axis) {\n const data = this.scrollComputed[ axis ]\n\n if (e.isFinal === true) {\n if (this.panning !== true) {\n return\n }\n\n this.panning = false\n }\n else if (e.isFirst === true) {\n if (data.thumbHidden === true) {\n return\n }\n\n this.refPos = data.position\n this.panning = true\n }\n else if (this.panning !== true) {\n return\n }\n\n const dProp = dirProps[ axis ]\n const containerSize = this.container[axis]\n\n const multiplier = (data.size - containerSize) / (containerSize - data.thumbSize)\n const distance = e.distance[dProp.dist]\n const pos = this.refPos + (e.direction === dProp.dir ? 1 : -1) * distance * multiplier\n\n this.__setScroll(pos, axis)\n },\n\n __mouseDown (evt, axis) {\n const data = this.scrollComputed[ axis ]\n\n if (data.thumbHidden !== true) {\n const offset = evt[ dirProps[ axis ].offset ]\n if (offset < data.thumbStart || offset > data.thumbStart + data.thumbSize) {\n const pos = offset - data.thumbSize / 2\n this.__setScroll(pos / this.container[ axis ] * data.size, axis)\n }\n\n const ref = axis === 'vertical' ? this.$refs.verticalThumb : this.$refs.horizontalThumb\n // activate thumb pan\n if (ref !== void 0) {\n ref.dispatchEvent(new MouseEvent(evt.type, evt))\n }\n }\n },\n\n __verticalMouseDown (evt) {\n this.__mouseDown(evt, 'vertical')\n },\n\n __horizontalMouseDown (evt) {\n this.__mouseDown(evt, 'horizontal')\n },\n\n __startTimer () {\n if (this.tempShowing === true) {\n clearTimeout(this.timer)\n }\n else {\n this.tempShowing = true\n }\n\n this.timer = setTimeout(() => { this.tempShowing = false }, this.delay)\n this.$listeners.scroll !== void 0 && this.__emitScroll()\n },\n\n __setScroll (offset, axis) {\n this.$refs.target[ dirProps[ axis ].scroll ] = offset\n },\n\n __mouseEnter () {\n this.hover = true\n },\n\n __mouseLeave () {\n this.hover = false\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n on: cache(this, 'desk', {\n mouseenter: this.__mouseEnter,\n mouseleave: this.__mouseLeave\n })\n }, [\n h('div', {\n ref: 'target',\n staticClass: 'q-scrollarea__container scroll relative-position fit hide-scrollbar',\n attrs: this.scrollAttrs\n }, [\n h('div', {\n staticClass: 'q-scrollarea__content absolute',\n style: this.mainStyle\n }, mergeSlot([\n h(QResizeObserver, {\n props: { debounce: 0 },\n on: cache(this, 'resizeIn', { resize: this.__updateScrollSize })\n })\n ], this, 'default')),\n\n h(QScrollObserver, {\n on: cache(this, 'scrollV', { scroll: this.__updateVerticalScroll })\n }),\n\n h(QScrollObserver, {\n props: { horizontal: true },\n on: cache(this, 'scrollH', { scroll: this.__updateHorizontalScroll })\n })\n ]),\n\n h(QResizeObserver, {\n props: { debounce: 0 },\n on: cache(this, 'resizeOut', { resize: this.__updateContainer })\n }),\n\n h('div', {\n class: this.verticalBarClass,\n style: [ this.barStyle, this.verticalBarStyle ],\n attrs: ariaHidden,\n on: cache(this, 'barV', {\n mousedown: this.__verticalMouseDown\n })\n }),\n\n h('div', {\n class: this.horizontalBarClass,\n style: [ this.barStyle, this.horizontalBarStyle ],\n attrs: ariaHidden,\n on: cache(this, 'barH', {\n mousedown: this.__horizontalMouseDown\n })\n }),\n\n h('div', {\n ref: 'verticalThumb',\n class: this.verticalThumbClass,\n style: this.verticalStyle,\n attrs: ariaHidden,\n directives: this.verticalThumbDirectives\n }),\n\n h('div', {\n ref: 'horizontalThumb',\n class: this.horizontalThumbClass,\n style: this.horizontalStyle,\n attrs: ariaHidden,\n directives: this.horizontalThumbDirectives\n })\n ])\n },\n\n created () {\n // we have lots of listeners, so\n // ensure we're not emitting same info\n // multiple times\n this.__emitScroll = debounce(() => {\n const info = this.getScroll()\n info.ref = this\n this.$emit('scroll', info)\n }, 0)\n },\n\n activated () {\n if (this.__scrollPosition === void 0) { return }\n\n const scrollTarget = this.getScrollTarget()\n\n if (scrollTarget !== void 0) {\n setHorizontalScrollPosition(scrollTarget, this.__scrollPosition.left)\n setVerticalScrollPosition(scrollTarget, this.__scrollPosition.top)\n }\n },\n\n deactivated () {\n this.__scrollPosition = this.getScrollPosition('both')\n },\n\n beforeDestroy () {\n this.__emitScroll.cancel()\n clearTimeout(this.timer)\n }\n})\n","import debounce from '../utils/debounce.js'\nimport { rtlHasScrollBug } from '../utils/scroll.js'\n\nconst aggBucketSize = 1000\n\nconst scrollToEdges = [\n 'start',\n 'center',\n 'end',\n 'start-force',\n 'center-force',\n 'end-force'\n]\n\nconst filterProto = Array.prototype.filter\n\nfunction sumFn (acc, h) {\n return acc + h\n}\n\nfunction getScrollDetails (\n parent,\n child,\n beforeRef,\n afterRef,\n horizontal,\n rtl,\n stickyStart,\n stickyEnd\n) {\n const\n parentCalc = parent === window ? document.scrollingElement || document.documentElement : parent,\n propElSize = horizontal === true ? 'offsetWidth' : 'offsetHeight',\n details = {\n scrollStart: 0,\n scrollViewSize: -stickyStart - stickyEnd,\n scrollMaxSize: 0,\n offsetStart: -stickyStart,\n offsetEnd: -stickyEnd\n }\n\n if (horizontal === true) {\n if (parent === window) {\n details.scrollStart = window.pageXOffset || window.scrollX || document.body.scrollLeft || 0\n details.scrollViewSize += document.documentElement.clientWidth\n }\n else {\n details.scrollStart = parentCalc.scrollLeft\n details.scrollViewSize += parentCalc.clientWidth\n }\n details.scrollMaxSize = parentCalc.scrollWidth\n\n if (rtl === true) {\n details.scrollStart = (rtlHasScrollBug() === true ? details.scrollMaxSize - details.scrollViewSize : 0) - details.scrollStart\n }\n }\n else {\n if (parent === window) {\n details.scrollStart = window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n details.scrollViewSize += document.documentElement.clientHeight\n }\n else {\n details.scrollStart = parentCalc.scrollTop\n details.scrollViewSize += parentCalc.clientHeight\n }\n details.scrollMaxSize = parentCalc.scrollHeight\n }\n\n if (beforeRef !== void 0) {\n for (let el = beforeRef.previousElementSibling; el !== null; el = el.previousElementSibling) {\n if (el.classList.contains('q-virtual-scroll--skip') === false) {\n details.offsetStart += el[propElSize]\n }\n }\n }\n if (afterRef !== void 0) {\n for (let el = afterRef.nextElementSibling; el !== null; el = el.nextElementSibling) {\n if (el.classList.contains('q-virtual-scroll--skip') === false) {\n details.offsetEnd += el[propElSize]\n }\n }\n }\n\n if (child !== parent) {\n const\n parentRect = parentCalc.getBoundingClientRect(),\n childRect = child.getBoundingClientRect()\n\n if (horizontal === true) {\n details.offsetStart += childRect.left - parentRect.left\n details.offsetEnd -= childRect.width\n }\n else {\n details.offsetStart += childRect.top - parentRect.top\n details.offsetEnd -= childRect.height\n }\n\n if (parent !== window) {\n details.offsetStart += details.scrollStart\n }\n details.offsetEnd += details.scrollMaxSize - details.offsetStart\n }\n\n return details\n}\n\nfunction setScroll (parent, scroll, horizontal, rtl) {\n if (scroll === 'end') {\n scroll = (parent === window ? document.body : parent)[horizontal === true ? 'scrollWidth' : 'scrollHeight']\n }\n\n if (parent === window) {\n if (horizontal === true) {\n if (rtl === true) {\n scroll = (rtlHasScrollBug() === true ? document.body.scrollWidth - document.documentElement.clientWidth : 0) - scroll\n }\n window.scrollTo(scroll, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)\n }\n else {\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, scroll)\n }\n }\n else if (horizontal === true) {\n if (rtl === true) {\n scroll = (rtlHasScrollBug() === true ? parent.scrollWidth - parent.offsetWidth : 0) - scroll\n }\n parent.scrollLeft = scroll\n }\n else {\n parent.scrollTop = scroll\n }\n}\n\nfunction sumSize (sizeAgg, size, from, to) {\n if (from >= to) { return 0 }\n\n const\n lastTo = size.length,\n fromAgg = Math.floor(from / aggBucketSize),\n toAgg = Math.floor((to - 1) / aggBucketSize) + 1\n\n let total = sizeAgg.slice(fromAgg, toAgg).reduce(sumFn, 0)\n\n if (from % aggBucketSize !== 0) {\n total -= size.slice(fromAgg * aggBucketSize, from).reduce(sumFn, 0)\n }\n if (to % aggBucketSize !== 0 && to !== lastTo) {\n total -= size.slice(to, toAgg * aggBucketSize).reduce(sumFn, 0)\n }\n\n return total\n}\n\nconst commonVirtScrollProps = {\n virtualScrollSliceSize: {\n type: [ Number, String ],\n default: null\n },\n\n virtualScrollSliceRatioBefore: {\n type: [ Number, String ],\n default: 1\n },\n\n virtualScrollSliceRatioAfter: {\n type: [ Number, String ],\n default: 1\n },\n\n virtualScrollItemSize: {\n type: [ Number, String ],\n default: 24\n },\n\n virtualScrollStickySizeStart: {\n type: [ Number, String ],\n default: 0\n },\n\n virtualScrollStickySizeEnd: {\n type: [ Number, String ],\n default: 0\n },\n\n tableColspan: [ Number, String ]\n}\n\nlet id = 1\n\nfunction setOverflowAnchor (id, index) {\n if (setOverflowAnchor.isSupported === void 0) {\n setOverflowAnchor.isSupported = window.getComputedStyle(document.body).overflowAnchor !== void 0\n }\n\n if (setOverflowAnchor.isSupported === false) {\n return\n }\n\n const ssId = id + '_ss'\n\n let styleSheet = document.getElementById(ssId)\n\n if (styleSheet === null) {\n styleSheet = document.createElement('style')\n styleSheet.type = 'text/css'\n styleSheet.id = ssId\n document.head.appendChild(styleSheet)\n }\n\n if (styleSheet.qChildIndex !== index) {\n styleSheet.qChildIndex = index\n styleSheet.innerHTML = `#${id} > *:nth-child(${index}) { overflow-anchor: auto }`\n }\n}\n\nexport const commonVirtPropsList = Object.keys(commonVirtScrollProps)\n\nexport default {\n props: {\n virtualScrollHorizontal: Boolean,\n ...commonVirtScrollProps\n },\n\n data () {\n return {\n virtualScrollSliceRange: { from: 0, to: 0 },\n id: 'qvs_' + id++\n }\n },\n\n watch: {\n needsSliceRecalc () {\n this.__setVirtualScrollSize()\n },\n\n needsReset () {\n this.reset()\n }\n },\n\n computed: {\n needsReset () {\n return ['virtualScrollItemSizeComputed', 'virtualScrollHorizontal']\n .map(p => this[p]).join(';')\n },\n\n needsSliceRecalc () {\n return this.needsReset + ';' + ['virtualScrollSliceRatioBefore', 'virtualScrollSliceRatioAfter']\n .map(p => this[p]).join(';')\n },\n\n colspanAttr () {\n return this.tableColspan !== void 0\n ? { colspan: this.tableColspan }\n : { colspan: 100 }\n },\n\n virtualScrollItemSizeComputed () {\n return this.virtualScrollItemSize\n }\n },\n\n methods: {\n reset () {\n this.__resetVirtualScroll(this.prevToIndex, true)\n },\n\n refresh (toIndex) {\n this.__resetVirtualScroll(toIndex === void 0 ? this.prevToIndex : toIndex)\n },\n\n scrollTo (toIndex, edge) {\n const scrollEl = this.__getVirtualScrollTarget()\n\n if (scrollEl === void 0 || scrollEl === null || scrollEl.nodeType === 8) {\n return\n }\n\n const scrollDetails = getScrollDetails(\n scrollEl,\n this.__getVirtualScrollEl(),\n this.$refs.before,\n this.$refs.after,\n this.virtualScrollHorizontal,\n this.$q.lang.rtl,\n this.virtualScrollStickySizeStart,\n this.virtualScrollStickySizeEnd\n )\n\n this.__scrollViewSize !== scrollDetails.scrollViewSize && this.__setVirtualScrollSize(scrollDetails.scrollViewSize)\n\n this.__setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n Math.min(this.virtualScrollLength - 1, Math.max(0, parseInt(toIndex, 10) || 0)),\n 0,\n scrollToEdges.indexOf(edge) > -1 ? edge : (this.prevToIndex > -1 && toIndex > this.prevToIndex ? 'end' : 'start')\n )\n },\n\n __onVirtualScrollEvt () {\n const scrollEl = this.__getVirtualScrollTarget()\n\n if (scrollEl === void 0 || scrollEl === null || scrollEl.nodeType === 8) {\n return\n }\n\n const\n scrollDetails = getScrollDetails(\n scrollEl,\n this.__getVirtualScrollEl(),\n this.$refs.before,\n this.$refs.after,\n this.virtualScrollHorizontal,\n this.$q.lang.rtl,\n this.virtualScrollStickySizeStart,\n this.virtualScrollStickySizeEnd\n ),\n listLastIndex = this.virtualScrollLength - 1,\n listEndOffset = scrollDetails.scrollMaxSize - scrollDetails.offsetStart - scrollDetails.offsetEnd - this.virtualScrollPaddingAfter\n\n if (this.prevScrollStart === scrollDetails.scrollStart) {\n return\n }\n\n if (scrollDetails.scrollMaxSize <= 0) {\n this.__setVirtualScrollSliceRange(scrollEl, scrollDetails, 0, 0)\n\n return\n }\n\n this.__scrollViewSize !== scrollDetails.scrollViewSize && this.__setVirtualScrollSize(scrollDetails.scrollViewSize)\n\n this.__updateVirtualScrollSizes(this.virtualScrollSliceRange.from)\n\n const scrollMaxStart = Math.floor(scrollDetails.scrollMaxSize -\n Math.max(scrollDetails.scrollViewSize, scrollDetails.offsetEnd) -\n Math.min(this.virtualScrollSizes[listLastIndex], scrollDetails.scrollViewSize / 2))\n\n if (scrollMaxStart > 0 && Math.ceil(scrollDetails.scrollStart) >= scrollMaxStart) {\n this.__setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n listLastIndex,\n scrollDetails.scrollMaxSize - scrollDetails.offsetEnd - this.virtualScrollSizesAgg.reduce(sumFn, 0)\n )\n\n return\n }\n\n let\n toIndex = 0,\n listOffset = scrollDetails.scrollStart - scrollDetails.offsetStart,\n offset = listOffset\n\n if (listOffset <= listEndOffset && listOffset + scrollDetails.scrollViewSize >= this.virtualScrollPaddingBefore) {\n listOffset -= this.virtualScrollPaddingBefore\n toIndex = this.virtualScrollSliceRange.from\n offset = listOffset\n }\n else {\n for (let j = 0; listOffset >= this.virtualScrollSizesAgg[j] && toIndex < listLastIndex; j++) {\n listOffset -= this.virtualScrollSizesAgg[j]\n toIndex += aggBucketSize\n }\n }\n\n while (listOffset > 0 && toIndex < listLastIndex) {\n listOffset -= this.virtualScrollSizes[toIndex]\n if (listOffset > -scrollDetails.scrollViewSize) {\n toIndex++\n offset = listOffset\n }\n else {\n offset = this.virtualScrollSizes[toIndex] + listOffset\n }\n }\n\n this.__setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n toIndex,\n offset\n )\n },\n\n __setVirtualScrollSliceRange (scrollEl, scrollDetails, toIndex, offset, align) {\n const alignForce = typeof align === 'string' && align.indexOf('-force') > -1\n const alignEnd = alignForce === true ? align.replace('-force', '') : align\n const alignRange = alignEnd !== void 0 ? alignEnd : 'start'\n\n let\n from = Math.max(0, toIndex - this.virtualScrollSliceSizeComputed[alignRange]),\n to = from + this.virtualScrollSliceSizeComputed.total\n\n if (to > this.virtualScrollLength) {\n to = this.virtualScrollLength\n from = Math.max(0, to - this.virtualScrollSliceSizeComputed.total)\n }\n\n this.prevScrollStart = scrollDetails.scrollStart\n\n const rangeChanged = from !== this.virtualScrollSliceRange.from || to !== this.virtualScrollSliceRange.to\n\n if (rangeChanged === false && alignEnd === void 0) {\n this.__emitScroll(toIndex)\n\n return\n }\n\n const { activeElement } = document\n const contentEl = this.$refs.content\n if (\n rangeChanged === true &&\n contentEl !== void 0 &&\n contentEl !== activeElement &&\n contentEl.contains(activeElement) === true\n ) {\n contentEl.addEventListener('focusout', this.__onBlurRefocusFn)\n\n setTimeout(() => {\n contentEl !== void 0 && contentEl.removeEventListener('focusout', this.__onBlurRefocusFn)\n })\n }\n\n setOverflowAnchor(this.id, toIndex - from + 1)\n\n const sizeBefore = alignEnd !== void 0 ? this.virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0) : 0\n\n if (rangeChanged === true) {\n // vue key matching algorithm works only if\n // the array of VNodes changes on only one of the ends\n // so we first change one end and then the other\n\n const tempTo = to >= this.virtualScrollSliceRange.from && from <= this.virtualScrollSliceRange.to\n ? this.virtualScrollSliceRange.to\n : to\n this.virtualScrollSliceRange = { from, to: tempTo }\n this.virtualScrollPaddingBefore = sumSize(this.virtualScrollSizesAgg, this.virtualScrollSizes, 0, from)\n this.virtualScrollPaddingAfter = sumSize(this.virtualScrollSizesAgg, this.virtualScrollSizes, this.virtualScrollSliceRange.to, this.virtualScrollLength)\n\n requestAnimationFrame(() => {\n if (this.virtualScrollSliceRange.to !== to && this.prevScrollStart === scrollDetails.scrollStart) {\n this.virtualScrollSliceRange = { from: this.virtualScrollSliceRange.from, to }\n this.virtualScrollPaddingAfter = sumSize(this.virtualScrollSizesAgg, this.virtualScrollSizes, to, this.virtualScrollLength)\n }\n })\n }\n\n requestAnimationFrame(() => {\n // if the scroll was changed give up\n // (another call to __setVirtualScrollSliceRange before animation frame)\n if (this.prevScrollStart !== scrollDetails.scrollStart) {\n return\n }\n\n if (rangeChanged === true) {\n this.__updateVirtualScrollSizes(from)\n }\n\n const\n sizeAfter = this.virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0),\n posStart = sizeAfter + scrollDetails.offsetStart + this.virtualScrollPaddingBefore,\n posEnd = posStart + this.virtualScrollSizes[toIndex]\n\n let scrollPosition = posStart + offset\n\n if (alignEnd !== void 0) {\n const sizeDiff = sizeAfter - sizeBefore\n const scrollStart = scrollDetails.scrollStart + sizeDiff\n\n scrollPosition = alignForce !== true && scrollStart < posStart && posEnd < scrollStart + scrollDetails.scrollViewSize\n ? scrollStart\n : (\n alignEnd === 'end'\n ? posEnd - scrollDetails.scrollViewSize\n : posStart - (alignEnd === 'start' ? 0 : Math.round((scrollDetails.scrollViewSize - this.virtualScrollSizes[toIndex]) / 2))\n )\n }\n\n this.prevScrollStart = scrollPosition\n\n setScroll(\n scrollEl,\n scrollPosition,\n this.virtualScrollHorizontal,\n this.$q.lang.rtl\n )\n\n this.__emitScroll(toIndex)\n })\n },\n\n __updateVirtualScrollSizes (from) {\n const contentEl = this.$refs.content\n\n if (contentEl !== void 0) {\n const\n children = filterProto.call(contentEl.children || [], el => el.classList && el.classList.contains('q-virtual-scroll--skip') === false), // fallback [] for IE\n childrenLength = children.length,\n sizeFn = this.virtualScrollHorizontal === true\n ? el => el.getBoundingClientRect().width\n : el => el.offsetHeight\n\n let\n index = from,\n size, diff\n\n for (let i = 0; i < childrenLength;) {\n size = sizeFn(children[i])\n i++\n\n while (i < childrenLength && children[i].classList.contains('q-virtual-scroll--with-prev') === true) {\n size += sizeFn(children[i])\n i++\n }\n\n diff = size - this.virtualScrollSizes[index]\n\n if (diff !== 0) {\n this.virtualScrollSizes[index] += diff\n this.virtualScrollSizesAgg[Math.floor(index / aggBucketSize)] += diff\n }\n\n index++\n }\n }\n },\n\n __resetVirtualScroll (toIndex, fullReset) {\n const defaultSize = 1 * this.virtualScrollItemSizeComputed\n\n if (fullReset === true || Array.isArray(this.virtualScrollSizes) === false) {\n this.virtualScrollSizes = []\n }\n\n const oldVirtualScrollSizesLength = this.virtualScrollSizes.length\n\n this.virtualScrollSizes.length = this.virtualScrollLength\n\n for (let i = this.virtualScrollLength - 1; i >= oldVirtualScrollSizesLength; i--) {\n this.virtualScrollSizes[i] = defaultSize\n }\n\n const jMax = Math.floor((this.virtualScrollLength - 1) / aggBucketSize)\n this.virtualScrollSizesAgg = []\n for (let j = 0; j <= jMax; j++) {\n let size = 0\n const iMax = Math.min((j + 1) * aggBucketSize, this.virtualScrollLength)\n for (let i = j * aggBucketSize; i < iMax; i++) {\n size += this.virtualScrollSizes[i]\n }\n this.virtualScrollSizesAgg.push(size)\n }\n\n this.prevToIndex = -1\n this.prevScrollStart = void 0\n\n this.virtualScrollPaddingBefore = sumSize(this.virtualScrollSizesAgg, this.virtualScrollSizes, 0, this.virtualScrollSliceRange.from)\n this.virtualScrollPaddingAfter = sumSize(this.virtualScrollSizesAgg, this.virtualScrollSizes, this.virtualScrollSliceRange.to, this.virtualScrollLength)\n\n if (toIndex >= 0) {\n this.__updateVirtualScrollSizes(this.virtualScrollSliceRange.from)\n\n this.$nextTick(() => {\n this.scrollTo(toIndex)\n })\n }\n else {\n this.__onVirtualScrollEvt()\n }\n },\n\n __setVirtualScrollSize (scrollViewSize) {\n if (scrollViewSize === void 0 && typeof window !== 'undefined') {\n const scrollEl = this.__getVirtualScrollTarget()\n\n if (scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {\n scrollViewSize = getScrollDetails(\n scrollEl,\n this.__getVirtualScrollEl(),\n this.$refs.before,\n this.$refs.after,\n this.virtualScrollHorizontal,\n this.$q.lang.rtl,\n this.virtualScrollStickySizeStart,\n this.virtualScrollStickySizeEnd\n ).scrollViewSize\n }\n }\n\n this.__scrollViewSize = scrollViewSize\n\n const virtualScrollSliceRatioBefore = parseFloat(this.virtualScrollSliceRatioBefore) || 0\n const virtualScrollSliceRatioAfter = parseFloat(this.virtualScrollSliceRatioAfter) || 0\n const multiplier = 1 + virtualScrollSliceRatioBefore + virtualScrollSliceRatioAfter\n const view = scrollViewSize === void 0 || scrollViewSize <= 0\n ? 1\n : Math.ceil(scrollViewSize / this.virtualScrollItemSizeComputed)\n const baseSize = Math.max(\n 1,\n view,\n Math.ceil((this.virtualScrollSliceSize > 0 ? this.virtualScrollSliceSize : 10) / multiplier)\n )\n\n this.virtualScrollSliceSizeComputed = {\n total: Math.ceil(baseSize * multiplier),\n start: Math.ceil(baseSize * virtualScrollSliceRatioBefore),\n center: Math.ceil(baseSize * (0.5 + virtualScrollSliceRatioBefore)),\n end: Math.ceil(baseSize * (1 + virtualScrollSliceRatioBefore)),\n view\n }\n },\n\n __padVirtualScroll (h, tag, content) {\n const paddingSize = this.virtualScrollHorizontal === true ? 'width' : 'height'\n const style = {\n ['--q-virtual-scroll-item-' + paddingSize]: this.virtualScrollItemSizeComputed + 'px'\n }\n\n return [\n tag === 'tbody'\n ? h(tag, {\n staticClass: 'q-virtual-scroll__padding',\n key: 'before',\n ref: 'before'\n }, [\n h('tr', [\n h('td', {\n style: { [paddingSize]: `${this.virtualScrollPaddingBefore}px`, ...style },\n attrs: this.colspanAttr\n })\n ])\n ])\n : h(tag, {\n staticClass: 'q-virtual-scroll__padding',\n key: 'before',\n ref: 'before',\n style: { [paddingSize]: `${this.virtualScrollPaddingBefore}px`, ...style }\n }),\n\n h(tag, {\n staticClass: 'q-virtual-scroll__content',\n key: 'content',\n ref: 'content',\n attrs: { id: this.id, tabindex: -1 }\n }, content),\n\n tag === 'tbody'\n ? h(tag, {\n staticClass: 'q-virtual-scroll__padding',\n key: 'after',\n ref: 'after'\n }, [\n h('tr', [\n h('td', {\n style: { [paddingSize]: `${this.virtualScrollPaddingAfter}px`, ...style },\n attrs: this.colspanAttr\n })\n ])\n ])\n : h(tag, {\n staticClass: 'q-virtual-scroll__padding',\n key: 'after',\n ref: 'after',\n style: { [paddingSize]: `${this.virtualScrollPaddingAfter}px`, ...style }\n })\n ]\n },\n\n __emitScroll (index) {\n if (this.prevToIndex !== index) {\n this.qListeners['virtual-scroll'] !== void 0 && this.$emit('virtual-scroll', {\n index,\n from: this.virtualScrollSliceRange.from,\n to: this.virtualScrollSliceRange.to - 1,\n direction: index < this.prevToIndex ? 'decrease' : 'increase',\n ref: this\n })\n\n this.prevToIndex = index\n }\n },\n\n __onBlurRefocusFn () {\n this.$refs.content !== void 0 && this.$refs.content.focus()\n }\n },\n\n created () {\n this.__setVirtualScrollSize()\n },\n\n activated () {\n if (this.shouldActivate !== true) { return }\n\n const scrollEl = this.__getVirtualScrollTarget()\n\n if (this.prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {\n setScroll(\n scrollEl,\n this.prevScrollStart,\n this.virtualScrollHorizontal,\n this.$q.lang.rtl\n )\n }\n else {\n this.scrollTo(this.prevToIndex)\n }\n },\n\n deactivated () {\n this.shouldActivate = true\n },\n\n beforeMount () {\n this.__onVirtualScrollEvt = debounce(this.__onVirtualScrollEvt, this.$q.platform.is.ios === true ? 120 : 35)\n this.__setVirtualScrollSize()\n },\n\n beforeDestroy () {\n this.__onVirtualScrollEvt.cancel()\n const styleSheet = document.getElementById(this.id + '_ss')\n styleSheet !== null && styleSheet.remove()\n }\n}\n","import Vue from 'vue'\n\nimport QField from '../field/QField.js'\nimport QIcon from '../icon/QIcon.js'\nimport QChip from '../chip/QChip.js'\n\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\nimport QItemLabel from '../item/QItemLabel.js'\n\nimport QMenu from '../menu/QMenu.js'\nimport QDialog from '../dialog/QDialog.js'\n\nimport { isDeepEqual, isPlainObject } from '../../utils/is.js'\nimport { stop, prevent, stopAndPrevent } from '../../utils/event.js'\nimport { normalizeToInterval } from '../../utils/format.js'\nimport { shouldIgnoreKey, isKeyCode } from '../../utils/key-composition.js'\nimport { mergeSlot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nimport { FormFieldMixin } from '../../mixins/form.js'\nimport VirtualScroll from '../../mixins/virtual-scroll.js'\nimport CompositionMixin from '../../mixins/composition.js'\nimport ListenersMixin from '../../mixins/listeners.js'\nimport { client } from '../../plugins/Platform.js'\n\nconst validateNewValueMode = v => ['add', 'add-unique', 'toggle'].includes(v)\nconst reEscapeList = '.*+?^${}()|[]\\\\'\n\nexport default Vue.extend({\n name: 'QSelect',\n\n mixins: [\n QField,\n VirtualScroll,\n CompositionMixin,\n FormFieldMixin,\n ListenersMixin\n ],\n\n props: {\n value: {\n required: true\n },\n\n multiple: Boolean,\n\n displayValue: [String, Number],\n displayValueSanitize: Boolean,\n dropdownIcon: String,\n\n options: {\n type: Array,\n default: () => []\n },\n\n optionValue: [Function, String],\n optionLabel: [Function, String],\n optionDisable: [Function, String],\n\n hideSelected: Boolean,\n hideDropdownIcon: Boolean,\n fillInput: Boolean,\n\n maxValues: [Number, String],\n\n optionsDense: Boolean,\n optionsDark: {\n type: Boolean,\n default: null\n },\n optionsSelectedClass: String,\n optionsSanitize: Boolean,\n\n optionsCover: Boolean,\n\n menuShrink: Boolean,\n menuAnchor: String,\n menuSelf: String,\n menuOffset: Array,\n\n popupContentClass: String,\n popupContentStyle: [String, Array, Object],\n\n useInput: Boolean,\n useChips: Boolean,\n\n newValueMode: {\n type: String,\n validator: validateNewValueMode\n },\n\n mapOptions: Boolean,\n emitValue: Boolean,\n\n inputDebounce: {\n type: [Number, String],\n default: 500\n },\n\n inputClass: [Array, String, Object],\n inputStyle: [Array, String, Object],\n\n tabindex: {\n type: [String, Number],\n default: 0\n },\n\n autocomplete: String,\n\n transitionShow: String,\n transitionHide: String,\n\n behavior: {\n type: String,\n validator: v => ['default', 'menu', 'dialog'].includes(v),\n default: 'default'\n },\n\n virtualScrollItemSize: {\n type: [ Number, String ],\n default: void 0\n }\n },\n\n data () {\n return {\n menu: false,\n dialog: false,\n optionIndex: -1,\n inputValue: '',\n dialogFieldFocused: false\n }\n },\n\n watch: {\n innerValue: {\n handler (val) {\n this.innerValueCache = val\n\n if (\n this.useInput === true &&\n this.fillInput === true &&\n this.multiple !== true &&\n // Prevent re-entering in filter while filtering\n // Also prevent clearing inputValue while filtering\n this.innerLoading !== true &&\n ((this.dialog !== true && this.menu !== true) || this.hasValue !== true)\n ) {\n this.userInputValue !== true && this.__resetInputValue()\n if (this.dialog === true || this.menu === true) {\n this.filter('')\n }\n }\n },\n immediate: true\n },\n\n fillInput () {\n this.__resetInputValue()\n },\n\n menu (show) {\n this.__updateMenu(show)\n }\n },\n\n computed: {\n isOptionsDark () {\n return this.optionsDark === null\n ? this.isDark\n : this.optionsDark\n },\n\n virtualScrollLength () {\n return Array.isArray(this.options)\n ? this.options.length\n : 0\n },\n\n fieldClass () {\n return `q-select q-field--auto-height q-select--with${this.useInput !== true ? 'out' : ''}-input` +\n ` q-select--with${this.useChips !== true ? 'out' : ''}-chips` +\n ` q-select--${this.multiple === true ? 'multiple' : 'single'}`\n },\n\n computedInputClass () {\n if (this.hideSelected === true || this.innerValue.length === 0) {\n return this.inputClass\n }\n\n return this.inputClass === void 0\n ? 'q-field__input--padding'\n : [this.inputClass, 'q-field__input--padding']\n },\n\n menuContentClass () {\n return (this.virtualScrollHorizontal === true ? 'q-virtual-scroll--horizontal' : '') +\n (this.popupContentClass ? ' ' + this.popupContentClass : '')\n },\n\n innerValue () {\n const\n mapNull = this.mapOptions === true && this.multiple !== true,\n val = this.value !== void 0 && (this.value !== null || mapNull === true)\n ? (this.multiple === true && Array.isArray(this.value) ? this.value : [ this.value ])\n : []\n\n if (this.mapOptions === true && Array.isArray(this.options) === true) {\n const cache = this.mapOptions === true && this.innerValueCache !== void 0\n ? this.innerValueCache\n : []\n const values = val.map(v => this.__getOption(v, cache))\n\n return this.value === null && mapNull === true\n ? values.filter(v => v !== null)\n : values\n }\n\n return val\n },\n\n noOptions () {\n return this.virtualScrollLength === 0\n },\n\n selectedString () {\n return this.innerValue\n .map(opt => this.getOptionLabel(opt))\n .join(', ')\n },\n\n sanitizeFn () {\n return this.optionsSanitize === true\n ? () => true\n : opt => opt !== void 0 && opt !== null && opt.sanitize === true\n },\n\n displayAsText () {\n return this.displayValueSanitize === true || (\n this.displayValue === void 0 && (\n this.optionsSanitize === true ||\n this.innerValue.some(this.sanitizeFn)\n )\n )\n },\n\n computedTabindex () {\n return this.focused === true ? this.tabindex : -1\n },\n\n selectedScope () {\n return this.innerValue.map((opt, i) => ({\n index: i,\n opt,\n sanitize: this.sanitizeFn(opt),\n selected: true,\n removeAtIndex: this.__removeAtIndexAndFocus,\n toggleOption: this.toggleOption,\n tabindex: this.computedTabindex\n }))\n },\n\n optionScope () {\n if (this.virtualScrollLength === 0) {\n return []\n }\n\n const { from, to } = this.virtualScrollSliceRange\n const { options, optionEls } = this.__optionScopeCache\n\n return this.options.slice(from, to).map((opt, i) => {\n const disable = this.isOptionDisabled(opt)\n const index = from + i\n\n const itemProps = {\n clickable: true,\n active: false,\n activeClass: this.computedOptionsSelectedClass,\n manualFocus: true,\n focused: false,\n disable,\n tabindex: -1,\n dense: this.optionsDense,\n dark: this.isOptionsDark\n }\n\n const itemAttrs = {\n role: 'option',\n id: `${this.targetUid}_${index}`\n }\n\n if (disable !== true) {\n this.isOptionSelected(opt) === true && (itemProps.active = true)\n itemAttrs['aria-selected'] = itemProps.active === true ? 'true' : 'false'\n\n this.optionIndex === index && (itemProps.focused = true)\n }\n\n const itemEvents = {\n click: () => { this.toggleOption(opt) }\n }\n\n if (this.$q.platform.is.desktop === true) {\n itemEvents.mousemove = () => { this.menu === true && this.setOptionIndex(index) }\n }\n\n const option = {\n index,\n opt,\n sanitize: this.sanitizeFn(opt),\n selected: itemProps.active,\n focused: itemProps.focused,\n toggleOption: this.toggleOption,\n setOptionIndex: this.setOptionIndex,\n itemProps,\n itemAttrs\n }\n\n if (options[i] === void 0 || isDeepEqual(option, options[i]) !== true) {\n options[i] = option\n optionEls[i] = void 0\n }\n\n return {\n ...option,\n itemEvents\n }\n })\n },\n\n dropdownArrowIcon () {\n return this.dropdownIcon !== void 0\n ? this.dropdownIcon\n : this.$q.iconSet.arrow.dropdown\n },\n\n squaredMenu () {\n return this.optionsCover === false &&\n this.outlined !== true &&\n this.standout !== true &&\n this.borderless !== true &&\n this.rounded !== true\n },\n\n computedOptionsSelectedClass () {\n return this.optionsSelectedClass !== void 0\n ? this.optionsSelectedClass\n : (this.color !== void 0 ? `text-${this.color}` : '')\n },\n\n innerOptionsValue () {\n return this.innerValue.map(opt => this.getOptionValue(opt))\n },\n\n // returns method to get value of an option;\n // takes into account 'option-value' prop\n getOptionValue () {\n return this.__getPropValueFn('optionValue', 'value')\n },\n\n // returns method to get label of an option;\n // takes into account 'option-label' prop\n getOptionLabel () {\n return this.__getPropValueFn('optionLabel', 'label')\n },\n\n // returns method to tell if an option is disabled;\n // takes into account 'option-disable' prop\n isOptionDisabled () {\n const fn = this.__getPropValueFn('optionDisable', 'disable')\n return (...args) => fn.apply(null, args) === true\n },\n\n inputControlEvents () {\n const on = {\n input: this.__onInput,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n change: this.__onChange,\n keydown: this.__onTargetKeydown,\n keyup: this.__onTargetAutocomplete,\n keypress: this.__onTargetKeypress,\n focus: this.__selectInputText,\n click: e => {\n this.hasDialog === true && stop(e)\n }\n }\n\n on.compositionstart = on.compositionupdate = on.compositionend = this.__onComposition\n\n return on\n },\n\n virtualScrollItemSizeComputed () {\n return this.virtualScrollItemSize === void 0\n ? (this.dense === true ? 24 : 48)\n : this.virtualScrollItemSize\n },\n\n comboboxAttrs () {\n return {\n role: 'combobox',\n 'aria-multiselectable': this.multiple === true ? 'true' : 'false',\n 'aria-expanded': this.menu === true ? 'true' : 'false',\n 'aria-owns': `${this.targetUid}_lb`,\n 'aria-activedescendant': `${this.targetUid}_${this.optionIndex}`\n }\n },\n\n listboxAttrs () {\n return {\n role: 'listbox',\n id: `${this.targetUid}_lb`\n }\n }\n },\n\n methods: {\n getEmittingOptionValue (opt) {\n return this.emitValue === true\n ? this.getOptionValue(opt)\n : opt\n },\n\n removeAtIndex (index) {\n if (index > -1 && index < this.innerValue.length) {\n if (this.multiple === true) {\n const model = this.value.slice()\n this.$emit('remove', { index, value: model.splice(index, 1)[0] })\n this.$emit('input', model)\n }\n else {\n this.$emit('input', null)\n }\n }\n },\n\n __removeAtIndexAndFocus (index) {\n this.removeAtIndex(index)\n this.__focus()\n },\n\n add (opt, unique) {\n const val = this.getEmittingOptionValue(opt)\n\n if (this.multiple !== true) {\n this.fillInput === true && this.updateInputValue(\n this.getOptionLabel(opt),\n true,\n true\n )\n\n this.$emit('input', val)\n return\n }\n\n if (this.innerValue.length === 0) {\n this.$emit('add', { index: 0, value: val })\n this.$emit('input', this.multiple === true ? [ val ] : val)\n return\n }\n\n if (unique === true && this.isOptionSelected(opt) === true) {\n return\n }\n\n if (this.maxValues !== void 0 && this.value.length >= this.maxValues) {\n return\n }\n\n const model = this.value.slice()\n\n this.$emit('add', { index: model.length, value: val })\n model.push(val)\n this.$emit('input', model)\n },\n\n toggleOption (opt, keepOpen) {\n if (this.editable !== true || opt === void 0 || this.isOptionDisabled(opt) === true) {\n return\n }\n\n const optValue = this.getOptionValue(opt)\n\n if (this.multiple !== true) {\n if (keepOpen !== true) {\n this.updateInputValue(\n this.fillInput === true ? this.getOptionLabel(opt) : '',\n true,\n true\n )\n\n this.hidePopup()\n }\n\n this.$refs.target !== void 0 && this.$refs.target.focus()\n\n if (\n this.innerValue.length === 0 ||\n isDeepEqual(this.getOptionValue(this.innerValue[0]), optValue) !== true\n ) {\n this.$emit('input', this.emitValue === true ? optValue : opt)\n }\n return\n }\n\n (this.hasDialog !== true || this.dialogFieldFocused === true) && this.__focus()\n\n this.__selectInputText()\n\n if (this.innerValue.length === 0) {\n const val = this.emitValue === true ? optValue : opt\n this.$emit('add', { index: 0, value: val })\n this.$emit('input', this.multiple === true ? [ val ] : val)\n return\n }\n\n const\n model = this.value.slice(),\n index = this.innerOptionsValue.findIndex(v => isDeepEqual(v, optValue))\n\n if (index > -1) {\n this.$emit('remove', { index, value: model.splice(index, 1)[0] })\n }\n else {\n if (this.maxValues !== void 0 && model.length >= this.maxValues) {\n return\n }\n\n const val = this.emitValue === true ? optValue : opt\n\n this.$emit('add', { index: model.length, value: val })\n model.push(val)\n }\n\n this.$emit('input', model)\n },\n\n setOptionIndex (index) {\n if (this.$q.platform.is.desktop !== true) { return }\n\n const val = index > -1 && index < this.virtualScrollLength\n ? index\n : -1\n\n if (this.optionIndex !== val) {\n this.optionIndex = val\n }\n },\n\n moveOptionSelection (offset = 1, skipInputValue) {\n if (this.menu === true) {\n let index = this.optionIndex\n do {\n index = normalizeToInterval(\n index + offset,\n -1,\n this.virtualScrollLength - 1\n )\n }\n while (index !== -1 && index !== this.optionIndex && this.isOptionDisabled(this.options[index]) === true)\n\n if (this.optionIndex !== index) {\n this.setOptionIndex(index)\n this.scrollTo(index)\n\n if (skipInputValue !== true && this.useInput === true && this.fillInput === true) {\n this.__setInputValue(index >= 0\n ? this.getOptionLabel(this.options[index])\n : this.defaultInputValue\n )\n }\n }\n }\n },\n\n __getOption (value, innerValueCache) {\n const fn = opt => isDeepEqual(this.getOptionValue(opt), value)\n return this.options.find(fn) || innerValueCache.find(fn) || value\n },\n\n __getPropValueFn (propName, defaultVal) {\n const val = this[propName] !== void 0\n ? this[propName]\n : defaultVal\n\n return typeof val === 'function'\n ? val\n : opt => isPlainObject(opt) === true && val in opt\n ? opt[val]\n : opt\n },\n\n isOptionSelected (opt) {\n const val = this.getOptionValue(opt)\n return this.innerOptionsValue.find(v => isDeepEqual(v, val)) !== void 0\n },\n\n __selectInputText (e) {\n if (\n this.useInput === true &&\n this.$refs.target !== void 0 &&\n (e === void 0 || (this.$refs.target === e.target && e.target.value === this.selectedString))\n ) {\n this.$refs.target.select()\n }\n },\n\n __onTargetKeyup (e) {\n // if ESC and we have an opened menu\n // then stop propagation (might be caught by a QDialog\n // and so it will also close the QDialog, which is wrong)\n if (isKeyCode(e, 27) === true && this.menu === true) {\n stop(e)\n // on ESC we need to close the dialog also\n this.hidePopup()\n this.__resetInputValue()\n }\n\n this.$emit('keyup', e)\n },\n\n __onTargetAutocomplete (e) {\n const { value } = e.target\n\n if (e.keyCode !== void 0) {\n this.__onTargetKeyup(e)\n return\n }\n\n e.target.value = ''\n clearTimeout(this.inputTimer)\n this.__resetInputValue()\n\n if (typeof value === 'string' && value.length > 0) {\n const needle = value.toLocaleLowerCase()\n const findFn = extractFn => {\n const option = this.options.find(opt => extractFn(opt).toLocaleLowerCase() === needle)\n\n if (option === void 0) {\n return false\n }\n\n if (this.innerValue.indexOf(option) === -1) {\n this.toggleOption(option)\n }\n else {\n this.hidePopup()\n }\n\n return true\n }\n const fillFn = afterFilter => {\n if (findFn(this.getOptionValue) === true) {\n return\n }\n if (findFn(this.getOptionLabel) === true || afterFilter === true) {\n return\n }\n\n this.filter(value, true, () => fillFn(true))\n }\n\n fillFn()\n }\n else {\n this.__clearValue(e)\n }\n },\n\n __onTargetKeypress (e) {\n this.$emit('keypress', e)\n },\n\n __onTargetKeydown (e) {\n this.$emit('keydown', e)\n\n if (shouldIgnoreKey(e) === true) {\n return\n }\n\n const newValueModeValid = this.inputValue.length > 0 &&\n (this.newValueMode !== void 0 || this.qListeners['new-value'] !== void 0)\n const tabShouldSelect = e.shiftKey !== true &&\n this.multiple !== true &&\n (this.optionIndex > -1 || newValueModeValid === true)\n\n // escape\n if (e.keyCode === 27) {\n prevent(e) // prevent clearing the inputValue\n return\n }\n\n // tab\n if (e.keyCode === 9 && tabShouldSelect === false) {\n this.__closeMenu()\n return\n }\n\n if (e.target === void 0 || e.target.id !== this.targetUid) { return }\n\n // down\n if (\n e.keyCode === 40 &&\n this.innerLoading !== true &&\n this.menu === false\n ) {\n stopAndPrevent(e)\n this.showPopup()\n return\n }\n\n // backspace\n if (\n e.keyCode === 8 &&\n this.hideSelected !== true &&\n this.inputValue.length === 0\n ) {\n if (this.multiple === true && Array.isArray(this.value)) {\n this.removeAtIndex(this.value.length - 1)\n }\n else if (this.multiple !== true && this.value !== null) {\n this.$emit('input', null)\n }\n return\n }\n\n // home, end - 36, 35\n if (\n (e.keyCode === 35 || e.keyCode === 36) &&\n (typeof this.inputValue !== 'string' || this.inputValue.length === 0)\n ) {\n stopAndPrevent(e)\n this.optionIndex = -1\n this.moveOptionSelection(e.keyCode === 36 ? 1 : -1, this.multiple)\n }\n\n // pg up, pg down - 33, 34\n if (\n (e.keyCode === 33 || e.keyCode === 34) &&\n this.virtualScrollSliceSizeComputed !== void 0\n ) {\n stopAndPrevent(e)\n this.optionIndex = Math.max(\n -1,\n Math.min(\n this.virtualScrollLength,\n this.optionIndex + (e.keyCode === 33 ? -1 : 1) * this.virtualScrollSliceSizeComputed.view\n )\n )\n this.moveOptionSelection(e.keyCode === 33 ? 1 : -1, this.multiple)\n }\n\n // up, down\n if (e.keyCode === 38 || e.keyCode === 40) {\n stopAndPrevent(e)\n this.moveOptionSelection(e.keyCode === 38 ? -1 : 1, this.multiple)\n }\n\n const optionsLength = this.virtualScrollLength\n\n // clear search buffer if expired\n if (this.searchBuffer === void 0 || this.searchBufferExp < Date.now()) {\n this.searchBuffer = ''\n }\n\n // keyboard search when not having use-input\n if (\n optionsLength > 0 &&\n this.useInput !== true &&\n e.key !== void 0 &&\n e.key.length === 1 && // printable char\n e.altKey === e.ctrlKey && // not kbd shortcut\n (e.keyCode !== 32 || this.searchBuffer.length > 0) // space in middle of search\n ) {\n this.menu !== true && this.showPopup(e)\n\n const\n char = e.key.toLocaleLowerCase(),\n keyRepeat = this.searchBuffer.length === 1 && this.searchBuffer[0] === char\n\n this.searchBufferExp = Date.now() + 1500\n if (keyRepeat === false) {\n stopAndPrevent(e)\n this.searchBuffer += char\n }\n\n const searchRe = new RegExp('^' + this.searchBuffer.split('').map(l => reEscapeList.indexOf(l) > -1 ? '\\\\' + l : l).join('.*'), 'i')\n\n let index = this.optionIndex\n\n if (keyRepeat === true || index < 0 || searchRe.test(this.getOptionLabel(this.options[index])) !== true) {\n do {\n index = normalizeToInterval(index + 1, -1, optionsLength - 1)\n }\n while (index !== this.optionIndex && (\n this.isOptionDisabled(this.options[index]) === true ||\n searchRe.test(this.getOptionLabel(this.options[index])) !== true\n ))\n }\n\n if (this.optionIndex !== index) {\n this.$nextTick(() => {\n this.setOptionIndex(index)\n this.scrollTo(index)\n\n if (index >= 0 && this.useInput === true && this.fillInput === true) {\n this.__setInputValue(this.getOptionLabel(this.options[index]))\n }\n })\n }\n\n return\n }\n\n // enter, space (when not using use-input and not in search), or tab (when not using multiple and option selected)\n // same target is checked above\n if (\n e.keyCode !== 13 &&\n (e.keyCode !== 32 || this.useInput === true || this.searchBuffer !== '') &&\n (e.keyCode !== 9 || tabShouldSelect === false)\n ) { return }\n\n e.keyCode !== 9 && stopAndPrevent(e)\n\n if (this.optionIndex > -1 && this.optionIndex < optionsLength) {\n this.toggleOption(this.options[this.optionIndex])\n return\n }\n\n if (newValueModeValid === true) {\n const done = (val, mode) => {\n if (mode) {\n if (validateNewValueMode(mode) !== true) {\n return\n }\n }\n else {\n mode = this.newValueMode\n }\n\n if (val === void 0 || val === null) {\n return\n }\n\n this.updateInputValue('', this.multiple !== true, true)\n\n this[mode === 'toggle' ? 'toggleOption' : 'add'](\n val,\n mode === 'add-unique'\n )\n\n if (this.multiple !== true) {\n this.$refs.target !== void 0 && this.$refs.target.focus()\n this.hidePopup()\n }\n }\n\n if (this.qListeners['new-value'] !== void 0) {\n this.$emit('new-value', this.inputValue, done)\n }\n else {\n done(this.inputValue)\n }\n\n if (this.multiple !== true) {\n return\n }\n }\n\n if (this.menu === true) {\n this.__closeMenu()\n }\n else if (this.innerLoading !== true) {\n this.showPopup()\n }\n },\n\n __getVirtualScrollEl () {\n return this.hasDialog === true\n ? this.$refs.menuContent\n : (\n this.$refs.menu !== void 0 && this.$refs.menu.__portal !== void 0\n ? this.$refs.menu.__portal.$el\n : void 0\n )\n },\n\n __getVirtualScrollTarget () {\n return this.__getVirtualScrollEl()\n },\n\n __getSelection (h) {\n if (this.hideSelected === true) {\n return []\n }\n\n if (this.$scopedSlots['selected-item'] !== void 0) {\n return this.selectedScope.map(scope => this.$scopedSlots['selected-item'](scope)).slice()\n }\n\n if (this.$scopedSlots.selected !== void 0) {\n return [].concat(this.$scopedSlots.selected())\n }\n\n if (this.useChips === true) {\n return this.selectedScope.map((scope, i) => h(QChip, {\n key: 'option-' + i,\n props: {\n removable: this.editable === true && this.isOptionDisabled(scope.opt) !== true,\n dense: true,\n textColor: this.color,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'rem#' + i, {\n remove () { scope.removeAtIndex(i) }\n })\n }, [\n h('span', {\n staticClass: 'ellipsis',\n domProps: {\n [scope.sanitize === true ? 'textContent' : 'innerHTML']: this.getOptionLabel(scope.opt)\n }\n })\n ]))\n }\n\n return [\n h('span', {\n domProps: {\n [this.displayAsText ? 'textContent' : 'innerHTML']: this.displayValue !== void 0\n ? this.displayValue\n : this.selectedString\n }\n })\n ]\n },\n\n __getControl (h, fromDialog) {\n const child = this.__getSelection(h)\n const isTarget = fromDialog === true || this.dialog !== true || this.hasDialog !== true\n\n if (this.useInput === true) {\n child.push(this.__getInput(h, fromDialog, isTarget))\n }\n // there can be only one (when dialog is opened the control in dialog should be target)\n else if (this.editable === true) {\n child.push(\n h('div', {\n ref: isTarget === true ? 'target' : void 0,\n key: 'd_t',\n staticClass: 'q-select__focus-target',\n attrs: {\n id: isTarget === true ? this.targetUid : void 0,\n tabindex: this.tabindex,\n ...this.comboboxAttrs\n },\n on: cache(this, 'f-tget', {\n keydown: this.__onTargetKeydown,\n keyup: this.__onTargetKeyup,\n keypress: this.__onTargetKeypress\n })\n })\n )\n\n if (isTarget === true && typeof this.autocomplete === 'string' && this.autocomplete.length > 0) {\n child.push(\n h('input', {\n staticClass: 'q-select__autocomplete-input',\n attrs: { autocomplete: this.autocomplete },\n on: cache(this, 'autoinp', {\n keyup: this.__onTargetAutocomplete\n })\n })\n )\n }\n }\n\n if (this.nameProp !== void 0 && this.disable !== true && this.innerOptionsValue.length > 0) {\n const opts = this.innerOptionsValue.map(value => h('option', {\n attrs: { value, selected: true }\n }))\n\n child.push(\n h('select', {\n staticClass: 'hidden',\n attrs: {\n name: this.nameProp,\n multiple: this.multiple\n }\n }, opts)\n )\n }\n\n return h('div', { staticClass: 'q-field__native row items-center', attrs: this.qAttrs }, child)\n },\n\n __getOptions (h) {\n if (this.menu !== true) {\n return void 0\n }\n\n if (\n this.$scopedSlots.option !== void 0 &&\n this.__optionScopeCache.optionSlot !== this.$scopedSlots.option\n ) {\n this.__optionScopeCache.optionSlot = this.$scopedSlots.option\n this.__optionScopeCache.optionEls = []\n }\n\n const fn = this.$scopedSlots.option !== void 0\n ? this.$scopedSlots.option\n : scope => h(QItem, {\n key: scope.index,\n props: scope.itemProps,\n attrs: scope.itemAttrs,\n on: scope.itemEvents\n }, [\n h(QItemSection, [\n h(QItemLabel, {\n domProps: {\n [scope.sanitize === true ? 'textContent' : 'innerHTML']: this.getOptionLabel(scope.opt)\n }\n })\n ])\n ])\n\n const { optionEls } = this.__optionScopeCache\n\n let options = this.__padVirtualScroll(h, 'div', this.optionScope.map((scope, i) => {\n if (optionEls[i] === void 0) {\n optionEls[i] = fn(scope)\n }\n\n return optionEls[i]\n }))\n\n if (this.$scopedSlots['before-options'] !== void 0) {\n options = this.$scopedSlots['before-options']().concat(options)\n }\n\n return mergeSlot(options, this, 'after-options')\n },\n\n __getInnerAppend (h) {\n return this.loading !== true && this.innerLoadingIndicator !== true && this.hideDropdownIcon !== true\n ? [\n h(QIcon, {\n staticClass: 'q-select__dropdown-icon' + (this.menu === true ? ' rotate-180' : ''),\n props: { name: this.dropdownArrowIcon }\n })\n ]\n : null\n },\n\n __getInput (h, fromDialog, isTarget) {\n const options = {\n ref: isTarget === true ? 'target' : void 0,\n key: 'i_t',\n staticClass: 'q-field__input q-placeholder col',\n style: this.inputStyle,\n class: this.computedInputClass,\n domProps: { value: this.inputValue !== void 0 ? this.inputValue : '' },\n attrs: {\n // required for Android in order to show ENTER key when in form\n type: 'search',\n ...this.qAttrs,\n id: isTarget === true ? this.targetUid : void 0,\n maxlength: this.maxlength, // this is converted to prop by QField\n tabindex: this.tabindex,\n autocomplete: this.autocomplete,\n 'data-autofocus': fromDialog === true ? false : this.autofocus,\n disabled: this.disable === true,\n readonly: this.readonly === true,\n ...this.comboboxAttrs\n },\n on: this.inputControlEvents\n }\n\n if (fromDialog !== true && this.hasDialog === true) {\n options.staticClass += ' no-pointer-events'\n }\n\n return h('input', options)\n },\n\n __onChange (e) {\n this.__onComposition(e)\n },\n\n __onInput (e) {\n clearTimeout(this.inputTimer)\n\n if (e && e.target && e.target.composing === true) {\n return\n }\n\n this.__setInputValue(e.target.value || '')\n // mark it here as user input so that if updateInputValue is called\n // before filter is called the indicator is reset\n this.userInputValue = true\n this.defaultInputValue = this.inputValue\n\n if (\n this.focused !== true &&\n (this.hasDialog !== true || this.dialogFieldFocused === true)\n ) {\n this.__focus()\n }\n\n if (this.qListeners.filter !== void 0) {\n this.inputTimer = setTimeout(() => {\n this.filter(this.inputValue)\n }, this.inputDebounce)\n }\n },\n\n __setInputValue (inputValue) {\n if (this.inputValue !== inputValue) {\n this.inputValue = inputValue\n this.$emit('input-value', inputValue)\n }\n },\n\n updateInputValue (val, noFiltering, internal) {\n this.userInputValue = internal !== true\n\n if (this.useInput === true) {\n this.__setInputValue(val)\n\n if (noFiltering === true || internal !== true) {\n this.defaultInputValue = val\n }\n\n noFiltering !== true && this.filter(val)\n }\n },\n\n filter (val, keepClosed, afterUpdateFn) {\n if (this.qListeners.filter === void 0 || (keepClosed !== true && this.focused !== true)) {\n return\n }\n\n if (this.innerLoading === true) {\n this.$emit('filter-abort')\n }\n else {\n this.innerLoading = true\n this.innerLoadingIndicator = true\n }\n\n if (\n val !== '' &&\n this.multiple !== true &&\n this.innerValue.length > 0 &&\n this.userInputValue !== true &&\n val === this.getOptionLabel(this.innerValue[0])\n ) {\n val = ''\n }\n\n const filterId = setTimeout(() => {\n this.menu === true && (this.menu = false)\n }, 10)\n clearTimeout(this.filterId)\n this.filterId = filterId\n\n this.$emit(\n 'filter',\n val,\n (fn, afterFn) => {\n if ((keepClosed === true || this.focused === true) && this.filterId === filterId) {\n clearTimeout(this.filterId)\n\n typeof fn === 'function' && fn()\n\n // hide indicator to allow arrow to animate\n this.innerLoadingIndicator = false\n\n this.$nextTick(() => {\n this.innerLoading = false\n\n if (this.editable === true) {\n if (keepClosed === true) {\n this.menu === true && this.hidePopup()\n }\n else if (this.menu === true) {\n this.__updateMenu(true)\n }\n else {\n this.menu = true\n }\n }\n\n typeof afterFn === 'function' && this.$nextTick(() => { afterFn(this) })\n typeof afterUpdateFn === 'function' && this.$nextTick(() => { afterUpdateFn(this) })\n })\n }\n },\n () => {\n if (this.focused === true && this.filterId === filterId) {\n clearTimeout(this.filterId)\n this.innerLoading = false\n this.innerLoadingIndicator = false\n }\n this.menu === true && (this.menu = false)\n }\n )\n },\n\n __getControlEvents () {\n const focusout = e => {\n this.__onControlFocusout(e, () => {\n this.__resetInputValue()\n this.__closeMenu()\n })\n }\n\n return {\n focusin: this.__onControlFocusin,\n focusout,\n 'popup-show': this.__onControlPopupShow,\n 'popup-hide': e => {\n e !== void 0 && stop(e)\n this.$emit('popup-hide', e)\n this.hasPopupOpen = false\n focusout(e)\n },\n click: e => {\n if (this.hasDialog !== true) {\n // label from QField will propagate click on the input (except IE)\n prevent(e)\n\n if (this.menu === true) {\n this.__closeMenu()\n this.$refs.target !== void 0 && this.$refs.target.focus()\n return\n }\n }\n\n this.showPopup(e)\n }\n }\n },\n\n __getControlChild (h) {\n if (\n this.editable !== false && (\n this.dialog === true || // dialog always has menu displayed, so need to render it\n this.noOptions !== true ||\n this.$scopedSlots['no-option'] !== void 0\n )\n ) {\n return this[`__get${this.hasDialog === true ? 'Dialog' : 'Menu'}`](h)\n }\n },\n\n __getMenu (h) {\n const child = this.noOptions === true\n ? (\n this.$scopedSlots['no-option'] !== void 0\n ? this.$scopedSlots['no-option']({ inputValue: this.inputValue })\n : null\n )\n : this.__getOptions(h)\n\n return h(QMenu, {\n ref: 'menu',\n props: {\n value: this.menu,\n fit: this.menuShrink !== true,\n cover: this.optionsCover === true && this.noOptions !== true && this.useInput !== true,\n anchor: this.menuAnchor,\n self: this.menuSelf,\n offset: this.menuOffset,\n contentClass: this.menuContentClass,\n contentStyle: this.popupContentStyle,\n dark: this.isOptionsDark,\n noParentEvent: true,\n noRefocus: true,\n noFocus: true,\n square: this.squaredMenu,\n transitionShow: this.transitionShow,\n transitionHide: this.transitionHide,\n separateClosePopup: true\n },\n attrs: this.listboxAttrs,\n on: cache(this, 'menu', {\n '&scroll': this.__onVirtualScrollEvt,\n 'before-hide': this.__closeMenu,\n show: this.__onMenuShow\n })\n }, child)\n },\n\n __onMenuShow () {\n this.__setVirtualScrollSize()\n },\n\n __onDialogFieldFocus (e) {\n stop(e)\n this.$refs.target !== void 0 && this.$refs.target.focus()\n this.dialogFieldFocused = true\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, 0)\n },\n\n __onDialogFieldBlur (e) {\n stop(e)\n this.$nextTick(() => {\n this.dialogFieldFocused = false\n })\n },\n\n __getDialog (h) {\n const content = [\n h(QField, {\n staticClass: `col-auto ${this.fieldClass}`,\n props: {\n ...this.$props,\n for: this.targetUid,\n dark: this.isOptionsDark,\n square: true,\n filled: true,\n itemAligned: false,\n loading: this.innerLoadingIndicator,\n stackLabel: this.inputValue.length > 0\n },\n on: {\n ...this.qListeners,\n focus: this.__onDialogFieldFocus,\n blur: this.__onDialogFieldBlur\n },\n scopedSlots: {\n ...this.$scopedSlots,\n rawControl: () => this.__getControl(h, true),\n before: void 0,\n after: void 0\n }\n })\n ]\n\n this.menu === true && content.push(\n h('div', {\n ref: 'menuContent',\n staticClass: 'scroll',\n class: this.menuContentClass,\n style: this.popupContentStyle,\n attrs: this.listboxAttrs,\n on: cache(this, 'virtMenu', {\n click: prevent,\n '&scroll': this.__onVirtualScrollEvt\n })\n }, (\n this.noOptions === true\n ? (\n this.$scopedSlots['no-option'] !== void 0\n ? this.$scopedSlots['no-option']({ inputValue: this.inputValue })\n : null\n )\n : this.__getOptions(h)\n ))\n )\n\n return h(QDialog, {\n ref: 'dialog',\n props: {\n value: this.dialog,\n dark: this.isOptionsDark,\n position: this.useInput === true ? 'top' : void 0,\n transitionShow: this.transitionShowComputed,\n transitionHide: this.transitionHide\n },\n on: cache(this, 'dialog', {\n 'before-hide': this.__onDialogBeforeHide,\n hide: this.__onDialogHide,\n show: this.__onDialogShow\n })\n }, [\n h('div', {\n staticClass: 'q-select__dialog' +\n (this.isOptionsDark === true ? ' q-select__dialog--dark q-dark' : '') +\n (this.dialogFieldFocused === true ? ' q-select__dialog--focused' : '')\n }, content)\n ])\n },\n\n __onDialogBeforeHide () {\n if (client.is.mobile !== true) {\n this.$refs.dialog.__refocusTarget = this.$el.querySelector('.q-field__native > [tabindex]:last-child')\n }\n this.focused = false\n },\n\n __onDialogHide (e) {\n this.hidePopup()\n this.focused === false && this.$emit('blur', e)\n this.__resetInputValue()\n },\n\n __onDialogShow () {\n const el = document.activeElement\n // IE can have null document.activeElement\n if (\n (el === null || el.id !== this.targetUid) &&\n this.$refs.target !== el &&\n this.$refs.target !== void 0\n ) {\n this.$refs.target.focus()\n }\n\n this.__setVirtualScrollSize()\n },\n\n __closeMenu () {\n if (this.__optionScopeCache !== void 0) {\n this.__optionScopeCache.optionEls = []\n }\n\n if (this.dialog === true) {\n return\n }\n\n this.optionIndex = -1\n\n if (this.menu === true) {\n this.menu = false\n }\n\n if (this.focused === false) {\n clearTimeout(this.filterId)\n this.filterId = void 0\n\n if (this.innerLoading === true) {\n this.$emit('filter-abort')\n this.innerLoading = false\n this.innerLoadingIndicator = false\n }\n }\n },\n\n showPopup (e) {\n if (this.editable !== true) {\n return\n }\n\n if (this.hasDialog === true) {\n this.__onControlFocusin(e)\n this.dialog = true\n this.$nextTick(() => {\n this.__focus()\n })\n }\n else {\n this.__focus()\n }\n\n if (this.qListeners.filter !== void 0) {\n this.filter(this.inputValue)\n }\n else if (this.noOptions !== true || this.$scopedSlots['no-option'] !== void 0) {\n this.menu = true\n }\n },\n\n hidePopup () {\n this.dialog = false\n this.__closeMenu()\n },\n\n __resetInputValue () {\n this.useInput === true && this.updateInputValue(\n this.multiple !== true && this.fillInput === true && this.innerValue.length > 0\n ? this.getOptionLabel(this.innerValue[0]) || ''\n : '',\n true,\n true\n )\n },\n\n __updateMenu (show) {\n let optionIndex = -1\n\n if (show === true) {\n if (this.innerValue.length > 0) {\n const val = this.getOptionValue(this.innerValue[0])\n optionIndex = this.options.findIndex(v => isDeepEqual(this.getOptionValue(v), val))\n }\n\n this.__resetVirtualScroll(optionIndex)\n }\n\n this.setOptionIndex(optionIndex)\n },\n\n __onPreRender () {\n this.hasDialog = this.$q.platform.is.mobile !== true && this.behavior !== 'dialog'\n ? false\n : this.behavior !== 'menu' && (\n this.useInput === true\n ? this.$scopedSlots['no-option'] !== void 0 || this.qListeners.filter !== void 0 || this.noOptions === false\n : true\n )\n\n this.transitionShowComputed = this.hasDialog === true && this.useInput === true && this.$q.platform.is.ios === true\n ? 'fade'\n : this.transitionShow\n },\n\n __onPostRender () {\n if (this.dialog === false && this.$refs.menu !== void 0) {\n this.$refs.menu.updatePosition()\n }\n },\n\n updateMenuPosition () {\n this.__onPostRender()\n }\n },\n\n beforeMount () {\n this.__optionScopeCache = {\n optionSlot: this.$scopedSlots.option,\n options: [],\n optionEls: []\n }\n },\n\n beforeDestroy () {\n this.__optionScopeCache = void 0\n clearTimeout(this.inputTimer)\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport TagMixin from '../../mixins/tag.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport const skeletonTypes = [\n 'text', 'rect', 'circle',\n 'QBtn', 'QBadge', 'QChip', 'QToolbar',\n 'QCheckbox', 'QRadio', 'QToggle',\n 'QSlider', 'QRange', 'QInput',\n 'QAvatar'\n]\n\nexport const skeletonAnimations = [\n 'wave', 'pulse', 'pulse-x', 'pulse-y', 'fade', 'blink', 'none'\n]\n\nexport default Vue.extend({\n name: 'QSkeleton',\n\n mixins: [ DarkMixin, TagMixin, ListenersMixin ],\n\n props: {\n type: {\n type: String,\n validator: v => skeletonTypes.includes(v),\n default: 'rect'\n },\n\n animation: {\n type: String,\n validator: v => skeletonAnimations.includes(v),\n default: 'wave'\n },\n\n square: Boolean,\n bordered: Boolean,\n\n size: String,\n width: String,\n height: String\n },\n\n computed: {\n style () {\n return this.size !== void 0\n ? { width: this.size, height: this.size }\n : { width: this.width, height: this.height }\n },\n\n classes () {\n return `q-skeleton--${this.isDark === true ? 'dark' : 'light'} q-skeleton--type-${this.type}` +\n (this.animation !== 'none' ? ` q-skeleton--anim q-skeleton--anim-${this.animation}` : '') +\n (this.square === true ? ' q-skeleton--square' : '') +\n (this.bordered === true ? ' q-skeleton--bordered' : '')\n }\n },\n\n render (h) {\n return h(this.tag, {\n staticClass: 'q-skeleton',\n class: this.classes,\n style: this.style,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { cacheWithFn } from '../../utils/cache.js'\n\nconst slotsDef = [\n ['left', 'center', 'start', 'width'],\n ['right', 'center', 'end', 'width'],\n ['top', 'start', 'center', 'height'],\n ['bottom', 'end', 'center', 'height']\n]\n\nexport default Vue.extend({\n name: 'QSlideItem',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n props: {\n leftColor: String,\n rightColor: String,\n topColor: String,\n bottomColor: String\n },\n\n directives: {\n TouchPan\n },\n\n computed: {\n langDir () {\n return this.$q.lang.rtl === true\n ? { left: 'right', right: 'left' }\n : { left: 'left', right: 'right' }\n }\n },\n\n methods: {\n reset () {\n this.$refs.content.style.transform = 'translate(0,0)'\n this.__emitSlide(this.__showing, 0, true)\n },\n\n __emitSlide (side, ratio, isReset) {\n this.qListeners.slide !== void 0 && this.$emit('slide', { side, ratio, isReset })\n },\n\n __pan (evt) {\n const node = this.$refs.content\n\n if (evt.isFirst) {\n this.__dir = null\n this.__size = { left: 0, right: 0, top: 0, bottom: 0 }\n this.__scale = 0\n\n node.classList.add('no-transition')\n\n slotsDef.forEach(slot => {\n if (this.$scopedSlots[slot[0]] !== void 0) {\n const node = this.$refs[slot[0] + 'Content']\n node.style.transform = 'scale(1)'\n this.__size[slot[0]] = node.getBoundingClientRect()[slot[3]]\n }\n })\n\n this.__axis = (evt.direction === 'up' || evt.direction === 'down')\n ? 'Y'\n : 'X'\n }\n else if (evt.isFinal) {\n node.classList.remove('no-transition')\n\n if (this.__scale === 1) {\n node.style.transform = `translate${this.__axis}(${this.__dir * 100}%)`\n\n this.timer = setTimeout(() => {\n this.$emit(this.__showing, { reset: this.reset })\n this.$emit('action', { side: this.__showing, reset: this.reset })\n }, 230)\n }\n else {\n node.style.transform = 'translate(0,0)'\n this.__emitSlide(this.__showing, 0, true)\n }\n\n return\n }\n else {\n evt.direction = this.__axis === 'X'\n ? evt.offset.x < 0 ? 'left' : 'right'\n : evt.offset.y < 0 ? 'up' : 'down'\n }\n\n if (\n (this.$scopedSlots.left === void 0 && evt.direction === this.langDir.right) ||\n (this.$scopedSlots.right === void 0 && evt.direction === this.langDir.left) ||\n (this.$scopedSlots.top === void 0 && evt.direction === 'down') ||\n (this.$scopedSlots.bottom === void 0 && evt.direction === 'up')\n ) {\n node.style.transform = 'translate(0,0)'\n return\n }\n\n let showing, dir, dist\n\n if (this.__axis === 'X') {\n dir = evt.direction === 'left' ? -1 : 1\n showing = dir === 1 ? this.langDir.left : this.langDir.right\n dist = evt.distance.x\n }\n else {\n dir = evt.direction === 'up' ? -2 : 2\n showing = dir === 2 ? 'top' : 'bottom'\n dist = evt.distance.y\n }\n\n if (this.__dir !== null && Math.abs(dir) !== Math.abs(this.__dir)) {\n return\n }\n\n if (this.__dir !== dir) {\n ['left', 'right', 'top', 'bottom'].forEach(d => {\n if (this.$refs[d] !== void 0) {\n this.$refs[d].style.visibility = showing === d\n ? 'visible'\n : 'hidden'\n }\n })\n this.__showing = showing\n this.__dir = dir\n }\n\n this.__scale = Math.max(0, Math.min(1, (dist - 40) / this.__size[showing]))\n\n node.style.transform = `translate${this.__axis}(${dist * dir / Math.abs(dir)}px)`\n this.$refs[`${showing}Content`].style.transform = `scale(${this.__scale})`\n\n this.__emitSlide(showing, this.__scale, false)\n }\n },\n\n render (h) {\n const\n content = [],\n slots = {\n left: this.$scopedSlots[this.langDir.right] !== void 0,\n right: this.$scopedSlots[this.langDir.left] !== void 0,\n up: this.$scopedSlots.bottom !== void 0,\n down: this.$scopedSlots.top !== void 0\n },\n dirs = Object.keys(slots).filter(key => slots[key] === true)\n\n slotsDef.forEach(slot => {\n const dir = slot[0]\n\n if (this.$scopedSlots[dir] !== void 0) {\n content.push(\n h('div', {\n ref: dir,\n class: `q-slide-item__${dir} absolute-full row no-wrap items-${slot[1]} justify-${slot[2]}` +\n (this[dir + 'Color'] !== void 0 ? ` bg-${this[dir + 'Color']}` : '')\n }, [\n h('div', { ref: dir + 'Content' }, this.$scopedSlots[dir]())\n ])\n )\n }\n })\n\n content.push(\n h('div', {\n ref: 'content',\n key: 'content',\n staticClass: 'q-slide-item__content',\n directives: dirs.length > 0\n ? cacheWithFn(this, 'dir#' + dirs.join(''), () => {\n const modifiers = {\n prevent: true,\n stop: true,\n mouse: true\n }\n\n dirs.forEach(dir => {\n modifiers[dir] = true\n })\n\n return [{\n name: 'touch-pan',\n value: this.__pan,\n modifiers\n }]\n })\n : null\n }, slot(this, 'default'))\n )\n\n return h('div', {\n staticClass: 'q-slide-item q-item-type overflow-hidden',\n class: this.isDark === true ? 'q-slide-item--dark q-dark' : '',\n on: { ...this.qListeners }\n }, content)\n },\n\n beforeDestroy () {\n clearTimeout(this.timer)\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default Vue.extend({\n name: 'QSpace',\n\n mixins: [ ListenersMixin ],\n\n render (h) {\n return h('div', {\n staticClass: 'q-space',\n on: { ...this.qListeners }\n })\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerAudio',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'fill': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 55 80',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'transform': 'matrix(1 0 0 -1 0 80)'\n }\n }, [\n h('rect', {\n attrs: {\n 'width': '10',\n 'height': '20',\n 'rx': '3'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0s',\n 'dur': '4.3s',\n 'values': '20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '15',\n 'width': '10',\n 'height': '80',\n 'rx': '3'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0s',\n 'dur': '2s',\n 'values': '80;55;33;5;75;23;73;33;12;14;60;80',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '30',\n 'width': '10',\n 'height': '50',\n 'rx': '3'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0s',\n 'dur': '1.4s',\n 'values': '50;34;78;23;56;23;34;76;80;54;21;50',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '45',\n 'width': '10',\n 'height': '30',\n 'rx': '3'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0s',\n 'dur': '2s',\n 'values': '30;45;13;80;56;72;45;76;34;23;67;30',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerBall',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'stroke': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 57 57',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'transform': 'translate(1 1)',\n 'stroke-width': '2',\n 'fill': 'none',\n 'fill-rule': 'evenodd'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '5',\n 'cy': '50',\n 'r': '5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'cy',\n 'begin': '0s',\n 'dur': '2.2s',\n 'values': '50;5;50;50',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'cx',\n 'begin': '0s',\n 'dur': '2.2s',\n 'values': '5;27;49;5',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '27',\n 'cy': '5',\n 'r': '5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'cy',\n 'begin': '0s',\n 'dur': '2.2s',\n 'from': '5',\n 'to': '5',\n 'values': '5;50;50;5',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'cx',\n 'begin': '0s',\n 'dur': '2.2s',\n 'from': '27',\n 'to': '27',\n 'values': '27;49;5;27',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '49',\n 'cy': '50',\n 'r': '5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'cy',\n 'begin': '0s',\n 'dur': '2.2s',\n 'values': '50;50;5;50',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'cx',\n 'from': '49',\n 'to': '49',\n 'begin': '0s',\n 'dur': '2.2s',\n 'values': '49;5;27;49',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerBars',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'fill': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 135 140',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('rect', {\n attrs: {\n 'y': '10',\n 'width': '15',\n 'height': '120',\n 'rx': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0.5s',\n 'dur': '1s',\n 'values': '120;110;100;90;80;70;60;50;40;140;120',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'begin': '0.5s',\n 'dur': '1s',\n 'values': '10;15;20;25;30;35;40;45;50;0;10',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '30',\n 'y': '10',\n 'width': '15',\n 'height': '120',\n 'rx': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0.25s',\n 'dur': '1s',\n 'values': '120;110;100;90;80;70;60;50;40;140;120',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'begin': '0.25s',\n 'dur': '1s',\n 'values': '10;15;20;25;30;35;40;45;50;0;10',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '60',\n 'width': '15',\n 'height': '140',\n 'rx': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0s',\n 'dur': '1s',\n 'values': '120;110;100;90;80;70;60;50;40;140;120',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'begin': '0s',\n 'dur': '1s',\n 'values': '10;15;20;25;30;35;40;45;50;0;10',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '90',\n 'y': '10',\n 'width': '15',\n 'height': '120',\n 'rx': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0.25s',\n 'dur': '1s',\n 'values': '120;110;100;90;80;70;60;50;40;140;120',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'begin': '0.25s',\n 'dur': '1s',\n 'values': '10;15;20;25;30;35;40;45;50;0;10',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '120',\n 'y': '10',\n 'width': '15',\n 'height': '120',\n 'rx': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'begin': '0.5s',\n 'dur': '1s',\n 'values': '120;110;100;90;80;70;60;50;40;140;120',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'begin': '0.5s',\n 'dur': '1s',\n 'values': '10;15;20;25;30;35;40;45;50;0;10',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerBox',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '25',\n 'y': '25',\n 'width': '50',\n 'height': '50',\n 'fill': 'none',\n 'stroke-width': '4',\n 'stroke': 'currentColor'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'id': 'spinnerBox',\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '180 50 50',\n 'dur': '0.5s',\n 'begin': 'rectBox.end'\n }\n })\n ]),\n h('rect', {\n attrs: {\n 'x': '27',\n 'y': '27',\n 'width': '46',\n 'height': '50',\n 'fill': 'currentColor'\n }\n }, [\n h('animate', {\n attrs: {\n 'id': 'rectBox',\n 'attributeName': 'height',\n 'begin': '0s;spinnerBox.end',\n 'dur': '1.3s',\n 'from': '50',\n 'to': '0',\n 'fill': 'freeze'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerClock',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '50',\n 'cy': '50',\n 'r': '48',\n 'fill': 'none',\n 'stroke-width': '4',\n 'stroke-miterlimit': '10',\n 'stroke': 'currentColor'\n }\n }),\n h('line', {\n attrs: {\n 'stroke-linecap': 'round',\n 'stroke-width': '4',\n 'stroke-miterlimit': '10',\n 'stroke': 'currentColor',\n 'x1': '50',\n 'y1': '50',\n 'x2': '85',\n 'y2': '50.5'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '360 50 50',\n 'dur': '2s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'stroke-linecap': 'round',\n 'stroke-width': '4',\n 'stroke-miterlimit': '10',\n 'stroke': 'currentColor',\n 'x1': '50',\n 'y1': '50',\n 'x2': '49.5',\n 'y2': '74'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '360 50 50',\n 'dur': '15s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerComment',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '0',\n 'y': '0',\n 'width': '100',\n 'height': '100',\n 'fill': 'none'\n }\n }),\n h('path', {\n attrs: {\n 'd': 'M78,19H22c-6.6,0-12,5.4-12,12v31c0,6.6,5.4,12,12,12h37.2c0.4,3,1.8,5.6,3.7,7.6c2.4,2.5,5.1,4.1,9.1,4 c-1.4-2.1-2-7.2-2-10.3c0-0.4,0-0.8,0-1.3h8c6.6,0,12-5.4,12-12V31C90,24.4,84.6,19,78,19z',\n 'fill': 'currentColor'\n }\n }),\n h('circle', {\n attrs: {\n 'cx': '30',\n 'cy': '47',\n 'r': '5',\n 'fill': '#fff'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'opacity',\n 'from': '0',\n 'to': '1',\n 'values': '0;1;1',\n 'keyTimes': '0;0.2;1',\n 'dur': '1s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '50',\n 'cy': '47',\n 'r': '5',\n 'fill': '#fff'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'opacity',\n 'from': '0',\n 'to': '1',\n 'values': '0;0;1;1',\n 'keyTimes': '0;0.2;0.4;1',\n 'dur': '1s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '70',\n 'cy': '47',\n 'r': '5',\n 'fill': '#fff'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'opacity',\n 'from': '0',\n 'to': '1',\n 'values': '0;0;1;1',\n 'keyTimes': '0;0.4;0.6;1',\n 'dur': '1s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerCube',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '0',\n 'y': '0',\n 'width': '100',\n 'height': '100',\n 'fill': 'none'\n }\n }),\n h('g', {\n attrs: {\n 'transform': 'translate(25 25)'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '-20',\n 'y': '-20',\n 'width': '40',\n 'height': '40',\n 'fill': 'currentColor',\n 'opacity': '0.9'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '1.5',\n 'to': '1',\n 'repeatCount': 'indefinite',\n 'begin': '0s',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.2 0.8 0.2 0.8',\n 'keyTimes': '0;1'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(75 25)'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '-20',\n 'y': '-20',\n 'width': '40',\n 'height': '40',\n 'fill': 'currentColor',\n 'opacity': '0.8'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '1.5',\n 'to': '1',\n 'repeatCount': 'indefinite',\n 'begin': '0.1s',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.2 0.8 0.2 0.8',\n 'keyTimes': '0;1'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(25 75)'\n }\n }, [\n h('rect', {\n staticClass: 'cube',\n attrs: {\n 'x': '-20',\n 'y': '-20',\n 'width': '40',\n 'height': '40',\n 'fill': 'currentColor',\n 'opacity': '0.7'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '1.5',\n 'to': '1',\n 'repeatCount': 'indefinite',\n 'begin': '0.3s',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.2 0.8 0.2 0.8',\n 'keyTimes': '0;1'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(75 75)'\n }\n }, [\n h('rect', {\n staticClass: 'cube',\n attrs: {\n 'x': '-20',\n 'y': '-20',\n 'width': '40',\n 'height': '40',\n 'fill': 'currentColor',\n 'opacity': '0.6'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '1.5',\n 'to': '1',\n 'repeatCount': 'indefinite',\n 'begin': '0.2s',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.2 0.8 0.2 0.8',\n 'keyTimes': '0;1'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerDots',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'fill': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 120 30',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '15',\n 'cy': '15',\n 'r': '15'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'from': '15',\n 'to': '15',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '15;9;15',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'from': '1',\n 'to': '1',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '1;.5;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '60',\n 'cy': '15',\n 'r': '9',\n 'fill-opacity': '.3'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'from': '9',\n 'to': '9',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '9;15;9',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'from': '.5',\n 'to': '.5',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '.5;1;.5',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '105',\n 'cy': '15',\n 'r': '15'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'from': '15',\n 'to': '15',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '15;9;15',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'from': '1',\n 'to': '1',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '1;.5;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerFacebook',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 100 100',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('g', {\n attrs: {\n 'transform': 'translate(20 50)'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '-10',\n 'y': '-30',\n 'width': '20',\n 'height': '60',\n 'fill': 'currentColor',\n 'opacity': '0.6'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '2',\n 'to': '1',\n 'begin': '0s',\n 'repeatCount': 'indefinite',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.1 0.9 0.4 1',\n 'keyTimes': '0;1',\n 'values': '2;1'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(50 50)'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '-10',\n 'y': '-30',\n 'width': '20',\n 'height': '60',\n 'fill': 'currentColor',\n 'opacity': '0.8'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '2',\n 'to': '1',\n 'begin': '0.1s',\n 'repeatCount': 'indefinite',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.1 0.9 0.4 1',\n 'keyTimes': '0;1',\n 'values': '2;1'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(80 50)'\n }\n }, [\n h('rect', {\n attrs: {\n 'x': '-10',\n 'y': '-30',\n 'width': '20',\n 'height': '60',\n 'fill': 'currentColor',\n 'opacity': '0.9'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'scale',\n 'from': '2',\n 'to': '1',\n 'begin': '0.2s',\n 'repeatCount': 'indefinite',\n 'dur': '1s',\n 'calcMode': 'spline',\n 'keySplines': '0.1 0.9 0.4 1',\n 'keyTimes': '0;1',\n 'values': '2;1'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerGears',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'transform': 'translate(-20,-20)'\n }\n }, [\n h('path', {\n attrs: {\n 'd': 'M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z',\n 'fill': 'currentColor'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '90 50 50',\n 'to': '0 50 50',\n 'dur': '1s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(20,20) rotate(15 50 50)'\n }\n }, [\n h('path', {\n attrs: {\n 'd': 'M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z',\n 'fill': 'currentColor'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '90 50 50',\n 'dur': '1s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerGrid',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'fill': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 105 105',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '12.5',\n 'cy': '12.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '0s',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '12.5',\n 'cy': '52.5',\n 'r': '12.5',\n 'fill-opacity': '.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '100ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '52.5',\n 'cy': '12.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '300ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '52.5',\n 'cy': '52.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '600ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '92.5',\n 'cy': '12.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '800ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '92.5',\n 'cy': '52.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '400ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '12.5',\n 'cy': '92.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '700ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '52.5',\n 'cy': '92.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '500ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '92.5',\n 'cy': '92.5',\n 'r': '12.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '200ms',\n 'dur': '1s',\n 'values': '1;.2;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerHearts',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'fill': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 140 64',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('path', {\n attrs: {\n 'd': 'M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.716-6.002 11.47-7.65 17.304-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z',\n 'fill-opacity': '.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '0s',\n 'dur': '1.4s',\n 'values': '0.5;1;0.5',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.593-2.32 17.308 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z',\n 'fill-opacity': '.5'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'begin': '0.7s',\n 'dur': '1.4s',\n 'values': '0.5;1;0.5',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z'\n }\n })\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerHourglass',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', [\n h('path', {\n staticClass: 'glass',\n attrs: {\n 'fill': 'none',\n 'stroke': 'currentColor',\n 'stroke-width': '5',\n 'stroke-miterlimit': '10',\n 'd': 'M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z'\n }\n }),\n h('clipPath', {\n attrs: {\n 'id': 'uil-hourglass-clip1'\n }\n }, [\n h('rect', {\n staticClass: 'clip',\n attrs: {\n 'x': '15',\n 'y': '20',\n 'width': '70',\n 'height': '25'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'from': '25',\n 'to': '0',\n 'dur': '1s',\n 'repeatCount': 'indefinite',\n 'values': '25;0;0',\n 'keyTimes': '0;0.5;1'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'from': '20',\n 'to': '45',\n 'dur': '1s',\n 'repeatCount': 'indefinite',\n 'values': '20;45;45',\n 'keyTimes': '0;0.5;1'\n }\n })\n ])\n ]),\n h('clipPath', {\n attrs: {\n 'id': 'uil-hourglass-clip2'\n }\n }, [\n h('rect', {\n staticClass: 'clip',\n attrs: {\n 'x': '15',\n 'y': '55',\n 'width': '70',\n 'height': '25'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'height',\n 'from': '0',\n 'to': '25',\n 'dur': '1s',\n 'repeatCount': 'indefinite',\n 'values': '0;25;25',\n 'keyTimes': '0;0.5;1'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'y',\n 'from': '80',\n 'to': '55',\n 'dur': '1s',\n 'repeatCount': 'indefinite',\n 'values': '80;55;55',\n 'keyTimes': '0;0.5;1'\n }\n })\n ])\n ]),\n h('path', {\n staticClass: 'sand',\n attrs: {\n 'd': 'M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z',\n 'clip-path': 'url(#uil-hourglass-clip1)',\n 'fill': 'currentColor'\n }\n }),\n h('path', {\n staticClass: 'sand',\n attrs: {\n 'd': 'M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z',\n 'clip-path': 'url(#uil-hourglass-clip2)',\n 'fill': 'currentColor'\n }\n }),\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '180 50 50',\n 'repeatCount': 'indefinite',\n 'dur': '1s',\n 'values': '0 50 50;0 50 50;180 50 50',\n 'keyTimes': '0;0.7;1'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerInfinity',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('path', {\n attrs: {\n 'd': 'M24.3,30C11.4,30,5,43.3,5,50s6.4,20,19.3,20c19.3,0,32.1-40,51.4-40C88.6,30,95,43.3,95,50s-6.4,20-19.3,20C56.4,70,43.6,30,24.3,30z',\n 'fill': 'none',\n 'stroke': 'currentColor',\n 'stroke-width': '8',\n 'stroke-dasharray': '10.691205342610678 10.691205342610678',\n 'stroke-dashoffset': '0'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-dashoffset',\n 'from': '0',\n 'to': '21.382410685221355',\n 'begin': '0',\n 'dur': '2s',\n 'repeatCount': 'indefinite',\n 'fill': 'freeze'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerIos',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'stroke': 'currentColor',\n 'fill': 'currentColor',\n 'viewBox': '0 0 64 64'\n }\n }, [\n h('g', {\n attrs: {\n 'stroke-width': '4',\n 'stroke-linecap': 'round'\n }\n }, [\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(180)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(210)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(240)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(270)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(300)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(330)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(0)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(30)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(60)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(90)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(120)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('line', {\n attrs: {\n 'y1': '17',\n 'y2': '29',\n 'transform': 'translate(32,32) rotate(150)'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'dur': '750ms',\n 'values': '1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerOrbit',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '50',\n 'cy': '50',\n 'r': '44',\n 'fill': 'none',\n 'stroke-width': '4',\n 'stroke-opacity': '.5',\n 'stroke': 'currentColor'\n }\n }),\n h('circle', {\n attrs: {\n 'cx': '8',\n 'cy': '54',\n 'r': '6',\n 'fill': 'currentColor',\n 'stroke-width': '3',\n 'stroke': 'currentColor'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 48',\n 'to': '360 50 52',\n 'dur': '2s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerOval',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'stroke': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 38 38',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'transform': 'translate(1 1)',\n 'stroke-width': '2',\n 'fill': 'none',\n 'fill-rule': 'evenodd'\n }\n }, [\n h('circle', {\n attrs: {\n 'stroke-opacity': '.5',\n 'cx': '18',\n 'cy': '18',\n 'r': '18'\n }\n }),\n h('path', {\n attrs: {\n 'd': 'M36 18c0-9.94-8.06-18-18-18'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 18 18',\n 'to': '360 18 18',\n 'dur': '1s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerPie',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('path', {\n attrs: {\n 'd': 'M0 50A50 50 0 0 1 50 0L50 50L0 50',\n 'fill': 'currentColor',\n 'opacity': '0.5'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '360 50 50',\n 'dur': '0.8s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M50 0A50 50 0 0 1 100 50L50 50L50 0',\n 'fill': 'currentColor',\n 'opacity': '0.5'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '360 50 50',\n 'dur': '1.6s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M100 50A50 50 0 0 1 50 100L50 50L100 50',\n 'fill': 'currentColor',\n 'opacity': '0.5'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '360 50 50',\n 'dur': '2.4s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M50 100A50 50 0 0 1 0 50L50 50L50 100',\n 'fill': 'currentColor',\n 'opacity': '0.5'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 50 50',\n 'to': '360 50 50',\n 'dur': '3.2s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerPuff',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'stroke': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 44 44',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'fill': 'none',\n 'fill-rule': 'evenodd',\n 'stroke-width': '2'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '22',\n 'cy': '22',\n 'r': '1'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'begin': '0s',\n 'dur': '1.8s',\n 'values': '1; 20',\n 'calcMode': 'spline',\n 'keyTimes': '0; 1',\n 'keySplines': '0.165, 0.84, 0.44, 1',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'begin': '0s',\n 'dur': '1.8s',\n 'values': '1; 0',\n 'calcMode': 'spline',\n 'keyTimes': '0; 1',\n 'keySplines': '0.3, 0.61, 0.355, 1',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '22',\n 'cy': '22',\n 'r': '1'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'begin': '-0.9s',\n 'dur': '1.8s',\n 'values': '1; 20',\n 'calcMode': 'spline',\n 'keyTimes': '0; 1',\n 'keySplines': '0.165, 0.84, 0.44, 1',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'begin': '-0.9s',\n 'dur': '1.8s',\n 'values': '1; 0',\n 'calcMode': 'spline',\n 'keyTimes': '0; 1',\n 'keySplines': '0.3, 0.61, 0.355, 1',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerRadio',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 100 100',\n 'preserveAspectRatio': 'xMidYMid',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'transform': 'scale(0.55)'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '30',\n 'cy': '150',\n 'r': '30',\n 'fill': 'currentColor'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'opacity',\n 'from': '0',\n 'to': '1',\n 'dur': '1s',\n 'begin': '0',\n 'repeatCount': 'indefinite',\n 'keyTimes': '0;0.5;1',\n 'values': '0;1;1'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M90,150h30c0-49.7-40.3-90-90-90v30C63.1,90,90,116.9,90,150z',\n 'fill': 'currentColor'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'opacity',\n 'from': '0',\n 'to': '1',\n 'dur': '1s',\n 'begin': '0.1',\n 'repeatCount': 'indefinite',\n 'keyTimes': '0;0.5;1',\n 'values': '0;1;1'\n }\n })\n ]),\n h('path', {\n attrs: {\n 'd': 'M150,150h30C180,67.2,112.8,0,30,0v30C96.3,30,150,83.7,150,150z',\n 'fill': 'currentColor'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'opacity',\n 'from': '0',\n 'to': '1',\n 'dur': '1s',\n 'begin': '0.2',\n 'repeatCount': 'indefinite',\n 'keyTimes': '0;0.5;1',\n 'values': '0;1;1'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerRings',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'stroke': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 45 45',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('g', {\n attrs: {\n 'fill': 'none',\n 'fill-rule': 'evenodd',\n 'transform': 'translate(1 1)',\n 'stroke-width': '2'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '22',\n 'cy': '22',\n 'r': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'begin': '1.5s',\n 'dur': '3s',\n 'values': '6;22',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'begin': '1.5s',\n 'dur': '3s',\n 'values': '1;0',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-width',\n 'begin': '1.5s',\n 'dur': '3s',\n 'values': '2;0',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '22',\n 'cy': '22',\n 'r': '6'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'begin': '3s',\n 'dur': '3s',\n 'values': '6;22',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-opacity',\n 'begin': '3s',\n 'dur': '3s',\n 'values': '1;0',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'stroke-width',\n 'begin': '3s',\n 'dur': '3s',\n 'values': '2;0',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '22',\n 'cy': '22',\n 'r': '8'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'begin': '0s',\n 'dur': '1.5s',\n 'values': '6;1;2;3;4;5;6',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerTail',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 38 38',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('defs', [\n h('linearGradient', {\n attrs: {\n 'x1': '8.042%',\n 'y1': '0%',\n 'x2': '65.682%',\n 'y2': '23.865%',\n 'id': 'a'\n }\n }, [\n h('stop', {\n attrs: {\n 'stop-color': 'currentColor',\n 'stop-opacity': '0',\n 'offset': '0%'\n }\n }),\n h('stop', {\n attrs: {\n 'stop-color': 'currentColor',\n 'stop-opacity': '.631',\n 'offset': '63.146%'\n }\n }),\n h('stop', {\n attrs: {\n 'stop-color': 'currentColor',\n 'offset': '100%'\n }\n })\n ])\n ]),\n h('g', {\n attrs: {\n 'transform': 'translate(1 1)',\n 'fill': 'none',\n 'fill-rule': 'evenodd'\n }\n }, [\n h('path', {\n attrs: {\n 'd': 'M36 18c0-9.94-8.06-18-18-18',\n 'stroke': 'url(#a)',\n 'stroke-width': '2'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 18 18',\n 'to': '360 18 18',\n 'dur': '0.9s',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'fill': 'currentColor',\n 'cx': '36',\n 'cy': '18',\n 'r': '1'\n }\n }, [\n h('animateTransform', {\n attrs: {\n 'attributeName': 'transform',\n 'type': 'rotate',\n 'from': '0 18 18',\n 'to': '360 18 18',\n 'dur': '0.9s',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n ])\n }\n})\n","import Vue from 'vue'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot, mergeSlot } from '../../utils/slot.js'\nimport { stop } from '../../utils/event.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QSplitter',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n value: {\n type: Number,\n required: true\n },\n reverse: Boolean,\n unit: {\n type: String,\n default: '%',\n validator: v => [ '%', 'px' ].includes(v)\n },\n\n limits: {\n type: Array,\n validator: v => {\n if (v.length !== 2) return false\n if (typeof v[0] !== 'number' || typeof v[1] !== 'number') return false\n return v[0] >= 0 && v[0] <= v[1]\n }\n },\n\n emitImmediately: Boolean,\n\n horizontal: Boolean,\n disable: Boolean,\n\n beforeClass: [Array, String, Object],\n afterClass: [Array, String, Object],\n\n separatorClass: [Array, String, Object],\n separatorStyle: [Array, String, Object]\n },\n\n watch: {\n value: {\n immediate: true,\n handler (v) {\n this.__normalize(v, this.computedLimits)\n }\n },\n\n limits: {\n deep: true,\n handler () {\n this.$nextTick(() => {\n this.__normalize(this.value, this.computedLimits)\n })\n }\n }\n },\n\n computed: {\n classes () {\n return (this.horizontal === true ? 'column' : 'row') +\n ` q-splitter--${this.horizontal === true ? 'horizontal' : 'vertical'}` +\n ` q-splitter--${this.disable === true ? 'disabled' : 'workable'}` +\n (this.isDark === true ? ' q-splitter--dark' : '')\n },\n\n prop () {\n return this.horizontal === true ? 'height' : 'width'\n },\n\n side () {\n return this.reverse !== true ? 'before' : 'after'\n },\n\n computedLimits () {\n return this.limits !== void 0\n ? this.limits\n : (this.unit === '%' ? [ 10, 90 ] : [ 50, Infinity ])\n },\n\n styles () {\n return {\n [this.side]: {\n [this.prop]: this.__getCSSValue(this.value)\n }\n }\n },\n\n separatorDirectives () {\n if (this.disable !== true) {\n return [{\n name: 'touch-pan',\n value: this.__pan,\n modifiers: {\n [ this.horizontal === true ? 'vertical' : 'horizontal' ]: true,\n prevent: true,\n stop: true,\n mouse: true,\n mouseAllDir: true\n }\n }]\n }\n }\n },\n\n methods: {\n __pan (evt) {\n if (evt.isFirst === true) {\n const size = this.$el.getBoundingClientRect()[this.prop]\n\n this.__dir = this.horizontal === true ? 'up' : 'left'\n this.__maxValue = this.unit === '%' ? 100 : size\n this.__value = Math.min(this.__maxValue, this.computedLimits[1], Math.max(this.computedLimits[0], this.value))\n this.__multiplier = (this.reverse !== true ? 1 : -1) *\n (this.horizontal === true ? 1 : (this.$q.lang.rtl === true ? -1 : 1)) *\n (this.unit === '%' ? (size === 0 ? 0 : 100 / size) : 1)\n\n this.$el.classList.add('q-splitter--active')\n return\n }\n\n if (evt.isFinal === true) {\n if (this.__normalized !== this.value) {\n this.$emit('input', this.__normalized)\n }\n\n this.$el.classList.remove('q-splitter--active')\n return\n }\n\n const val = this.__value +\n this.__multiplier *\n (evt.direction === this.__dir ? -1 : 1) *\n evt.distance[this.horizontal === true ? 'y' : 'x']\n\n this.__normalized = Math.min(this.__maxValue, this.computedLimits[1], Math.max(this.computedLimits[0], val))\n\n this.$refs[this.side].style[this.prop] = this.__getCSSValue(this.__normalized)\n\n if (this.emitImmediately === true && this.value !== this.__normalized) {\n this.$emit('input', this.__normalized)\n }\n },\n\n __normalize (val, limits) {\n if (val < limits[0]) {\n this.$emit('input', limits[0])\n }\n else if (val > limits[1]) {\n this.$emit('input', limits[1])\n }\n },\n\n __getCSSValue (value) {\n return (this.unit === '%' ? value : Math.round(value)) + this.unit\n }\n },\n\n render (h) {\n const attrs = this.disable === true ? { 'aria-disabled': 'true' } : void 0\n const child = [\n h('div', {\n ref: 'before',\n staticClass: 'q-splitter__panel q-splitter__before' + (this.reverse === true ? ' col' : ''),\n style: this.styles.before,\n class: this.beforeClass,\n on: cache(this, 'stop', { input: stop })\n }, slot(this, 'before')),\n\n h('div', {\n staticClass: 'q-splitter__separator',\n style: this.separatorStyle,\n class: this.separatorClass,\n attrs\n }, [\n h('div', {\n staticClass: 'absolute-full q-splitter__separator-area',\n directives: this.separatorDirectives\n }, slot(this, 'separator'))\n ]),\n\n h('div', {\n ref: 'after',\n staticClass: 'q-splitter__panel q-splitter__after' + (this.reverse === true ? '' : ' col'),\n style: this.styles.after,\n class: this.afterClass,\n on: cache(this, 'stop', { input: stop })\n }, slot(this, 'after'))\n ]\n\n return h('div', {\n staticClass: 'q-splitter no-wrap',\n class: this.classes,\n on: { ...this.qListeners }\n }, mergeSlot(child, this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport Ripple from '../../directives/Ripple.js'\n\nimport AttrsMixin from '../../mixins/attrs.js'\n\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'StepHeader',\n\n mixins: [ AttrsMixin ],\n\n directives: {\n Ripple\n },\n\n props: {\n stepper: {},\n step: {}\n },\n\n computed: {\n isActive () {\n return this.stepper.value === this.step.name\n },\n\n isDisable () {\n const opt = this.step.disable\n return opt === true || opt === ''\n },\n\n isError () {\n const opt = this.step.error\n return opt === true || opt === ''\n },\n\n isDone () {\n const opt = this.step.done\n return this.isDisable === false && (opt === true || opt === '')\n },\n\n headerNav () {\n const\n opt = this.step.headerNav,\n nav = opt === true || opt === '' || opt === void 0\n\n return this.isDisable === false &&\n this.stepper.headerNav &&\n nav\n },\n\n hasPrefix () {\n return this.step.prefix &&\n (this.isActive === false || this.stepper.activeIcon === 'none') &&\n (this.isError === false || this.stepper.errorIcon === 'none') &&\n (this.isDone === false || this.stepper.doneIcon === 'none')\n },\n\n icon () {\n const defaultIcon = this.step.icon || this.stepper.inactiveIcon\n\n if (this.isActive === true) {\n const icon = this.step.activeIcon || this.stepper.activeIcon\n return icon === 'none'\n ? defaultIcon\n : icon || this.$q.iconSet.stepper.active\n }\n\n if (this.isError === true) {\n const icon = this.step.errorIcon || this.stepper.errorIcon\n return icon === 'none'\n ? defaultIcon\n : icon || this.$q.iconSet.stepper.error\n }\n\n if (this.isDisable === false && this.isDone === true) {\n const icon = this.step.doneIcon || this.stepper.doneIcon\n return icon === 'none'\n ? defaultIcon\n : icon || this.$q.iconSet.stepper.done\n }\n\n return defaultIcon\n },\n\n color () {\n const errorColor = this.isError === true\n ? this.step.errorColor || this.stepper.errorColor\n : void 0\n\n if (this.isActive === true) {\n const color = this.step.activeColor || this.stepper.activeColor || this.step.color\n return color !== void 0\n ? color\n : errorColor\n }\n if (errorColor !== void 0) {\n return errorColor\n }\n if (this.isDisable === false && this.isDone === true) {\n return this.step.doneColor || this.stepper.doneColor || this.step.color || this.stepper.inactiveColor\n }\n\n return this.step.color || this.stepper.inactiveColor\n },\n\n classes () {\n return `q-stepper__tab col-grow flex items-center no-wrap relative-position` +\n (this.color !== void 0 ? ` text-${this.color}` : '') +\n (this.isError === true\n ? ' q-stepper__tab--error q-stepper__tab--error-with-' + (this.hasPrefix === true ? 'prefix' : 'icon')\n : '') +\n (this.isActive === true ? ' q-stepper__tab--active' : '') +\n (this.isDone === true ? ' q-stepper__tab--done' : '') +\n (this.headerNav === true ? ' q-stepper__tab--navigation q-focusable q-hoverable' : '') +\n (this.isDisable === true ? ' q-stepper__tab--disabled' : '')\n }\n },\n\n methods: {\n activate () {\n this.$refs.blurTarget !== void 0 && this.$refs.blurTarget.focus()\n this.isActive === false && this.stepper.goTo(this.step.name)\n },\n\n keyup (e) {\n if (e.keyCode === 13 && this.isActive === false) {\n this.stepper.goTo(this.step.name)\n }\n }\n },\n\n render (h) {\n const data = { class: this.classes }\n\n if (this.stepper.headerNav === true) {\n data.directives = [{\n name: 'ripple',\n value: this.headerNav\n }]\n }\n\n this.headerNav === true && Object.assign(data, {\n on: cache(this, 'headnavon', {\n click: this.activate,\n keyup: this.keyup\n }),\n attrs: this.isDisable === true\n ? { tabindex: -1, 'aria-disabled': 'true' }\n : { tabindex: this.qAttrs.tabindex || 0 }\n })\n\n const child = [\n h('div', { staticClass: 'q-focus-helper', attrs: { tabindex: -1 }, ref: 'blurTarget' }),\n\n h('div', { staticClass: 'q-stepper__dot row flex-center q-stepper__line relative-position' }, [\n h('span', { staticClass: 'row flex-center' }, [\n this.hasPrefix === true\n ? this.step.prefix\n : h(QIcon, { props: { name: this.icon } })\n ])\n ])\n ]\n\n if (this.step.title !== void 0 && this.step.title !== null) {\n const content = [\n h('div', { staticClass: 'q-stepper__title' }, [ this.step.title ])\n ]\n\n if (this.step.caption !== void 0 && this.step.caption !== null) {\n content.push(\n h('div', { staticClass: 'q-stepper__caption' }, [ this.step.caption ])\n )\n }\n\n child.push(\n h('div', {\n staticClass: 'q-stepper__label q-stepper__line relative-position'\n }, content)\n )\n }\n\n return h('div', data, child)\n }\n})\n","import Vue from 'vue'\n\nimport QSlideTransition from '../slide-transition/QSlideTransition.js'\nimport StepHeader from './StepHeader.js'\n\nimport { PanelChildMixin } from '../../mixins/panel.js'\n\nimport { slot } from '../../utils/slot.js'\n\nconst StepWrapper = Vue.extend({\n name: 'QStepWrapper',\n\n render (h) {\n return h('div', {\n staticClass: 'q-stepper__step-content'\n }, [\n h('div', {\n staticClass: 'q-stepper__step-inner'\n }, slot(this, 'default'))\n ])\n }\n})\n\nexport default Vue.extend({\n name: 'QStep',\n\n inject: {\n stepper: {\n default () {\n console.error('QStep needs to be child of QStepper')\n }\n }\n },\n\n mixins: [ PanelChildMixin ],\n\n props: {\n icon: String,\n color: String,\n title: {\n type: String,\n required: true\n },\n caption: String,\n prefix: [ String, Number ],\n\n doneIcon: String,\n doneColor: String,\n activeIcon: String,\n activeColor: String,\n errorIcon: String,\n errorColor: String,\n\n headerNav: {\n type: Boolean,\n default: true\n },\n done: Boolean,\n error: Boolean\n },\n\n computed: {\n isActive () {\n return this.stepper.value === this.name\n },\n\n onEvents () {\n return this.isActive !== true ||\n this.stepper.vertical !== true ||\n (this.$q.platform.is.ios !== true && this.$q.platform.is.chrome === true)\n ? { ...this.qListeners }\n : { ...this.qListeners, scroll: this.__keepScroll }\n }\n },\n\n methods: {\n __keepScroll (ev) {\n const { target } = ev\n if (target.scrollTop > 0) {\n target.scrollTop = 0\n }\n this.qListeners.scroll !== void 0 && this.qListeners.scroll(ev)\n }\n },\n\n render (h) {\n const vertical = this.stepper.vertical\n const content = vertical === true && this.stepper.keepAlive === true\n ? h(\n 'keep-alive',\n this.isActive === true\n ? [ h(StepWrapper, { key: this.name }, slot(this, 'default')) ]\n : void 0\n )\n : (\n vertical !== true || this.isActive === true\n ? StepWrapper.options.render.call(this, h)\n : void 0\n )\n\n return h(\n 'div',\n {\n staticClass: 'q-stepper__step',\n on: this.onEvents\n },\n vertical === true\n ? [\n h(StepHeader, {\n props: {\n stepper: this.stepper,\n step: this\n }\n }),\n\n this.stepper.animated === true\n ? h(QSlideTransition, [ content ])\n : content\n ]\n : [ content ]\n )\n }\n})\n","import Vue from 'vue'\n\nimport StepHeader from './StepHeader.js'\n\nimport { PanelParentMixin } from '../../mixins/panel.js'\nimport DarkMixin from '../../mixins/dark.js'\n\nimport { slot, mergeSlot } from '../../utils/slot.js'\nimport { stop } from '../../utils/event.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QStepper',\n\n provide () {\n return {\n stepper: this\n }\n },\n\n mixins: [ DarkMixin, PanelParentMixin ],\n\n props: {\n flat: Boolean,\n bordered: Boolean,\n alternativeLabels: Boolean,\n headerNav: Boolean,\n contracted: Boolean,\n headerClass: String,\n\n inactiveColor: String,\n inactiveIcon: String,\n doneIcon: String,\n doneColor: String,\n activeIcon: String,\n activeColor: String,\n errorIcon: String,\n errorColor: String\n },\n\n computed: {\n classes () {\n return `q-stepper q-stepper--${this.vertical === true ? 'vertical' : 'horizontal'}` +\n (this.flat === true || this.isDark === true ? ' q-stepper--flat no-shadow' : '') +\n (this.bordered === true || (this.isDark === true && this.flat === false) ? ' q-stepper--bordered' : '') +\n (this.isDark === true ? ' q-stepper--dark q-dark' : '')\n },\n\n headerClasses () {\n return 'q-stepper__header row items-stretch justify-between' +\n ` q-stepper__header--${this.alternativeLabels === true ? 'alternative' : 'standard'}-labels` +\n (this.flat === false || this.bordered === true ? ' q-stepper__header--border' : '') +\n (this.contracted === true ? ' q-stepper__header--contracted' : '') +\n (this.headerClass !== void 0 ? ` ${this.headerClass}` : '')\n }\n },\n\n methods: {\n __getContent (h) {\n const top = slot(this, 'message', [])\n\n if (this.vertical === true) {\n this.__isValidPanelName(this.value) && this.__updatePanelIndex()\n\n const content = h('div', {\n staticClass: 'q-stepper__content',\n // stop propagation of content emitted @input\n // which would tamper with Panel's model\n on: cache(this, 'stop', { input: stop })\n }, slot(this, 'default'))\n\n return top === void 0\n ? [ content ]\n : top.concat(content)\n }\n\n return [\n h('div', { class: this.headerClasses }, this.panels.map(panel => {\n const step = panel.componentOptions.propsData\n\n return h(StepHeader, {\n key: step.name,\n props: {\n stepper: this,\n step\n }\n })\n }))\n ].concat(\n top,\n\n h('div', {\n staticClass: 'q-stepper__content q-panel-parent',\n directives: this.panelDirectives\n }, this.__getPanelContent(h))\n )\n },\n\n __renderPanels (h) {\n return h('div', {\n class: this.classes,\n on: { ...this.qListeners }\n }, mergeSlot(this.__getContent(h), this, 'navigation'))\n }\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QStepperNavigation',\n\n mixins: [ ListenersMixin ],\n\n render (h) {\n return h('div', {\n staticClass: 'q-stepper__nav',\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","export default {\n computed: {\n marginalsScope () {\n return {\n pagination: this.computedPagination,\n pagesNumber: this.pagesNumber,\n isFirstPage: this.isFirstPage,\n isLastPage: this.isLastPage,\n firstPage: this.firstPage,\n prevPage: this.prevPage,\n nextPage: this.nextPage,\n lastPage: this.lastPage,\n\n inFullscreen: this.inFullscreen,\n toggleFullscreen: this.toggleFullscreen\n }\n }\n },\n\n methods: {\n __getTopDiv (h) {\n const\n top = this.$scopedSlots.top,\n topLeft = this.$scopedSlots['top-left'],\n topRight = this.$scopedSlots['top-right'],\n topSelection = this.$scopedSlots['top-selection'],\n hasSelection = this.hasSelectionMode === true &&\n topSelection !== void 0 &&\n this.rowsSelectedNumber > 0,\n staticClass = 'q-table__top relative-position row items-center'\n\n if (top !== void 0) {\n return h('div', { staticClass }, [ top(this.marginalsScope) ])\n }\n\n let child\n\n if (hasSelection === true) {\n child = topSelection(this.marginalsScope).slice()\n }\n else {\n child = []\n\n if (topLeft !== void 0) {\n child.push(\n h('div', { staticClass: 'q-table-control' }, [\n topLeft(this.marginalsScope)\n ])\n )\n }\n else if (this.title) {\n child.push(\n h('div', { staticClass: 'q-table__control' }, [\n h('div', { staticClass: 'q-table__title', class: this.titleClass }, this.title)\n ])\n )\n }\n }\n\n if (topRight !== void 0) {\n child.push(h('div', { staticClass: 'q-table__separator col' }))\n child.push(\n h('div', { staticClass: 'q-table__control' }, [\n topRight(this.marginalsScope)\n ])\n )\n }\n\n if (child.length === 0) {\n return\n }\n\n return h('div', { staticClass }, child)\n }\n }\n}\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot, uniqueSlot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTh',\n\n mixins: [ ListenersMixin ],\n\n props: {\n props: Object,\n autoWidth: Boolean\n },\n\n render (h) {\n const on = { ...this.qListeners }\n\n if (this.props === void 0) {\n return h('th', {\n on,\n class: this.autoWidth === true ? 'q-table--col-auto-width' : null\n }, slot(this, 'default'))\n }\n\n let col, child\n const name = this.$vnode.key\n\n if (name) {\n col = this.props.colsMap[name]\n if (col === void 0) { return }\n }\n else {\n col = this.props.col\n }\n\n if (col.sortable === true) {\n const action = col.align === 'right'\n ? 'unshift'\n : 'push'\n\n child = uniqueSlot(this, 'default', [])\n child[action](\n h(QIcon, {\n props: { name: this.$q.iconSet.table.arrowUp },\n staticClass: col.__iconClass\n })\n )\n }\n else {\n child = slot(this, 'default')\n }\n\n const evt = col.sortable === true\n ? {\n click: evt => {\n this.props.sort(col)\n this.$emit('click', evt)\n }\n }\n : {}\n\n return h('th', {\n on: { ...on, ...evt },\n style: col.headerStyle,\n class: col.__thClass +\n (this.autoWidth === true ? ' q-table--col-auto-width' : '')\n }, child)\n }\n})\n","import QCheckbox from '../checkbox/QCheckbox.js'\nimport QTh from './QTh.js'\n\nimport cache from '../../utils/cache.js'\n\nexport default {\n computed: {\n headerSelectedValue () {\n return this.someRowsSelected === true\n ? null\n : this.allRowsSelected\n }\n },\n\n methods: {\n __getTHead (h) {\n const child = this.__getTHeadTR(h)\n\n if (this.loading === true && this.$scopedSlots.loading === void 0) {\n child.push(\n h('tr', { staticClass: 'q-table__progress' }, [\n h('th', {\n staticClass: 'relative-position',\n attrs: { colspan: this.computedColspan }\n }, this.__getProgress(h))\n ])\n )\n }\n\n return h('thead', child)\n },\n\n __getTHeadTR (h) {\n const\n header = this.$scopedSlots.header,\n headerCell = this.$scopedSlots['header-cell']\n\n if (header !== void 0) {\n return header(\n this.__getHeaderScope({ header: true })\n ).slice()\n }\n\n const child = this.computedCols.map(col => {\n const\n headerCellCol = this.$scopedSlots[`header-cell-${col.name}`],\n slot = headerCellCol !== void 0 ? headerCellCol : headerCell,\n props = this.__getHeaderScope({ col })\n\n return slot !== void 0\n ? slot(props)\n : h(QTh, {\n key: col.name,\n props: { props }\n }, col.label)\n })\n\n if (this.singleSelection === true && this.grid !== true) {\n child.unshift(h('th', { staticClass: 'q-table--col-auto-width' }, [' ']))\n }\n else if (this.multipleSelection === true) {\n const slot = this.$scopedSlots['header-selection']\n const content = slot !== void 0\n ? slot(this.__getHeaderScope({}))\n : [\n h(QCheckbox, {\n props: {\n color: this.color,\n value: this.headerSelectedValue,\n dark: this.isDark,\n dense: this.dense\n },\n on: cache(this, 'inp', {\n input: this.__onMultipleSelectionSet\n })\n })\n ]\n\n child.unshift(\n h('th', { staticClass: 'q-table--col-auto-width' }, content)\n )\n }\n\n return [\n h('tr', {\n style: this.tableHeaderStyle,\n class: this.tableHeaderClass\n }, child)\n ]\n },\n\n __getHeaderScope (data) {\n Object.assign(data, {\n cols: this.computedCols,\n sort: this.sort,\n colsMap: this.computedColsMap,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n })\n\n if (this.multipleSelection === true) {\n Object.defineProperty(data, 'selected', {\n get: () => this.headerSelectedValue,\n set: this.__onMultipleSelectionSet,\n configurable: true,\n enumerable: true\n })\n\n // TODO: remove in v2\n data.partialSelected = this.someRowsSelected\n data.multipleSelect = true\n }\n\n return data\n },\n\n __onMultipleSelectionSet (val) {\n if (this.someRowsSelected === true) {\n val = false\n }\n this.__updateSelection(\n this.computedRows.map(this.getRowKey),\n this.computedRows,\n val\n )\n }\n }\n}\n","import QCheckbox from '../checkbox/QCheckbox.js'\n\nexport default {\n methods: {\n __getTBodyTR (h, row, bodySlot, pageIndex) {\n const\n key = this.getRowKey(row),\n selected = this.isRowSelected(key)\n\n if (bodySlot !== void 0) {\n return bodySlot(\n this.__getBodyScope({\n key,\n row,\n pageIndex,\n __trClass: selected ? 'selected' : ''\n })\n )\n }\n\n const\n bodyCell = this.$scopedSlots['body-cell'],\n child = this.computedCols.map(col => {\n const\n bodyCellCol = this.$scopedSlots[`body-cell-${col.name}`],\n slot = bodyCellCol !== void 0 ? bodyCellCol : bodyCell\n\n return slot !== void 0\n ? slot(this.__getBodyCellScope({ key, row, pageIndex, col }))\n : h('td', {\n class: col.__tdClass(row),\n style: col.__tdStyle(row)\n }, this.getCellValue(col, row))\n })\n\n if (this.hasSelectionMode === true) {\n const slot = this.$scopedSlots['body-selection']\n const content = slot !== void 0\n ? slot(this.__getBodySelectionScope({ key, row, pageIndex }))\n : [\n h(QCheckbox, {\n props: {\n value: selected,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n },\n on: {\n input: (adding, evt) => {\n this.__updateSelection([ key ], [ row ], adding, evt)\n }\n }\n })\n ]\n\n child.unshift(\n h('td', { staticClass: 'q-table--col-auto-width' }, content)\n )\n }\n\n const data = { key, class: { selected }, on: {} }\n\n if (this.qListeners['row-click'] !== void 0) {\n data.class['cursor-pointer'] = true\n data.on.click = evt => {\n this.$emit('row-click', evt, row, pageIndex)\n }\n }\n\n if (this.qListeners['row-dblclick'] !== void 0) {\n data.class['cursor-pointer'] = true\n data.on.dblclick = evt => {\n this.$emit('row-dblclick', evt, row, pageIndex)\n }\n }\n\n if (this.qListeners['row-contextmenu'] !== void 0) {\n data.class['cursor-pointer'] = true\n data.on.contextmenu = evt => {\n this.$emit('row-contextmenu', evt, row, pageIndex)\n }\n }\n\n return h('tr', data, child)\n },\n\n __getTBody (h) {\n const\n body = this.$scopedSlots.body,\n topRow = this.$scopedSlots['top-row'],\n bottomRow = this.$scopedSlots['bottom-row']\n\n let child = this.computedRows.map(\n (row, pageIndex) => this.__getTBodyTR(h, row, body, pageIndex)\n )\n\n if (topRow !== void 0) {\n child = topRow({ cols: this.computedCols }).concat(child)\n }\n if (bottomRow !== void 0) {\n child = child.concat(bottomRow({ cols: this.computedCols }))\n }\n\n return h('tbody', child)\n },\n\n __getVirtualTBodyTR (h) {\n const body = this.$scopedSlots.body\n return props => this.__getTBodyTR(h, props.item, body, props.index)\n },\n\n __getBodyScope (data) {\n this.__injectBodyCommonScope(data)\n\n data.cols = data.cols.map(col => {\n const c = { ...col }\n Object.defineProperty(c, 'value', {\n get: () => this.getCellValue(col, data.row),\n configurable: true,\n enumerable: true\n })\n return c\n })\n\n return data\n },\n\n __getBodyCellScope (data) {\n this.__injectBodyCommonScope(data)\n\n Object.defineProperty(data, 'value', {\n get: () => this.getCellValue(data.col, data.row),\n configurable: true,\n enumerable: true\n })\n\n return data\n },\n\n __getBodySelectionScope (data) {\n this.__injectBodyCommonScope(data)\n return data\n },\n\n __injectBodyCommonScope (data) {\n Object.assign(data, {\n cols: this.computedCols,\n colsMap: this.computedColsMap,\n sort: this.sort,\n rowIndex: this.firstRowIndex + data.pageIndex,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n })\n\n this.hasSelectionMode === true && Object.defineProperty(data, 'selected', {\n get: () => this.isRowSelected(data.key),\n set: (adding, evt) => {\n this.__updateSelection([ data.key ], [ data.row ], adding, evt)\n },\n configurable: true,\n enumerable: true\n })\n\n Object.defineProperty(data, 'expand', {\n get: () => this.isRowExpanded(data.key),\n set: adding => {\n this.__updateExpanded(data.key, adding)\n },\n configurable: true,\n enumerable: true\n })\n },\n\n getCellValue (col, row) {\n const val = typeof col.field === 'function' ? col.field(row) : row[col.field]\n return col.format !== void 0 ? col.format(val, row) : val\n }\n }\n}\n","import QSelect from '../select/QSelect.js'\nimport QBtn from '../btn/QBtn.js'\nimport QIcon from '../icon/QIcon.js'\n\nimport cache from '../../utils/cache.js'\n\nconst staticClass = 'q-table__bottom row items-center'\n\nexport default {\n props: {\n hideBottom: Boolean,\n hideSelectedBanner: Boolean,\n hideNoData: Boolean,\n hidePagination: Boolean\n },\n\n computed: {\n navIcon () {\n const ico = [\n this.iconFirstPage || this.$q.iconSet.table.firstPage,\n this.iconPrevPage || this.$q.iconSet.table.prevPage,\n this.iconNextPage || this.$q.iconSet.table.nextPage,\n this.iconLastPage || this.$q.iconSet.table.lastPage\n ]\n return this.$q.lang.rtl === true ? ico.reverse() : ico\n }\n },\n\n methods: {\n __getBottomDiv (h) {\n if (this.hideBottom === true) {\n return\n }\n\n if (this.nothingToDisplay === true) {\n if (this.hideNoData === true) {\n return\n }\n\n const message = this.loading === true\n ? this.loadingLabel || this.$q.lang.table.loading\n : (this.filter ? this.noResultsLabel || this.$q.lang.table.noResults : this.noDataLabel || this.$q.lang.table.noData)\n\n const noData = this.$scopedSlots['no-data']\n const children = noData !== void 0\n ? [ noData({ message, icon: this.$q.iconSet.table.warning, filter: this.filter }) ]\n : [\n h(QIcon, {\n staticClass: 'q-table__bottom-nodata-icon',\n props: { name: this.$q.iconSet.table.warning }\n }),\n message\n ]\n\n return h('div', {\n staticClass: staticClass + ' q-table__bottom--nodata'\n }, children)\n }\n\n const bottom = this.$scopedSlots.bottom\n\n if (bottom !== void 0) {\n return h('div', { staticClass }, [ bottom(this.marginalsScope) ])\n }\n\n const child = this.hideSelectedBanner !== true && this.hasSelectionMode === true && this.rowsSelectedNumber > 0\n ? [\n h('div', { staticClass: 'q-table__control' }, [\n h('div', [\n (this.selectedRowsLabel || this.$q.lang.table.selectedRecords)(this.rowsSelectedNumber)\n ])\n ])\n ]\n : []\n\n if (this.hidePagination !== true) {\n return h('div', {\n staticClass: staticClass + ' justify-end'\n }, this.__getPaginationDiv(h, child))\n }\n\n if (child.length > 0) {\n return h('div', { staticClass }, child)\n }\n },\n\n __getPaginationDiv (h, child) {\n let control\n const\n { rowsPerPage } = this.computedPagination,\n paginationLabel = this.paginationLabel || this.$q.lang.table.pagination,\n paginationSlot = this.$scopedSlots.pagination,\n hasOpts = this.rowsPerPageOptions.length > 1\n\n child.push(\n h('div', { staticClass: 'q-table__separator col' })\n )\n\n if (hasOpts === true) {\n child.push(\n h('div', { staticClass: 'q-table__control' }, [\n h('span', { staticClass: 'q-table__bottom-item' }, [\n this.rowsPerPageLabel || this.$q.lang.table.recordsPerPage\n ]),\n h(QSelect, {\n staticClass: 'q-table__select inline q-table__bottom-item',\n props: {\n color: this.color,\n value: rowsPerPage,\n options: this.computedRowsPerPageOptions,\n displayValue: rowsPerPage === 0\n ? this.$q.lang.table.allRows\n : rowsPerPage,\n dark: this.isDark,\n borderless: true,\n dense: true,\n optionsDense: true,\n optionsCover: true\n },\n on: cache(this, 'pgSize', {\n input: pag => {\n this.setPagination({\n page: 1,\n rowsPerPage: pag.value\n })\n }\n })\n })\n ])\n )\n }\n\n if (paginationSlot !== void 0) {\n control = paginationSlot(this.marginalsScope)\n }\n else {\n control = [\n h('span', rowsPerPage !== 0 ? { staticClass: 'q-table__bottom-item' } : {}, [\n rowsPerPage\n ? paginationLabel(this.firstRowIndex + 1, Math.min(this.lastRowIndex, this.computedRowsNumber), this.computedRowsNumber)\n : paginationLabel(1, this.filteredSortedRowsNumber, this.computedRowsNumber)\n ])\n ]\n\n if (rowsPerPage !== 0 && this.pagesNumber > 1) {\n const btnProps = {\n color: this.color,\n round: true,\n dense: true,\n flat: true\n }\n\n if (this.dense === true) {\n btnProps.size = 'sm'\n }\n\n this.pagesNumber > 2 && control.push(\n h(QBtn, {\n key: 'pgFirst',\n props: {\n ...btnProps,\n icon: this.navIcon[0],\n disable: this.isFirstPage\n },\n on: cache(this, 'pgFirst', { click: this.firstPage })\n })\n )\n\n control.push(\n h(QBtn, {\n key: 'pgPrev',\n props: {\n ...btnProps,\n icon: this.navIcon[1],\n disable: this.isFirstPage\n },\n on: cache(this, 'pgPrev', { click: this.prevPage })\n }),\n\n h(QBtn, {\n key: 'pgNext',\n props: {\n ...btnProps,\n icon: this.navIcon[2],\n disable: this.isLastPage\n },\n on: cache(this, 'pgNext', { click: this.nextPage })\n })\n )\n\n this.pagesNumber > 2 && control.push(\n h(QBtn, {\n key: 'pgLast',\n props: {\n ...btnProps,\n icon: this.navIcon[3],\n disable: this.isLastPage\n },\n on: cache(this, 'pgLast', { click: this.lastPage })\n })\n )\n }\n }\n\n child.push(\n h('div', { staticClass: 'q-table__control' }, control)\n )\n\n return child\n }\n }\n}\n","import QCheckbox from '../checkbox/QCheckbox.js'\nimport QSeparator from '../separator/QSeparator.js'\n\nexport default {\n methods: {\n __getGridHeader (h) {\n const child = this.gridHeader === true\n ? [\n h('table', { staticClass: 'q-table' }, [\n this.__getTHead(h)\n ])\n ]\n : (\n this.loading === true && this.$scopedSlots.loading === void 0\n ? this.__getProgress(h)\n : void 0\n )\n\n return h('div', { staticClass: 'q-table__middle' }, child)\n },\n\n __getGridBody (h) {\n const item = this.$scopedSlots.item !== void 0\n ? this.$scopedSlots.item\n : scope => {\n const child = scope.cols.map(\n col => h('div', { staticClass: 'q-table__grid-item-row' }, [\n h('div', { staticClass: 'q-table__grid-item-title' }, [ col.label ]),\n h('div', { staticClass: 'q-table__grid-item-value' }, [ col.value ])\n ])\n )\n\n if (this.hasSelectionMode === true) {\n const slot = this.$scopedSlots['body-selection']\n const content = slot !== void 0\n ? slot(scope)\n : [\n h(QCheckbox, {\n props: {\n value: scope.selected,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n },\n on: {\n input: (adding, evt) => {\n this.__updateSelection([ scope.key ], [ scope.row ], adding, evt)\n }\n }\n })\n ]\n\n child.unshift(\n h('div', { staticClass: 'q-table__grid-item-row' }, content),\n h(QSeparator, { props: { dark: this.isDark } })\n )\n }\n\n const data = {\n staticClass: 'q-table__grid-item-card' + this.cardDefaultClass,\n class: this.cardClass,\n style: this.cardStyle,\n on: {}\n }\n\n if (this.qListeners['row-click'] !== void 0 || this.qListeners['row-dblclick'] !== void 0) {\n data.staticClass += ' cursor-pointer'\n }\n\n if (this.qListeners['row-click'] !== void 0) {\n data.on.click = evt => {\n this.$emit('row-click', evt, scope.row, scope.pageIndex)\n }\n }\n\n if (this.qListeners['row-dblclick'] !== void 0) {\n data.on.dblclick = evt => {\n this.$emit('row-dblclick', evt, scope.row, scope.pageIndex)\n }\n }\n\n return h('div', {\n staticClass: 'q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3',\n class: scope.selected === true ? 'q-table__grid-item--selected' : ''\n }, [\n h('div', data, child)\n ])\n }\n\n return h('div', {\n staticClass: 'q-table__grid-content row',\n class: this.cardContainerClass,\n style: this.cardContainerStyle\n }, this.computedRows.map((row, pageIndex) => {\n return item(this.__getBodyScope({\n key: this.getRowKey(row),\n row,\n pageIndex\n }))\n }))\n }\n }\n}\n","export default function (h, conf, content) {\n return h('div', {\n ...conf,\n staticClass: 'q-table__middle' + (conf.staticClass !== void 0 ? ' ' + conf.staticClass : '')\n }, [\n h('table', { staticClass: 'q-table' }, content)\n ])\n}\n","import Vue from 'vue'\n\nimport QList from '../item/QList.js'\nimport QMarkupTable from '../markup-table/QMarkupTable.js'\nimport getTableMiddle from '../table/get-table-middle.js'\n\nimport VirtualScroll from '../../mixins/virtual-scroll.js'\nimport AttrsMixin from '../../mixins/attrs.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { listenOpts } from '../../utils/event.js'\nimport { mergeSlot } from '../../utils/slot.js'\n\nconst comps = {\n list: QList,\n table: QMarkupTable\n}\n\nexport default Vue.extend({\n name: 'QVirtualScroll',\n\n mixins: [ AttrsMixin, ListenersMixin, VirtualScroll ],\n\n props: {\n type: {\n type: String,\n default: 'list',\n validator: v => ['list', 'table', '__qtable'].includes(v)\n },\n\n items: {\n type: Array,\n default: () => []\n },\n\n itemsFn: Function,\n itemsSize: Number,\n\n scrollTarget: {\n default: void 0\n }\n },\n\n computed: {\n virtualScrollLength () {\n return this.itemsSize >= 0 && this.itemsFn !== void 0\n ? parseInt(this.itemsSize, 10)\n : (Array.isArray(this.items) ? this.items.length : 0)\n },\n\n virtualScrollScope () {\n if (this.virtualScrollLength === 0) {\n return []\n }\n\n const mapFn = (item, i) => ({\n index: this.virtualScrollSliceRange.from + i,\n item\n })\n\n if (this.itemsFn === void 0) {\n return this.items.slice(this.virtualScrollSliceRange.from, this.virtualScrollSliceRange.to).map(mapFn)\n }\n\n return this.itemsFn(this.virtualScrollSliceRange.from, this.virtualScrollSliceRange.to - this.virtualScrollSliceRange.from).map(mapFn)\n },\n\n classes () {\n return 'q-virtual-scroll q-virtual-scroll' + (this.virtualScrollHorizontal === true ? '--horizontal' : '--vertical') +\n (this.scrollTarget !== void 0 ? '' : ' scroll')\n },\n\n attrs () {\n return this.scrollTarget !== void 0 ? void 0 : { tabindex: 0 }\n }\n },\n\n watch: {\n virtualScrollLength () {\n this.__resetVirtualScroll()\n },\n\n scrollTarget () {\n this.__unconfigureScrollTarget()\n this.__configureScrollTarget()\n }\n },\n\n methods: {\n __getVirtualScrollEl () {\n return this.$el\n },\n\n __getVirtualScrollTarget () {\n return this.__scrollTarget\n },\n\n __configureScrollTarget () {\n this.__scrollTarget = getScrollTarget(this.$el, this.scrollTarget)\n this.__scrollTarget.addEventListener('scroll', this.__onVirtualScrollEvt, listenOpts.passive)\n },\n\n __unconfigureScrollTarget () {\n if (this.__scrollTarget !== void 0) {\n this.__scrollTarget.removeEventListener('scroll', this.__onVirtualScrollEvt, listenOpts.passive)\n this.__scrollTarget = void 0\n }\n }\n },\n\n beforeMount () {\n this.__resetVirtualScroll()\n },\n\n mounted () {\n this.__configureScrollTarget()\n },\n\n beforeDestroy () {\n this.__unconfigureScrollTarget()\n },\n\n render (h) {\n if (this.$scopedSlots.default === void 0) {\n console.error(`QVirtualScroll: default scoped slot is required for rendering`, this)\n return\n }\n\n let child = this.__padVirtualScroll(\n h,\n this.type === 'list' ? 'div' : 'tbody',\n this.virtualScrollScope.map(this.$scopedSlots.default)\n )\n\n if (this.$scopedSlots.before !== void 0) {\n child = this.$scopedSlots.before().concat(child)\n }\n\n child = mergeSlot(child, this, 'after')\n\n return this.type === '__qtable'\n ? getTableMiddle(h, { staticClass: this.classes }, child)\n : h(comps[this.type], {\n class: this.classes,\n attrs: this.attrs,\n props: this.qAttrs,\n on: { ...this.qListeners }\n }, child)\n }\n})\n","export function sortString (a, b) {\n if (typeof a !== 'string') {\n throw new TypeError('The value for sorting must be a String')\n }\n return a.localeCompare(b)\n}\n\nexport function sortNumber (a, b) {\n return a - b\n}\n\nexport function sortDate (a, b) {\n return (new Date(a)) - (new Date(b))\n}\n\nexport function sortBoolean (a, b) {\n return a && !b\n ? -1\n : (!a && b ? 1 : 0)\n}\n","import { sortDate } from '../../utils/sort.js'\nimport { isNumber, isDate, isPlainObject } from '../../utils/is.js'\n\nexport default {\n props: {\n sortMethod: {\n type: Function,\n default (data, sortBy, descending) {\n const col = this.colList.find(def => def.name === sortBy)\n if (col === void 0 || col.field === void 0) {\n return data\n }\n\n const\n dir = descending === true ? -1 : 1,\n val = typeof col.field === 'function'\n ? v => col.field(v)\n : v => v[col.field]\n\n return data.sort((a, b) => {\n let\n A = val(a),\n B = val(b)\n\n if (A === null || A === void 0) {\n return -1 * dir\n }\n if (B === null || B === void 0) {\n return 1 * dir\n }\n if (col.sort !== void 0) {\n return col.sort(A, B, a, b) * dir\n }\n if (isNumber(A) === true && isNumber(B) === true) {\n return (A - B) * dir\n }\n if (isDate(A) === true && isDate(B) === true) {\n return sortDate(A, B) * dir\n }\n if (typeof A === 'boolean' && typeof B === 'boolean') {\n return (A - B) * dir\n }\n\n [A, B] = [A, B].map(s => (s + '').toLocaleString().toLowerCase())\n\n return A < B\n ? -1 * dir\n : (A === B ? 0 : dir)\n })\n }\n },\n\n columnSortOrder: {\n type: String,\n validator: v => v === 'ad' || v === 'da',\n default: 'ad'\n }\n },\n\n computed: {\n columnToSort () {\n const { sortBy } = this.computedPagination\n\n if (sortBy) {\n return this.colList.find(def => def.name === sortBy) || null\n }\n }\n },\n\n methods: {\n sort (col /* String(col name) or Object(col definition) */) {\n let sortOrder = this.columnSortOrder\n\n if (isPlainObject(col) === true) {\n if (col.sortOrder) {\n sortOrder = col.sortOrder\n }\n\n col = col.name\n }\n else {\n const def = this.colList.find(def => def.name === col)\n if (def !== void 0 && def.sortOrder) {\n sortOrder = def.sortOrder\n }\n }\n\n let { sortBy, descending } = this.computedPagination\n\n if (sortBy !== col) {\n sortBy = col\n descending = sortOrder === 'da'\n }\n else if (this.binaryStateSort === true) {\n descending = !descending\n }\n else if (descending === true) {\n if (sortOrder === 'ad') {\n sortBy = null\n }\n else {\n descending = false\n }\n }\n else { // ascending\n if (sortOrder === 'ad') {\n descending = true\n }\n else {\n sortBy = null\n }\n }\n\n this.setPagination({ sortBy, descending, page: 1 })\n }\n }\n}\n","export default {\n props: {\n filter: [String, Object],\n filterMethod: {\n type: Function,\n default (rows, terms, cols = this.computedCols, cellValue = this.getCellValue) {\n const lowerTerms = terms ? terms.toLowerCase() : ''\n return rows.filter(\n row => cols.some(col => {\n const val = cellValue(col, row) + ''\n const haystack = (val === 'undefined' || val === 'null') ? '' : val.toLowerCase()\n return haystack.indexOf(lowerTerms) !== -1\n })\n )\n }\n }\n },\n\n watch: {\n filter: {\n handler () {\n this.$nextTick(() => {\n this.setPagination({ page: 1 }, true)\n })\n },\n deep: true\n }\n }\n}\n","function samePagination (oldPag, newPag) {\n for (const prop in newPag) {\n if (newPag[prop] !== oldPag[prop]) {\n return false\n }\n }\n return true\n}\n\nfunction fixPagination (p) {\n if (p.page < 1) {\n p.page = 1\n }\n if (p.rowsPerPage !== void 0 && p.rowsPerPage < 1) {\n p.rowsPerPage = 0\n }\n return p\n}\n\nexport default {\n props: {\n pagination: Object,\n rowsPerPageOptions: {\n type: Array,\n default: () => [ 5, 7, 10, 15, 20, 25, 50, 0 ]\n }\n },\n\n computed: {\n computedPagination () {\n const pag = this.qListeners['update:pagination'] !== void 0\n ? { ...this.innerPagination, ...this.pagination }\n : this.innerPagination\n\n return fixPagination(pag)\n },\n\n firstRowIndex () {\n const { page, rowsPerPage } = this.computedPagination\n return (page - 1) * rowsPerPage\n },\n\n lastRowIndex () {\n const { page, rowsPerPage } = this.computedPagination\n return page * rowsPerPage\n },\n\n isFirstPage () {\n return this.computedPagination.page === 1\n },\n\n pagesNumber () {\n return this.computedPagination.rowsPerPage === 0\n ? 1\n : Math.max(\n 1,\n Math.ceil(this.computedRowsNumber / this.computedPagination.rowsPerPage)\n )\n },\n\n isLastPage () {\n return this.lastRowIndex === 0\n ? true\n : this.computedPagination.page >= this.pagesNumber\n },\n\n computedRowsPerPageOptions () {\n const opts = this.rowsPerPageOptions.includes(this.innerPagination.rowsPerPage)\n ? this.rowsPerPageOptions\n : [ this.innerPagination.rowsPerPage ].concat(this.rowsPerPageOptions)\n\n return opts.map(count => ({\n label: count === 0 ? this.$q.lang.table.allRows : '' + count,\n value: count\n }))\n }\n },\n\n watch: {\n pagesNumber (lastPage, oldLastPage) {\n if (lastPage === oldLastPage) {\n return\n }\n\n const currentPage = this.computedPagination.page\n if (lastPage && !currentPage) {\n this.setPagination({ page: 1 })\n }\n else if (lastPage < currentPage) {\n this.setPagination({ page: lastPage })\n }\n }\n },\n\n methods: {\n __sendServerRequest (pagination) {\n this.requestServerInteraction({\n pagination,\n filter: this.filter\n })\n },\n\n setPagination (val, forceServerRequest) {\n const newPagination = fixPagination({\n ...this.computedPagination,\n ...val\n })\n\n if (samePagination(this.computedPagination, newPagination)) {\n if (this.isServerSide === true && forceServerRequest === true) {\n this.__sendServerRequest(newPagination)\n }\n return\n }\n\n if (this.isServerSide === true) {\n this.__sendServerRequest(newPagination)\n return\n }\n\n if (this.pagination !== void 0 && this.qListeners['update:pagination'] !== void 0) {\n this.$emit('update:pagination', newPagination)\n }\n else {\n this.innerPagination = newPagination\n }\n },\n\n firstPage () {\n this.setPagination({ page: 1 })\n },\n\n prevPage () {\n const { page } = this.computedPagination\n if (page > 1) {\n this.setPagination({ page: page - 1 })\n }\n },\n\n nextPage () {\n const { page, rowsPerPage } = this.computedPagination\n if (this.lastRowIndex > 0 && page * rowsPerPage < this.computedRowsNumber) {\n this.setPagination({ page: page + 1 })\n }\n },\n\n lastPage () {\n this.setPagination({ page: this.pagesNumber })\n }\n },\n\n created () {\n if (this.qListeners['update:pagination'] !== void 0) {\n this.$emit('update:pagination', { ...this.computedPagination })\n }\n }\n}\n","export default {\n props: {\n selection: {\n type: String,\n default: 'none',\n validator: v => ['single', 'multiple', 'none'].includes(v)\n },\n selected: {\n type: Array,\n default: () => []\n }\n },\n\n computed: {\n selectedKeys () {\n const keys = {}\n this.selected.map(this.getRowKey).forEach(key => {\n keys[key] = true\n })\n return keys\n },\n\n hasSelectionMode () {\n return this.selection !== 'none'\n },\n\n singleSelection () {\n return this.selection === 'single'\n },\n\n multipleSelection () {\n return this.selection === 'multiple'\n },\n\n allRowsSelected () {\n return this.computedRows.length > 0 && this.computedRows.every(\n row => this.selectedKeys[ this.getRowKey(row) ] === true\n )\n },\n\n someRowsSelected () {\n return this.allRowsSelected !== true &&\n this.computedRows.some(row => this.selectedKeys[ this.getRowKey(row) ] === true)\n },\n\n rowsSelectedNumber () {\n return this.selected.length\n }\n },\n\n methods: {\n isRowSelected (key) {\n return this.selectedKeys[key] === true\n },\n\n clearSelection () {\n this.$emit('update:selected', [])\n },\n\n __updateSelection (keys, rows, added, evt) {\n this.$emit('selection', { rows, added, keys, evt })\n\n const payload = this.singleSelection === true\n ? (added === true ? rows : [])\n : (\n added === true\n ? this.selected.concat(rows)\n : this.selected.filter(\n row => keys.includes(this.getRowKey(row)) === false\n )\n )\n\n this.$emit('update:selected', payload)\n }\n }\n}\n","function getVal (val) {\n return Array.isArray(val)\n ? val.slice()\n : []\n}\n\nexport default {\n props: {\n expanded: Array // sync\n },\n\n data () {\n return {\n innerExpanded: getVal(this.expanded)\n }\n },\n\n watch: {\n expanded (val) {\n this.innerExpanded = getVal(val)\n }\n },\n\n methods: {\n isRowExpanded (key) {\n return this.innerExpanded.includes(key)\n },\n\n setExpanded (val) {\n if (this.expanded !== void 0) {\n this.$emit('update:expanded', val)\n }\n else {\n this.innerExpanded = val\n }\n },\n\n __updateExpanded (key, add) {\n const target = this.innerExpanded.slice()\n const index = target.indexOf(key)\n\n if (add === true) {\n if (index === -1) {\n target.push(key)\n this.setExpanded(target)\n }\n }\n else if (index !== -1) {\n target.splice(index, 1)\n this.setExpanded(target)\n }\n }\n }\n}\n","import { isNumber } from '../../utils/is.js'\n\nexport default {\n props: {\n visibleColumns: Array\n },\n\n computed: {\n colList () {\n if (this.columns !== void 0) {\n return this.columns\n }\n\n // we infer columns from first row\n const row = this.data[0]\n\n return row !== void 0\n ? Object.keys(row).map(name => ({\n name,\n label: name.toUpperCase(),\n field: name,\n align: isNumber(row[name]) ? 'right' : 'left',\n sortable: true\n }))\n : []\n },\n\n computedCols () {\n const { sortBy, descending } = this.computedPagination\n\n const cols = this.visibleColumns !== void 0\n ? this.colList.filter(col => col.required === true || this.visibleColumns.includes(col.name) === true)\n : this.colList\n\n return cols.map(col => {\n const align = col.align || 'right'\n const alignClass = `text-${align}`\n\n return {\n ...col,\n align,\n __iconClass: `q-table__sort-icon q-table__sort-icon--${align}`,\n __thClass: alignClass +\n (col.headerClasses !== void 0 ? ' ' + col.headerClasses : '') +\n (col.sortable === true ? ' sortable' : '') +\n (col.name === sortBy ? ` sorted ${descending === true ? 'sort-desc' : ''}` : ''),\n\n __tdStyle: col.style !== void 0\n ? (\n typeof col.style !== 'function'\n ? () => col.style\n : col.style\n )\n : () => null,\n\n __tdClass: col.classes !== void 0\n ? (\n typeof col.classes !== 'function'\n ? () => alignClass + ' ' + col.classes\n : row => alignClass + ' ' + col.classes(row)\n )\n : () => alignClass\n }\n })\n },\n\n computedColsMap () {\n const names = {}\n this.computedCols.forEach(col => {\n names[col.name] = col\n })\n return names\n },\n\n computedColspan () {\n return this.tableColspan !== void 0\n ? this.tableColspan\n : this.computedCols.length + (this.hasSelectionMode === true ? 1 : 0)\n }\n }\n}\n","import Vue from 'vue'\n\nimport Top from './table-top.js'\nimport TableHeader from './table-header.js'\nimport TableBody from './table-body.js'\nimport Bottom from './table-bottom.js'\nimport TableGrid from './table-grid.js'\nimport QVirtualScroll from '../virtual-scroll/QVirtualScroll.js'\nimport QLinearProgress from '../linear-progress/QLinearProgress.js'\nimport getTableMiddle from './get-table-middle.js'\n\nimport { commonVirtPropsList } from '../../mixins/virtual-scroll.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport Sort from './table-sort.js'\nimport Filter from './table-filter.js'\nimport Pagination from './table-pagination.js'\nimport RowSelection from './table-row-selection.js'\nimport RowExpand from './table-row-expand.js'\nimport ColumnSelection from './table-column-selection.js'\nimport FullscreenMixin from '../../mixins/fullscreen.js'\n\nimport cache from '../../utils/cache.js'\n\nconst commonVirtPropsObj = {}\ncommonVirtPropsList.forEach(p => { commonVirtPropsObj[p] = {} })\n\nexport default Vue.extend({\n name: 'QTable',\n\n mixins: [\n DarkMixin,\n ListenersMixin,\n\n FullscreenMixin,\n Top,\n TableHeader,\n TableBody,\n Bottom,\n TableGrid,\n Sort,\n Filter,\n Pagination,\n RowSelection,\n RowExpand,\n ColumnSelection\n ],\n\n props: {\n data: {\n type: Array,\n default: () => []\n },\n rowKey: {\n type: [ String, Function ],\n default: 'id'\n },\n\n columns: Array,\n loading: Boolean,\n binaryStateSort: Boolean,\n\n iconFirstPage: String,\n iconPrevPage: String,\n iconNextPage: String,\n iconLastPage: String,\n\n title: String,\n\n hideHeader: Boolean,\n\n grid: Boolean,\n gridHeader: Boolean,\n\n dense: Boolean,\n flat: Boolean,\n bordered: Boolean,\n square: Boolean,\n separator: {\n type: String,\n default: 'horizontal',\n validator: v => ['horizontal', 'vertical', 'cell', 'none'].includes(v)\n },\n wrapCells: Boolean,\n\n virtualScroll: Boolean,\n ...commonVirtPropsObj,\n\n noDataLabel: String,\n noResultsLabel: String,\n loadingLabel: String,\n selectedRowsLabel: Function,\n rowsPerPageLabel: String,\n paginationLabel: Function,\n\n color: {\n type: String,\n default: 'grey-8'\n },\n\n titleClass: [String, Array, Object],\n tableStyle: [String, Array, Object],\n tableClass: [String, Array, Object],\n tableHeaderStyle: [String, Array, Object],\n tableHeaderClass: [String, Array, Object],\n cardContainerClass: [String, Array, Object],\n cardContainerStyle: [String, Array, Object],\n cardStyle: [String, Array, Object],\n cardClass: [String, Array, Object]\n },\n\n data () {\n return {\n innerPagination: Object.assign({\n sortBy: null,\n descending: false,\n page: 1,\n rowsPerPage: this.rowsPerPageOptions.length > 0\n ? this.rowsPerPageOptions[0]\n : 5\n }, this.pagination)\n }\n },\n\n watch: {\n needsReset () {\n this.hasVirtScroll === true && this.$refs.virtScroll !== void 0 && this.$refs.virtScroll.reset()\n }\n },\n\n computed: {\n getRowKey () {\n return typeof this.rowKey === 'function'\n ? this.rowKey\n : row => row[this.rowKey]\n },\n\n hasVirtScroll () {\n return this.grid !== true && this.virtualScroll === true\n },\n\n needsReset () {\n return ['tableStyle', 'tableClass', 'tableHeaderStyle', 'tableHeaderClass', '__containerClass']\n .map(p => this[p]).join(';')\n },\n\n filteredSortedRows () {\n let rows = this.data\n\n if (this.isServerSide === true || rows.length === 0) {\n return rows\n }\n\n const { sortBy, descending } = this.computedPagination\n\n if (this.filter) {\n rows = this.filterMethod(rows, this.filter, this.computedCols, this.getCellValue)\n }\n\n if (this.columnToSort !== void 0) {\n rows = this.sortMethod(\n this.data === rows ? rows.slice() : rows,\n sortBy,\n descending\n )\n }\n\n return rows\n },\n\n filteredSortedRowsNumber () {\n return this.filteredSortedRows.length\n },\n\n computedRows () {\n let rows = this.filteredSortedRows\n\n if (this.isServerSide === true) {\n return rows\n }\n\n const { rowsPerPage } = this.computedPagination\n\n if (rowsPerPage !== 0) {\n if (this.firstRowIndex === 0 && this.data !== rows) {\n if (rows.length > this.lastRowIndex) {\n rows = rows.slice(0, this.lastRowIndex)\n }\n }\n else {\n rows = rows.slice(this.firstRowIndex, this.lastRowIndex)\n }\n }\n\n return rows\n },\n\n computedRowsNumber () {\n return this.isServerSide === true\n ? this.computedPagination.rowsNumber || 0\n : this.filteredSortedRowsNumber\n },\n\n nothingToDisplay () {\n return this.computedRows.length === 0\n },\n\n isServerSide () {\n return this.computedPagination.rowsNumber !== void 0\n },\n\n cardDefaultClass () {\n return ` q-table__card` +\n (this.isDark === true ? ' q-table__card--dark q-dark' : '') +\n (this.square === true ? ` q-table--square` : '') +\n (this.flat === true ? ` q-table--flat` : '') +\n (this.bordered === true ? ` q-table--bordered` : '')\n },\n\n __containerClass () {\n return `q-table__container q-table--${this.separator}-separator column no-wrap` +\n (this.grid === true ? ' q-table--grid' : this.cardDefaultClass) +\n (this.isDark === true ? ` q-table--dark` : '') +\n (this.dense === true ? ` q-table--dense` : '') +\n (this.wrapCells === false ? ` q-table--no-wrap` : '') +\n (this.inFullscreen === true ? ` fullscreen scroll` : '')\n },\n\n containerClass () {\n // do not trigger a refresh of the table when the loading status is changed\n return this.__containerClass +\n (this.loading === true ? ' q-table--loading' : '')\n },\n\n virtProps () {\n const props = {}\n\n commonVirtPropsList\n .forEach(p => { props[p] = this[p] })\n\n if (props.virtualScrollItemSize === void 0) {\n props.virtualScrollItemSize = this.dense === true ? 28 : 48\n }\n\n return props\n }\n },\n\n render (h) {\n const child = [ this.__getTopDiv(h) ]\n const data = { staticClass: this.containerClass }\n\n if (this.grid === true) {\n child.push(this.__getGridHeader(h))\n }\n else {\n Object.assign(data, {\n class: this.cardClass,\n style: this.cardStyle\n })\n }\n\n child.push(\n this.__getBody(h),\n this.__getBottomDiv(h)\n )\n\n if (this.loading === true && this.$scopedSlots.loading !== void 0) {\n child.push(\n this.$scopedSlots.loading()\n )\n }\n\n return h('div', data, child)\n },\n\n methods: {\n requestServerInteraction (prop = {}) {\n this.$nextTick(() => {\n this.$emit('request', {\n pagination: prop.pagination || this.computedPagination,\n filter: prop.filter || this.filter,\n getCellValue: this.getCellValue\n })\n })\n },\n\n resetVirtualScroll () {\n this.hasVirtScroll === true && this.$refs.virtScroll.reset()\n },\n\n __getBody (h) {\n if (this.grid === true) {\n return this.__getGridBody(h)\n }\n\n const header = this.hideHeader !== true ? this.__getTHead(h) : null\n\n if (this.hasVirtScroll === true) {\n const topRow = this.$scopedSlots['top-row']\n const bottomRow = this.$scopedSlots['bottom-row']\n\n const virtSlots = {\n default: this.__getVirtualTBodyTR(h)\n }\n\n if (topRow !== void 0) {\n const topContent = h('tbody', topRow({ cols: this.computedCols }))\n\n virtSlots.before = header === null\n ? () => [topContent]\n : () => [header].concat(topContent)\n }\n else if (header !== null) {\n virtSlots.before = () => header\n }\n\n if (bottomRow !== void 0) {\n virtSlots.after = () => h('tbody', bottomRow({ cols: this.computedCols }))\n }\n\n return h(QVirtualScroll, {\n ref: 'virtScroll',\n props: {\n ...this.virtProps,\n items: this.computedRows,\n type: '__qtable',\n tableColspan: this.computedColspan\n },\n on: cache(this, 'vs', {\n 'virtual-scroll': this.__onVScroll\n }),\n class: this.tableClass,\n style: this.tableStyle,\n scopedSlots: virtSlots\n })\n }\n\n return getTableMiddle(h, {\n staticClass: 'scroll',\n class: this.tableClass,\n style: this.tableStyle\n }, [\n header,\n this.__getTBody(h)\n ])\n },\n\n scrollTo (toIndex, edge) {\n if (this.$refs.virtScroll !== void 0) {\n this.$refs.virtScroll.scrollTo(toIndex, edge)\n return\n }\n\n toIndex = parseInt(toIndex, 10)\n const rowEl = this.$el.querySelector(`tbody tr:nth-of-type(${toIndex + 1})`)\n\n if (rowEl !== null) {\n const scrollTarget = this.$el.querySelector('.q-table__middle.scroll')\n const { offsetTop } = rowEl\n const direction = offsetTop < scrollTarget.scrollTop ? 'decrease' : 'increase'\n\n scrollTarget.scrollTop = offsetTop\n\n this.$emit('virtual-scroll', {\n index: toIndex,\n from: 0,\n to: this.pagination.rowsPerPage - 1,\n direction\n })\n }\n },\n\n __onVScroll (info) {\n this.$emit('virtual-scroll', info)\n },\n\n __getProgress (h) {\n return [\n h(QLinearProgress, {\n staticClass: 'q-table__linear-progress',\n props: {\n color: this.color,\n dark: this.isDark,\n indeterminate: true,\n trackColor: 'transparent'\n }\n })\n ]\n }\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTr',\n\n mixins: [ ListenersMixin ],\n\n props: {\n props: Object,\n noHover: Boolean\n },\n\n computed: {\n classes () {\n return 'q-tr' + (this.props === void 0 || this.props.header === true ? '' : ' ' + this.props.__trClass) +\n (this.noHover === true ? ' q-tr--no-hover' : '')\n }\n },\n\n render (h) {\n return h('tr', {\n on: { ...this.qListeners },\n class: this.classes\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTd',\n\n mixins: [ ListenersMixin ],\n\n props: {\n props: Object,\n autoWidth: Boolean,\n noHover: Boolean\n },\n\n computed: {\n classes () {\n return 'q-td' + (this.autoWidth === true ? ' q-table--col-auto-width' : '') +\n (this.noHover === true ? ' q-td--no-hover' : '') + ' '\n }\n },\n\n render (h) {\n const on = this.qListeners\n\n if (this.props === void 0) {\n return h('td', {\n on,\n class: this.classes\n }, slot(this, 'default'))\n }\n\n const name = this.$vnode.key\n\n const col = this.props.colsMap !== void 0 && name\n ? this.props.colsMap[name]\n : this.props.col\n\n if (col === void 0) { return }\n\n const row = this.props.row\n\n return h('td', {\n on,\n style: col.__tdStyle(row),\n class: this.classes + col.__tdClass(row)\n }, slot(this, 'default'))\n }\n})\n","const trailingSlashRE = /\\/?$/\n\nfunction equals (current, target) {\n if (Object.keys(current).length !== Object.keys(target).length) {\n return false\n }\n\n // route query and params are strings when read from URL\n for (const key in target) {\n if (!(key in current) || String(current[key]) !== String(target[key])) {\n return false\n }\n }\n return true\n}\n\nfunction includes (current, target) {\n for (const key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nexport function isSameRoute (current, target) {\n if (!target) {\n return false\n }\n\n if (current.path && target.path) {\n return (\n current.path.replace(trailingSlashRE, '') === target.path.replace(trailingSlashRE, '') &&\n current.hash === target.hash &&\n equals(current.query, target.query)\n )\n }\n\n return typeof current.name === 'string' &&\n current.name === target.name &&\n current.hash === target.hash &&\n equals(current.query, target.query) === true &&\n equals(current.params, target.params) === true\n}\n\nexport function isIncludedRoute (current, target) {\n return current.path.replace(trailingSlashRE, '/').indexOf(target.path.replace(trailingSlashRE, '/')) === 0 &&\n (typeof target.hash !== 'string' || target.hash.length < 2 || current.hash === target.hash) &&\n includes(current.query, target.query) === true\n}\n","import Vue from 'vue'\n\nimport QTab from './QTab.js'\nimport RouterLinkMixin from '../../mixins/router-link.js'\nimport { isSameRoute, isIncludedRoute } from '../../utils/router.js'\nimport { stopAndPrevent, noop } from '../../utils/event.js'\n\nexport default Vue.extend({\n name: 'QRouteTab',\n\n mixins: [ QTab, RouterLinkMixin ],\n\n inject: {\n __activateRoute: {},\n __recalculateScroll: {}\n },\n\n watch: {\n $route () {\n this.__checkActivation()\n }\n },\n\n computed: {\n routerTabLinkProps () {\n return {\n ...this.linkProps.props,\n custom: true\n }\n }\n },\n\n methods: {\n __activate (e, keyboard) {\n if (this.disable !== true) {\n if (\n e !== void 0 && (\n e.ctrlKey === true ||\n e.shiftKey === true ||\n e.altKey === true ||\n e.metaKey === true\n )\n ) {\n // if it has meta keys, let vue-router link\n // handle this by its own\n this.__checkActivation(true)\n }\n else if (this.hasRouterLink === true) {\n // we use programatic navigation instead of letting vue-router handle it\n // so we can check for activation when the navigation is complete\n e !== void 0 && stopAndPrevent(e)\n\n const go = (to = this.to, append = this.append, replace = this.replace) => {\n const { route } = this.$router.resolve(to, this.$route, append)\n const checkFn = to === this.to && append === this.append\n ? this.__checkActivation\n : noop\n\n // vue-router now throwing error if navigating\n // to the same route that the user is currently at\n // https://github.com/vuejs/vue-router/issues/2872\n this.$router[replace === true ? 'replace' : 'push'](\n route,\n () => { checkFn(true) },\n err => {\n if (err && err.name === 'NavigationDuplicated') {\n checkFn(true)\n }\n }\n )\n }\n\n this.qListeners.click !== void 0 && this.$emit('click', e, go)\n if (e === void 0 || e.navigate !== false) {\n go()\n }\n }\n }\n\n if (keyboard === true) {\n this.$el.focus({ preventScroll: true })\n }\n else if (this.$refs.blurTarget !== void 0) {\n this.$refs.blurTarget.focus({ preventScroll: true })\n }\n },\n\n __checkActivation (selected = false) {\n if (this.hasRouterLink !== true) {\n return\n }\n\n const\n current = this.$route,\n { href, location, route } = this.$router.resolve(this.to, current, this.append),\n redirected = route.redirectedFrom !== void 0,\n isSameRouteCheck = isSameRoute(current, route),\n checkFunction = this.exact === true ? isSameRoute : isIncludedRoute,\n params = {\n name: this.name,\n selected,\n exact: this.exact,\n priorityMatched: route.matched.length,\n priorityHref: href.length\n }\n\n if (isSameRouteCheck === true || (this.exact !== true && isIncludedRoute(current, route) === true)) {\n this.__activateRoute({\n ...params,\n redirected,\n // if it's an exact match give higher priority\n // even if the tab is not marked as exact\n exact: this.exact === true || isSameRouteCheck === true\n })\n }\n\n if (\n redirected === true &&\n checkFunction(current, {\n path: route.redirectedFrom,\n ...location\n }) === true\n ) {\n this.__activateRoute(params)\n }\n\n this.isActive === true && this.__activateRoute()\n }\n },\n\n mounted () {\n this.__recalculateScroll()\n this.$router !== void 0 && this.__checkActivation()\n },\n\n beforeDestroy () {\n this.__recalculateScroll()\n this.__activateRoute({ remove: true, name: this.name })\n },\n\n render (h) {\n return this.__renderTab(h, this.linkTag)\n }\n})\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { formatDate, __splitDate } from '../../utils/date.js'\nimport { position } from '../../utils/event.js'\nimport { pad } from '../../utils/format.js'\nimport cache from '../../utils/cache.js'\nimport DateTimeMixin from '../../mixins/datetime.js'\n\nexport default Vue.extend({\n name: 'QTime',\n\n mixins: [ DateTimeMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n mask: {\n default: null\n },\n\n format24h: {\n type: Boolean,\n default: null\n },\n\n defaultDate: {\n type: String,\n validator: v => /^-?[\\d]+\\/[0-1]\\d\\/[0-3]\\d$/.test(v)\n },\n\n options: Function,\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n\n withSeconds: Boolean,\n nowBtn: Boolean\n },\n\n data () {\n const model = __splitDate(\n this.value,\n this.__getMask(),\n this.__getLocale(),\n this.calendar,\n this.__getDefaultDateModel()\n )\n\n let view = 'Hour'\n\n if (model.hour !== null) {\n if (model.minute === null) {\n view = 'Minute'\n }\n else if (this.withSeconds === true && model.second === null) {\n view = 'Second'\n }\n }\n\n return {\n view,\n isAM: model.hour === null || model.hour < 12,\n innerModel: model\n }\n },\n\n watch: {\n value (v) {\n const model = __splitDate(\n v,\n this.computedMask,\n this.computedLocale,\n this.calendar,\n this.defaultDateModel\n )\n\n if (\n model.dateHash !== this.innerModel.dateHash ||\n model.timeHash !== this.innerModel.timeHash\n ) {\n this.innerModel = model\n\n if (model.hour === null) {\n this.view = 'Hour'\n }\n else {\n this.isAM = model.hour < 12\n }\n }\n },\n\n computedMask () {\n this.$nextTick(() => {\n this.__updateValue()\n })\n },\n\n computedLocale () {\n this.$nextTick(() => {\n this.__updateValue()\n })\n }\n },\n\n computed: {\n classes () {\n return `q-time q-time--${this.landscape === true ? 'landscape' : 'portrait'}` +\n (this.isDark === true ? ' q-time--dark q-dark' : '') +\n (this.disable === true ? ' disabled' : (this.readonly === true ? ' q-time--readonly' : '')) +\n (this.bordered === true ? ` q-time--bordered` : '') +\n (this.square === true ? ` q-time--square no-border-radius` : '') +\n (this.flat === true ? ` q-time--flat no-shadow` : '')\n },\n\n stringModel () {\n const time = this.innerModel\n\n return {\n hour: time.hour === null\n ? '--'\n : (\n this.computedFormat24h === true\n ? pad(time.hour)\n : String(\n this.isAM === true\n ? (time.hour === 0 ? 12 : time.hour)\n : (time.hour > 12 ? time.hour - 12 : time.hour)\n )\n ),\n minute: time.minute === null\n ? '--'\n : pad(time.minute),\n second: time.second === null\n ? '--'\n : pad(time.second)\n }\n },\n\n defaultDateModel () {\n return this.__getDefaultDateModel()\n },\n\n computedFormat24h () {\n return this.format24h !== null\n ? this.format24h\n : this.$q.lang.date.format24h\n },\n\n pointerStyle () {\n const\n forHour = this.view === 'Hour',\n divider = forHour === true ? 12 : 60,\n amount = this.innerModel[this.view.toLowerCase()],\n degrees = Math.round(amount * (360 / divider)) - 180\n\n let transform = `rotate(${degrees}deg) translateX(-50%)`\n\n if (\n forHour === true &&\n this.computedFormat24h === true &&\n this.innerModel.hour >= 12\n ) {\n transform += ' scale(.7)'\n }\n\n return { transform }\n },\n\n minLink () {\n return this.innerModel.hour !== null\n },\n\n secLink () {\n return this.minLink === true && this.innerModel.minute !== null\n },\n\n hourInSelection () {\n return this.hourOptions !== void 0\n ? val => this.hourOptions.includes(val)\n : (\n this.options !== void 0\n ? val => this.options(val, null, null)\n : void 0\n )\n },\n\n minuteInSelection () {\n return this.minuteOptions !== void 0\n ? val => this.minuteOptions.includes(val)\n : (\n this.options !== void 0\n ? val => this.options(this.innerModel.hour, val, null)\n : void 0\n )\n },\n\n secondInSelection () {\n return this.secondOptions !== void 0\n ? val => this.secondOptions.includes(val)\n : (\n this.options !== void 0\n ? val => this.options(this.innerModel.hour, this.innerModel.minute, val)\n : void 0\n )\n },\n\n validHours () {\n if (this.hourInSelection !== void 0) {\n const am = this.__getValidValues(0, 11, this.hourInSelection)\n const pm = this.__getValidValues(12, 11, this.hourInSelection)\n return { am, pm, values: am.values.concat(pm.values) }\n }\n },\n\n validMinutes () {\n if (this.minuteInSelection !== void 0) {\n return this.__getValidValues(0, 59, this.minuteInSelection)\n }\n },\n\n validSeconds () {\n if (this.secondInSelection !== void 0) {\n return this.__getValidValues(0, 59, this.secondInSelection)\n }\n },\n\n viewValidOptions () {\n switch (this.view) {\n case 'Hour':\n return this.validHours\n case 'Minute':\n return this.validMinutes\n case 'Second':\n return this.validSeconds\n }\n },\n\n positions () {\n let start, end, offset = 0, step = 1\n const values = this.viewValidOptions !== void 0\n ? this.viewValidOptions.values\n : void 0\n\n if (this.view === 'Hour') {\n if (this.computedFormat24h === true) {\n start = 0\n end = 23\n }\n else {\n start = 0\n end = 11\n\n if (this.isAM === false) {\n offset = 12\n }\n }\n }\n else {\n start = 0\n end = 55\n step = 5\n }\n\n const pos = []\n\n for (let val = start, index = start; val <= end; val += step, index++) {\n const\n actualVal = val + offset,\n disable = values !== void 0 && values.includes(actualVal) === false,\n label = this.view === 'Hour' && val === 0\n ? (this.computedFormat24h === true ? '00' : '12')\n : val\n\n pos.push({ val: actualVal, index, disable, label })\n }\n\n return pos\n }\n },\n\n methods: {\n setNow () {\n const date = {\n ...this.__getCurrentDate(),\n ...this.__getCurrentTime()\n }\n\n this.__updateValue(date)\n Object.assign(this.innerModel, date) // reset any pending changes to innerModel\n\n this.view = 'Hour'\n },\n\n __getValidValues (start, count, testFn) {\n const values = Array.apply(null, { length: count + 1 })\n .map((_, index) => {\n const i = index + start\n return {\n index: i,\n val: testFn(i) === true // force boolean\n }\n })\n .filter(v => v.val === true)\n .map(v => v.index)\n\n return {\n min: values[0],\n max: values[values.length - 1],\n values,\n threshold: count + 1\n }\n },\n\n __getWheelDist (a, b, threshold) {\n const diff = Math.abs(a - b)\n return Math.min(diff, threshold - diff)\n },\n\n __getNormalizedClockValue (val, { min, max, values, threshold }) {\n if (val === min) {\n return min\n }\n\n if (val < min || val > max) {\n return this.__getWheelDist(val, min, threshold) <= this.__getWheelDist(val, max, threshold)\n ? min\n : max\n }\n\n const\n index = values.findIndex(v => val <= v),\n before = values[index - 1],\n after = values[index]\n\n return val - before <= after - val\n ? before\n : after\n },\n\n __getMask () {\n return this.calendar !== 'persian' && this.mask !== null\n ? this.mask\n : `HH:mm${this.withSeconds === true ? ':ss' : ''}`\n },\n\n __getDefaultDateModel () {\n if (typeof this.defaultDate !== 'string') {\n const date = this.__getCurrentDate(true)\n date.dateHash = this.__getDayHash(date)\n return date\n }\n\n return __splitDate(this.defaultDate, 'YYYY/MM/DD', void 0, this.calendar)\n },\n\n __click (evt) {\n if (this.__shouldAbortInteraction() !== true) {\n // __activate() has already updated the offset\n // (on desktop only, through mousedown event)\n if (this.$q.platform.is.desktop !== true) {\n this.__updateClock(evt, this.__getClockRect())\n }\n\n this.__goToNextView()\n }\n },\n\n __activate (evt) {\n if (this.__shouldAbortInteraction() !== true) {\n this.__updateClock(evt, this.__getClockRect())\n }\n },\n\n __shouldAbortInteraction () {\n return this._isBeingDestroyed === true ||\n this._isDestroyed === true ||\n // if we have limited options, can we actually set any?\n (\n this.viewValidOptions !== void 0 &&\n (\n this.viewValidOptions.values.length === 0 ||\n (\n this.view === 'Hour' && this.computedFormat24h !== true &&\n this.validHours[this.isAM === true ? 'am' : 'pm'].values.length === 0\n )\n )\n )\n },\n\n __getClockRect () {\n const\n clock = this.$refs.clock,\n { top, left, width } = clock.getBoundingClientRect(),\n dist = width / 2\n\n return {\n top: top + dist,\n left: left + dist,\n dist: dist * 0.7\n }\n },\n\n __goToNextView () {\n if (this.view === 'Hour') {\n this.view = 'Minute'\n }\n else if (this.withSeconds && this.view === 'Minute') {\n this.view = 'Second'\n }\n },\n\n __drag (event) {\n if (this.__shouldAbortInteraction() === true) {\n return\n }\n\n if (event.isFirst === true) {\n this.draggingClockRect = this.__getClockRect()\n this.dragCache = this.__updateClock(event.evt, this.draggingClockRect)\n return\n }\n\n this.dragCache = this.__updateClock(event.evt, this.draggingClockRect, this.dragCache)\n\n if (event.isFinal === true) {\n this.draggingClockRect = false\n this.dragCache = null\n this.__goToNextView()\n }\n },\n\n __updateClock (evt, clockRect, cacheVal) {\n const\n pos = position(evt),\n height = Math.abs(pos.top - clockRect.top),\n distance = Math.sqrt(\n Math.pow(Math.abs(pos.top - clockRect.top), 2) +\n Math.pow(Math.abs(pos.left - clockRect.left), 2)\n )\n\n let\n val,\n angle = Math.asin(height / distance) * (180 / Math.PI)\n\n if (pos.top < clockRect.top) {\n angle = clockRect.left < pos.left ? 90 - angle : 270 + angle\n }\n else {\n angle = clockRect.left < pos.left ? angle + 90 : 270 - angle\n }\n\n if (this.view === 'Hour') {\n val = angle / 30\n\n if (this.validHours !== void 0) {\n const am = this.computedFormat24h !== true\n ? this.isAM === true\n : (\n this.validHours.am.values.length > 0 && this.validHours.pm.values.length > 0\n ? distance >= clockRect.dist\n : this.validHours.am.values.length > 0\n )\n\n val = this.__getNormalizedClockValue(\n val + (am === true ? 0 : 12),\n this.validHours[am === true ? 'am' : 'pm']\n )\n }\n else {\n val = Math.round(val)\n\n if (this.computedFormat24h === true) {\n if (distance < clockRect.dist) {\n if (val < 12) {\n val += 12\n }\n }\n else if (val === 12) {\n val = 0\n }\n }\n else if (this.isAM === true && val === 12) {\n val = 0\n }\n else if (this.isAM === false && val !== 12) {\n val += 12\n }\n }\n\n if (this.computedFormat24h === true) {\n this.isAM = val < 12\n }\n }\n else {\n val = Math.round(angle / 6) % 60\n\n if (this.view === 'Minute' && this.validMinutes !== void 0) {\n val = this.__getNormalizedClockValue(val, this.validMinutes)\n }\n else if (this.view === 'Second' && this.validSeconds !== void 0) {\n val = this.__getNormalizedClockValue(val, this.validSeconds)\n }\n }\n\n if (cacheVal !== val) {\n this[`__set${this.view}`](val)\n }\n\n return val\n },\n\n __onKeyupHour (e) {\n if (e.keyCode === 13) { // ENTER\n this.view = 'Hour'\n }\n else if ([ 37, 39 ].includes(e.keyCode)) {\n const payload = e.keyCode === 37 ? -1 : 1\n\n if (this.validHours !== void 0) {\n const values = this.computedFormat24h === true\n ? this.validHours.values\n : this.validHours[this.isAM === true ? 'am' : 'pm'].values\n\n if (values.length === 0) { return }\n\n if (this.innerModel.hour === null) {\n this.__setHour(values[0])\n }\n else {\n const index = (\n values.length +\n values.indexOf(this.innerModel.hour) +\n payload\n ) % values.length\n\n this.__setHour(values[index])\n }\n }\n else {\n const\n wrap = this.computedFormat24h === true ? 24 : 12,\n offset = this.computedFormat24h !== true && this.isAM === false ? 12 : 0,\n val = this.innerModel.hour === null ? -payload : this.innerModel.hour\n\n this.__setHour(offset + (24 + val + payload) % wrap)\n }\n }\n },\n\n __onKeyupMinute (e) {\n if (e.keyCode === 13) { // ENTER\n this.view = 'Minute'\n }\n else if ([ 37, 39 ].includes(e.keyCode)) {\n const payload = e.keyCode === 37 ? -1 : 1\n\n if (this.validMinutes !== void 0) {\n const values = this.validMinutes.values\n\n if (values.length === 0) { return }\n\n if (this.innerModel.minute === null) {\n this.__setMinute(values[0])\n }\n else {\n const index = (\n values.length +\n values.indexOf(this.innerModel.minute) +\n payload\n ) % values.length\n\n this.__setMinute(values[index])\n }\n }\n else {\n const val = this.innerModel.minute === null ? -payload : this.innerModel.minute\n this.__setMinute((60 + val + payload) % 60)\n }\n }\n },\n\n __onKeyupSecond (e) {\n if (e.keyCode === 13) { // ENTER\n this.view = 'Second'\n }\n else if ([ 37, 39 ].includes(e.keyCode)) {\n const payload = e.keyCode === 37 ? -1 : 1\n\n if (this.validSeconds !== void 0) {\n const values = this.validSeconds.values\n\n if (values.length === 0) { return }\n\n if (this.innerModel.seconds === null) {\n this.__setSecond(values[0])\n }\n else {\n const index = (\n values.length +\n values.indexOf(this.innerModel.second) +\n payload\n ) % values.length\n\n this.__setSecond(values[index])\n }\n }\n else {\n const val = this.innerModel.second === null ? -payload : this.innerModel.second\n this.__setSecond((60 + val + payload) % 60)\n }\n }\n },\n\n __getHeader (h) {\n const label = [\n h('div', {\n staticClass: 'q-time__link',\n class: this.view === 'Hour' ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vH', {\n click: () => { this.view = 'Hour' },\n keyup: this.__onKeyupHour\n })\n }, [ this.stringModel.hour ]),\n\n h('div', [ ':' ]),\n\n h(\n 'div',\n this.minLink === true\n ? {\n staticClass: 'q-time__link',\n class: this.view === 'Minute' ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vM', {\n click: () => { this.view = 'Minute' },\n keyup: this.__onKeyupMinute\n })\n }\n : { staticClass: 'q-time__link' },\n [ this.stringModel.minute ]\n )\n ]\n\n if (this.withSeconds === true) {\n label.push(\n h('div', [ ':' ]),\n\n h(\n 'div',\n this.secLink === true\n ? {\n staticClass: 'q-time__link',\n class: this.view === 'Second' ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vS', {\n click: () => { this.view = 'Second' },\n keyup: this.__onKeyupSecond\n })\n }\n : { staticClass: 'q-time__link' },\n [ this.stringModel.second ]\n )\n )\n }\n\n return h('div', {\n staticClass: 'q-time__header flex flex-center no-wrap',\n class: this.headerClass\n }, [\n h('div', {\n staticClass: 'q-time__header-label row items-center no-wrap',\n attrs: { dir: 'ltr' }\n }, label),\n\n this.computedFormat24h === false ? h('div', {\n staticClass: 'q-time__header-ampm column items-between no-wrap'\n }, [\n h('div', {\n staticClass: 'q-time__link',\n class: this.isAM === true ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'AM', {\n click: this.__setAm,\n keyup: e => { e.keyCode === 13 && this.__setAm() }\n })\n }, [ 'AM' ]),\n\n h('div', {\n staticClass: 'q-time__link',\n class: this.isAM !== true ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'PM', {\n click: this.__setPm,\n keyup: e => { e.keyCode === 13 && this.__setPm() }\n })\n }, [ 'PM' ])\n ]) : null\n ])\n },\n\n __getClock (h) {\n const\n view = this.view.toLowerCase(),\n current = this.innerModel[view]\n\n return h('div', {\n staticClass: 'q-time__content col relative-position'\n }, [\n h('transition', {\n props: { name: 'q-transition--scale' }\n }, [\n h('div', {\n key: 'clock' + this.view,\n staticClass: 'q-time__container-parent absolute-full'\n }, [\n h('div', {\n ref: 'clock',\n staticClass: 'q-time__container-child fit overflow-hidden'\n }, [\n h('div', {\n staticClass: 'q-time__clock cursor-pointer non-selectable',\n on: cache(this, 'click', {\n click: this.__click,\n mousedown: this.__activate\n }),\n directives: cache(this, 'touch', [{\n name: 'touch-pan',\n value: this.__drag,\n modifiers: {\n stop: true,\n prevent: true,\n mouse: true\n }\n }])\n }, [\n h('div', { staticClass: 'q-time__clock-circle fit' }, [\n h('div', {\n staticClass: 'q-time__clock-pointer',\n style: this.pointerStyle,\n class: this.innerModel[view] === null ? 'hidden' : (this.color !== void 0 ? `text-${this.color}` : '')\n }),\n\n this.positions.map(pos => h('div', {\n staticClass: `q-time__clock-position row flex-center q-time__clock-pos-${pos.index}`,\n class: pos.val === current\n ? this.headerClass.concat(' q-time__clock-position--active')\n : (pos.disable === true ? 'q-time__clock-position--disable' : null)\n }, [ h('span', [ pos.label ]) ]))\n ])\n ])\n ])\n ])\n ]),\n\n this.nowBtn === true ? h(QBtn, {\n staticClass: 'q-time__now-button absolute',\n props: {\n icon: this.$q.iconSet.datetime.now,\n unelevated: true,\n size: 'sm',\n round: true,\n color: this.color,\n textColor: this.textColor,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'now', {\n click: this.setNow\n })\n }) : null\n ])\n },\n\n __setHour (hour) {\n if (this.innerModel.hour !== hour) {\n this.innerModel.hour = hour\n this.innerModel.minute = null\n this.innerModel.second = null\n }\n },\n\n __setMinute (minute) {\n if (this.innerModel.minute !== minute) {\n this.innerModel.minute = minute\n this.innerModel.second = null\n this.withSeconds !== true && this.__updateValue({ minute })\n }\n },\n\n __setSecond (second) {\n this.innerModel.second !== second && this.__updateValue({ second })\n },\n\n __setAm () {\n if (this.isAM === false) {\n this.isAM = true\n\n if (this.innerModel.hour !== null) {\n this.innerModel.hour -= 12\n this.__verifyAndUpdate()\n }\n }\n },\n\n __setPm () {\n if (this.isAM === true) {\n this.isAM = false\n\n if (this.innerModel.hour !== null) {\n this.innerModel.hour += 12\n this.__verifyAndUpdate()\n }\n }\n },\n\n __verifyAndUpdate () {\n if (this.hourInSelection !== void 0 && this.hourInSelection(this.innerModel.hour) !== true) {\n this.innerModel = __splitDate()\n this.view = 'Hour'\n return\n }\n\n if (this.minuteInSelection !== void 0 && this.minuteInSelection(this.innerModel.minute) !== true) {\n this.innerModel.minute = null\n this.innerModel.second = null\n this.view = 'Minute'\n return\n }\n\n if (this.withSeconds === true && this.secondInSelection !== void 0 && this.secondInSelection(this.innerModel.second) !== true) {\n this.innerModel.second = null\n this.view = 'Second'\n return\n }\n\n if (this.innerModel.hour === null || this.innerModel.minute === null || (this.withSeconds === true && this.innerModel.second === null)) {\n return\n }\n\n this.__updateValue()\n },\n\n __updateValue (obj) {\n const date = Object.assign({ ...this.innerModel }, obj)\n\n const val = this.calendar === 'persian'\n ? pad(date.hour) + ':' +\n pad(date.minute) +\n (this.withSeconds === true ? ':' + pad(date.second) : '')\n : formatDate(\n new Date(\n date.year,\n date.month === null ? null : date.month - 1,\n date.day,\n date.hour,\n date.minute,\n date.second,\n date.millisecond\n ),\n this.computedMask,\n this.computedLocale,\n date.year,\n date.timezoneOffset\n )\n\n date.changed = val !== this.value\n this.$emit('input', val, date)\n }\n },\n\n render (h) {\n const child = [\n this.__getClock(h)\n ]\n\n const def = slot(this, 'default')\n def !== void 0 && child.push(\n h('div', { staticClass: 'q-time__actions' }, def)\n )\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(child, 'push')\n }\n\n return h('div', {\n class: this.classes,\n on: { ...this.qListeners },\n attrs: { tabindex: -1 }\n }, [\n this.__getHeader(h),\n h('div', { staticClass: 'q-time__main col overflow-auto' }, child)\n ])\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTimeline',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n provide () {\n return {\n __timeline: this\n }\n },\n\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n side: {\n type: String,\n default: 'right',\n validator: v => ['left', 'right'].includes(v)\n },\n layout: {\n type: String,\n default: 'dense',\n validator: v => ['dense', 'comfortable', 'loose'].includes(v)\n }\n },\n\n computed: {\n classes () {\n return `q-timeline--${this.layout} q-timeline--${this.layout}--${this.side}` +\n (this.isDark === true ? ' q-timeline--dark' : '')\n }\n },\n\n render (h) {\n return h('ul', {\n staticClass: 'q-timeline',\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot, uniqueSlot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTimelineEntry',\n\n inject: {\n __timeline: {\n default () {\n console.error('QTimelineEntry needs to be child of QTimeline')\n }\n }\n },\n\n mixins: [ ListenersMixin ],\n\n props: {\n heading: Boolean,\n tag: {\n type: String,\n default: 'h3'\n },\n side: {\n type: String,\n default: 'right',\n validator: v => ['left', 'right'].includes(v)\n },\n\n icon: String,\n avatar: String,\n\n color: String,\n\n title: String,\n subtitle: String,\n body: String\n },\n\n computed: {\n colorClass () {\n return `text-${this.color || this.__timeline.color}`\n },\n\n classes () {\n return `q-timeline__entry--${this.side}` +\n (this.icon !== void 0 || this.avatar !== void 0 ? ' q-timeline__entry--icon' : '')\n },\n\n reverse () {\n return this.__timeline.layout === 'comfortable' && this.__timeline.side === 'left'\n }\n },\n\n render (h) {\n const child = uniqueSlot(this, 'default', [])\n\n if (this.body !== void 0) {\n child.unshift(this.body)\n }\n\n if (this.heading === true) {\n const content = [\n h('div'),\n h('div'),\n h(\n this.tag,\n { staticClass: 'q-timeline__heading-title' },\n child\n )\n ]\n\n return h('div', {\n staticClass: 'q-timeline__heading',\n on: { ...this.qListeners }\n }, this.reverse === true ? content.reverse() : content)\n }\n\n let dot\n\n if (this.icon !== void 0) {\n dot = [\n h(QIcon, {\n staticClass: 'row items-center justify-center',\n props: { name: this.icon }\n })\n ]\n }\n else if (this.avatar !== void 0) {\n dot = [\n h('img', {\n staticClass: 'q-timeline__dot-img',\n domProps: { src: this.avatar }\n })\n ]\n }\n\n const content = [\n h('div', { staticClass: 'q-timeline__subtitle' }, [\n h('span', slot(this, 'subtitle', [ this.subtitle ]))\n ]),\n\n h('div', {\n staticClass: 'q-timeline__dot',\n class: this.colorClass\n }, dot),\n\n h('div', { staticClass: 'q-timeline__content' }, [\n h('h6', { staticClass: 'q-timeline__title' }, slot(this, 'title', [ this.title ]))\n ].concat(child))\n ]\n\n return h('li', {\n staticClass: 'q-timeline__entry',\n class: this.classes,\n on: { ...this.qListeners }\n }, this.reverse === true ? content.reverse() : content)\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QToolbar',\n\n mixins: [ ListenersMixin ],\n\n props: {\n inset: Boolean\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-toolbar row no-wrap items-center',\n class: this.inset ? 'q-toolbar--inset' : null,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QToolbarTitle',\n\n mixins: [ ListenersMixin ],\n\n props: {\n shrink: Boolean\n },\n\n computed: {\n classes () {\n return 'q-toolbar__title ellipsis' +\n (this.shrink === true ? ' col-shrink' : '')\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n on: { ...this.qListeners }\n }, slot(this, 'default'))\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QCheckbox from '../checkbox/QCheckbox.js'\nimport QSlideTransition from '../slide-transition/QSlideTransition.js'\nimport QSpinner from '../spinner/QSpinner.js'\nimport DarkMixin from '../../mixins/dark.js'\n\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { shouldIgnoreKey } from '../../utils/key-composition.js'\nimport cache from '../../utils/cache.js'\n\nconst tickStrategyOptions = [ 'none', 'strict', 'leaf', 'leaf-filtered' ]\n\nexport default Vue.extend({\n name: 'QTree',\n\n mixins: [ DarkMixin ],\n\n props: {\n nodes: {\n type: Array,\n required: true\n },\n nodeKey: {\n type: String,\n required: true\n },\n labelKey: {\n type: String,\n default: 'label'\n },\n childrenKey: {\n type: String,\n default: 'children'\n },\n\n dense: Boolean,\n\n color: String,\n controlColor: String,\n textColor: String,\n selectedColor: String,\n\n icon: String,\n\n tickStrategy: {\n type: String,\n default: 'none',\n validator: v => tickStrategyOptions.includes(v)\n },\n ticked: Array, // sync\n expanded: Array, // sync\n selected: {}, // sync\n\n noSelectionUnset: Boolean,\n\n defaultExpandAll: Boolean,\n accordion: Boolean,\n\n filter: String,\n filterMethod: {\n type: Function,\n default (node, filter) {\n const filt = filter.toLowerCase()\n return node[this.labelKey] &&\n node[this.labelKey].toLowerCase().indexOf(filt) > -1\n }\n },\n\n duration: Number,\n noConnectors: Boolean,\n\n noNodesLabel: String,\n noResultsLabel: String\n },\n\n computed: {\n classes () {\n return `q-tree q-tree--${this.dense === true ? 'dense' : 'standard'}` +\n (this.noConnectors === true ? ' q-tree--no-connectors' : '') +\n (this.isDark === true ? ` q-tree--dark` : '') +\n (this.color !== void 0 ? ` text-${this.color}` : '')\n },\n\n hasSelection () {\n return this.selected !== void 0\n },\n\n computedIcon () {\n return this.icon || this.$q.iconSet.tree.icon\n },\n\n computedControlColor () {\n return this.controlColor || this.color\n },\n\n textColorClass () {\n if (this.textColor !== void 0) {\n return `text-${this.textColor}`\n }\n },\n\n selectedColorClass () {\n const color = this.selectedColor || this.color\n if (color) {\n return `text-${color}`\n }\n },\n\n meta () {\n const meta = {}\n\n const travel = (node, parent) => {\n const tickStrategy = node.tickStrategy || (parent ? parent.tickStrategy : this.tickStrategy)\n const\n key = node[this.nodeKey],\n isParent = node[this.childrenKey] && node[this.childrenKey].length > 0,\n isLeaf = isParent !== true,\n selectable = node.disabled !== true && this.hasSelection === true && node.selectable !== false,\n expandable = node.disabled !== true && node.expandable !== false,\n hasTicking = tickStrategy !== 'none',\n strictTicking = tickStrategy === 'strict',\n leafFilteredTicking = tickStrategy === 'leaf-filtered',\n leafTicking = tickStrategy === 'leaf' || tickStrategy === 'leaf-filtered'\n\n let tickable = node.disabled !== true && node.tickable !== false\n if (leafTicking === true && tickable === true && parent && parent.tickable !== true) {\n tickable = false\n }\n\n let lazy = node.lazy\n if (\n lazy === true &&\n this.lazy[key] !== void 0 &&\n Array.isArray(node[this.childrenKey]) === true\n ) {\n lazy = this.lazy[key]\n }\n\n const m = {\n key,\n parent,\n isParent,\n isLeaf,\n lazy,\n disabled: node.disabled,\n link: node.disabled !== true && (selectable === true || (expandable === true && (isParent === true || lazy === true))),\n children: [],\n matchesFilter: this.filter ? this.filterMethod(node, this.filter) : true,\n\n selected: key === this.selected && selectable === true,\n selectable,\n expanded: isParent === true ? this.innerExpanded.includes(key) : false,\n expandable,\n noTick: node.noTick === true || (strictTicking !== true && lazy && lazy !== 'loaded'),\n tickable,\n tickStrategy,\n hasTicking,\n strictTicking,\n leafFilteredTicking,\n leafTicking,\n ticked: strictTicking === true\n ? this.innerTicked.includes(key)\n : (isLeaf === true ? this.innerTicked.includes(key) : false)\n }\n\n meta[key] = m\n\n if (isParent === true) {\n m.children = node[this.childrenKey].map(n => travel(n, m))\n\n if (this.filter) {\n if (m.matchesFilter !== true) {\n m.matchesFilter = m.children.some(n => n.matchesFilter)\n }\n else if (\n m.noTick !== true &&\n m.disabled !== true &&\n m.tickable === true &&\n leafFilteredTicking === true &&\n m.children.every(n => n.matchesFilter !== true || n.noTick === true || n.tickable !== true) === true\n ) {\n m.tickable = false\n }\n }\n\n if (m.matchesFilter === true) {\n if (m.noTick !== true && strictTicking !== true && m.children.every(n => n.noTick) === true) {\n m.noTick = true\n }\n\n if (leafTicking) {\n m.ticked = false\n m.indeterminate = m.children.some(node => node.indeterminate === true)\n m.tickable = m.tickable === true && m.children.some(node => node.tickable)\n\n if (m.indeterminate !== true) {\n const sel = m.children\n .reduce((acc, meta) => meta.ticked === true ? acc + 1 : acc, 0)\n\n if (sel === m.children.length) {\n m.ticked = true\n }\n else if (sel > 0) {\n m.indeterminate = true\n }\n }\n\n if (m.indeterminate === true) {\n m.indeterminateNextState = m.children\n .every(meta => meta.tickable !== true || meta.ticked !== true)\n }\n }\n }\n }\n\n return m\n }\n\n this.nodes.forEach(node => travel(node, null))\n return meta\n }\n },\n\n data () {\n return {\n lazy: {},\n innerTicked: this.ticked || [],\n innerExpanded: this.expanded || []\n }\n },\n\n watch: {\n ticked (val) {\n this.innerTicked = val\n },\n\n expanded (val) {\n this.innerExpanded = val\n }\n },\n\n methods: {\n getNodeByKey (key) {\n const reduce = [].reduce\n\n const find = (result, node) => {\n if (result || !node) {\n return result\n }\n if (Array.isArray(node) === true) {\n return reduce.call(Object(node), find, result)\n }\n if (node[this.nodeKey] === key) {\n return node\n }\n if (node[this.childrenKey]) {\n return find(null, node[this.childrenKey])\n }\n }\n\n return find(null, this.nodes)\n },\n\n getTickedNodes () {\n return this.innerTicked.map(key => this.getNodeByKey(key))\n },\n\n getExpandedNodes () {\n return this.innerExpanded.map(key => this.getNodeByKey(key))\n },\n\n isExpanded (key) {\n return key && this.meta[key]\n ? this.meta[key].expanded\n : false\n },\n\n collapseAll () {\n if (this.expanded !== void 0) {\n this.$emit('update:expanded', [])\n }\n else {\n this.innerExpanded = []\n }\n },\n\n expandAll () {\n const\n expanded = this.innerExpanded,\n travel = node => {\n if (node[this.childrenKey] && node[this.childrenKey].length > 0) {\n if (node.expandable !== false && node.disabled !== true) {\n expanded.push(node[this.nodeKey])\n node[this.childrenKey].forEach(travel)\n }\n }\n }\n\n this.nodes.forEach(travel)\n\n if (this.expanded !== void 0) {\n this.$emit('update:expanded', expanded)\n }\n else {\n this.innerExpanded = expanded\n }\n },\n\n setExpanded (key, state, node = this.getNodeByKey(key), meta = this.meta[key]) {\n if (meta.lazy && meta.lazy !== 'loaded') {\n if (meta.lazy === 'loading') {\n return\n }\n\n this.$set(this.lazy, key, 'loading')\n if (Array.isArray(node[this.childrenKey]) !== true) {\n this.$set(node, this.childrenKey, [])\n }\n this.$emit('lazy-load', {\n node,\n key,\n done: children => {\n this.lazy[key] = 'loaded'\n this.$set(node, this.childrenKey, Array.isArray(children) === true ? children : [])\n this.$nextTick(() => {\n const m = this.meta[key]\n if (m && m.isParent === true) {\n this.__setExpanded(key, true)\n }\n })\n },\n fail: () => {\n this.$delete(this.lazy, key)\n if (node[this.childrenKey].length === 0) {\n this.$delete(node, this.childrenKey)\n }\n }\n })\n }\n else if (meta.isParent === true && meta.expandable === true) {\n this.__setExpanded(key, state)\n }\n },\n\n __setExpanded (key, state) {\n let target = this.innerExpanded\n const emit = this.expanded !== void 0\n\n if (emit === true) {\n target = target.slice()\n }\n\n if (state) {\n if (this.accordion) {\n if (this.meta[key]) {\n const collapse = []\n if (this.meta[key].parent) {\n this.meta[key].parent.children.forEach(m => {\n if (m.key !== key && m.expandable === true) {\n collapse.push(m.key)\n }\n })\n }\n else {\n this.nodes.forEach(node => {\n const k = node[this.nodeKey]\n if (k !== key) {\n collapse.push(k)\n }\n })\n }\n if (collapse.length > 0) {\n target = target.filter(k => collapse.includes(k) === false)\n }\n }\n }\n\n target = target.concat([ key ])\n .filter((key, index, self) => self.indexOf(key) === index)\n }\n else {\n target = target.filter(k => k !== key)\n }\n\n if (emit === true) {\n this.$emit(`update:expanded`, target)\n }\n else {\n this.innerExpanded = target\n }\n },\n\n isTicked (key) {\n return key && this.meta[key]\n ? this.meta[key].ticked\n : false\n },\n\n setTicked (keys, state) {\n let target = this.innerTicked\n const emit = this.ticked !== void 0\n\n if (emit === true) {\n target = target.slice()\n }\n\n if (state) {\n target = target.concat(keys)\n .filter((key, index, self) => self.indexOf(key) === index)\n }\n else {\n target = target.filter(k => keys.includes(k) === false)\n }\n\n if (emit === true) {\n this.$emit(`update:ticked`, target)\n }\n },\n\n __getSlotScope (node, meta, key) {\n const scope = { tree: this, node, key, color: this.color, dark: this.isDark }\n\n Object.defineProperty(scope, 'expanded', {\n get: () => { return meta.expanded },\n set: val => { val !== meta.expanded && this.setExpanded(key, val) },\n configurable: true,\n enumerable: true\n })\n Object.defineProperty(scope, 'ticked', {\n get: () => { return meta.ticked },\n set: val => { val !== meta.ticked && this.setTicked([ key ], val) },\n configurable: true,\n enumerable: true\n })\n\n return scope\n },\n\n __getChildren (h, nodes) {\n return (\n this.filter\n ? nodes.filter(n => this.meta[n[this.nodeKey]].matchesFilter)\n : nodes\n ).map(child => this.__getNode(h, child))\n },\n\n __getNodeMedia (h, node) {\n if (node.icon !== void 0) {\n return h(QIcon, {\n staticClass: `q-tree__icon q-mr-sm`,\n props: { name: node.icon, color: node.iconColor }\n })\n }\n const src = node.img || node.avatar\n if (src) {\n return h('img', {\n staticClass: `q-tree__${node.img ? 'img' : 'avatar'} q-mr-sm`,\n attrs: { src }\n })\n }\n },\n\n __getNode (h, node) {\n const\n key = node[this.nodeKey],\n meta = this.meta[key],\n header = node.header\n ? this.$scopedSlots[`header-${node.header}`] || this.$scopedSlots['default-header']\n : this.$scopedSlots['default-header']\n\n const children = meta.isParent === true\n ? this.__getChildren(h, node[this.childrenKey])\n : []\n\n const isParent = children.length > 0 || (meta.lazy && meta.lazy !== 'loaded')\n\n let body = node.body\n ? this.$scopedSlots[`body-${node.body}`] || this.$scopedSlots['default-body']\n : this.$scopedSlots['default-body']\n const slotScope = header !== void 0 || body !== void 0\n ? this.__getSlotScope(node, meta, key)\n : null\n\n if (body !== void 0) {\n body = h('div', { staticClass: 'q-tree__node-body relative-position' }, [\n h('div', { class: this.textColorClass }, [\n body(slotScope)\n ])\n ])\n }\n\n return h('div', {\n key,\n staticClass: 'q-tree__node relative-position',\n class: { 'q-tree__node--parent': isParent, 'q-tree__node--child': !isParent }\n }, [\n h('div', {\n staticClass: 'q-tree__node-header relative-position row no-wrap items-center',\n class: {\n 'q-tree__node--link q-hoverable q-focusable': meta.link,\n 'q-tree__node--selected': meta.selected,\n 'q-tree__node--disabled': meta.disabled\n },\n attrs: { tabindex: meta.link ? 0 : -1 },\n on: {\n click: (e) => {\n this.__onClick(node, meta, e)\n },\n keypress: e => {\n if (shouldIgnoreKey(e) !== true) {\n if (e.keyCode === 13) { this.__onClick(node, meta, e, true) }\n else if (e.keyCode === 32) { this.__onExpandClick(node, meta, e, true) }\n }\n }\n }\n }, [\n h('div', { staticClass: 'q-focus-helper', attrs: { tabindex: -1 }, ref: `blurTarget_${meta.key}` }),\n\n meta.lazy === 'loading'\n ? h(QSpinner, {\n staticClass: 'q-tree__spinner',\n props: { color: this.computedControlColor }\n })\n : (\n isParent === true\n ? h(QIcon, {\n staticClass: 'q-tree__arrow',\n class: { 'q-tree__arrow--rotate': meta.expanded },\n props: { name: this.computedIcon },\n on: {\n click: e => {\n this.__onExpandClick(node, meta, e)\n }\n }\n })\n : null\n ),\n\n meta.hasTicking === true && meta.noTick !== true\n ? h(QCheckbox, {\n staticClass: 'q-tree__tickbox',\n props: {\n value: meta.indeterminate === true ? null : meta.ticked,\n color: this.computedControlColor,\n dark: this.isDark,\n dense: true,\n keepColor: true,\n disable: meta.tickable !== true\n },\n on: {\n keydown: stopAndPrevent,\n input: v => {\n this.__onTickedClick(meta, v)\n }\n }\n })\n : null,\n\n h('div', {\n 'staticClass': 'q-tree__node-header-content col row no-wrap items-center',\n class: meta.selected ? this.selectedColorClass : this.textColorClass\n }, [\n header\n ? header(slotScope)\n : [\n this.__getNodeMedia(h, node),\n h('div', node[this.labelKey])\n ]\n ])\n ]),\n\n isParent === true\n ? h(QSlideTransition, {\n props: { duration: this.duration },\n on: cache(this, 'slide', {\n show: () => { this.$emit('after-show') },\n hide: () => { this.$emit('after-hide') }\n })\n }, [\n h('div', {\n staticClass: 'q-tree__node-collapsible',\n class: this.textColorClass,\n directives: [{ name: 'show', value: meta.expanded }]\n }, [\n body,\n\n h('div', {\n staticClass: 'q-tree__children',\n class: { 'q-tree__node--disabled': meta.disabled }\n }, children)\n ])\n ])\n : body\n ])\n },\n\n __blur (key) {\n const blurTarget = this.$refs[`blurTarget_${key}`]\n blurTarget !== void 0 && blurTarget.focus()\n },\n\n __onClick (node, meta, e, keyboard) {\n keyboard !== true && this.__blur(meta.key)\n\n if (this.hasSelection && meta.selectable) {\n if (this.noSelectionUnset === false) {\n this.$emit('update:selected', meta.key !== this.selected ? meta.key : null)\n }\n else if (meta.key !== this.selected) {\n this.$emit('update:selected', meta.key || null)\n }\n }\n else {\n this.__onExpandClick(node, meta, e, keyboard)\n }\n\n if (typeof node.handler === 'function') {\n node.handler(node)\n }\n },\n\n __onExpandClick (node, meta, e, keyboard) {\n if (e !== void 0) {\n stopAndPrevent(e)\n }\n keyboard !== true && this.__blur(meta.key)\n this.setExpanded(meta.key, !meta.expanded, node, meta)\n },\n\n __onTickedClick (meta, state) {\n if (meta.indeterminate === true) {\n state = meta.indeterminateNextState\n }\n if (meta.strictTicking) {\n this.setTicked([ meta.key ], state)\n }\n else if (meta.leafTicking) {\n const keys = []\n const travel = meta => {\n if (meta.isParent) {\n if (state !== true && meta.noTick !== true && meta.tickable === true) {\n keys.push(meta.key)\n }\n if (meta.leafTicking === true) {\n meta.children.forEach(travel)\n }\n }\n else if (\n meta.noTick !== true &&\n meta.tickable === true &&\n (meta.leafFilteredTicking !== true || meta.matchesFilter === true)\n ) {\n keys.push(meta.key)\n }\n }\n travel(meta)\n this.setTicked(keys, state)\n }\n }\n },\n\n render (h) {\n const children = this.__getChildren(h, this.nodes)\n\n return h(\n 'div', {\n class: this.classes\n },\n children.length === 0\n ? (\n this.filter\n ? this.noResultsLabel || this.$q.lang.tree.noResults\n : this.noNodesLabel || this.$q.lang.tree.noNodes\n )\n : children\n )\n },\n\n created () {\n this.defaultExpandAll === true && this.expandAll()\n }\n})\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\nimport QCircularProgress from '../circular-progress/QCircularProgress.js'\n\nimport FileMixin from '../../mixins/file.js'\nimport DarkMixin from '../../mixins/dark.js'\n\nimport { stop } from '../../utils/event.js'\nimport { humanStorageSize } from '../../utils/format.js'\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'QUploaderBase',\n\n mixins: [ DarkMixin, FileMixin ],\n\n props: {\n label: String,\n\n color: String,\n textColor: String,\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean,\n\n noThumbnails: Boolean,\n autoUpload: Boolean,\n hideUploadBtn: Boolean,\n\n disable: Boolean,\n readonly: Boolean\n },\n\n provide () {\n return {\n __qUploaderGetInput: this.__getInputControl\n }\n },\n\n data () {\n return {\n files: [],\n queuedFiles: [],\n uploadedFiles: [],\n dnd: false,\n expanded: false,\n\n uploadSize: 0,\n uploadedSize: 0\n }\n },\n\n watch: {\n isUploading (newVal, oldVal) {\n if (oldVal === false && newVal === true) {\n this.$emit('start')\n }\n else if (oldVal === true && newVal === false) {\n this.$emit('finish')\n }\n }\n },\n\n computed: {\n /*\n * When extending:\n * Required : isUploading\n * Optional: isBusy\n */\n\n canUpload () {\n return this.editable === true &&\n this.isBusy !== true &&\n this.isUploading !== true &&\n this.queuedFiles.length > 0\n },\n\n canAddFiles () {\n return (\n this.editable === true &&\n this.isUploading !== true &&\n // if single selection and no files are queued:\n (this.multiple === true || this.queuedFiles.length === 0) &&\n // if max-files is set and current number of files does not exceeds it:\n (this.maxFiles === void 0 || this.files.length < this.maxFilesNumber) &&\n // if max-total-size is set and current upload size does not exceeds it:\n (this.maxTotalSize === void 0 || this.uploadSize < this.maxTotalSizeNumber)\n )\n },\n\n uploadProgress () {\n return this.uploadSize === 0\n ? 0\n : this.uploadedSize / this.uploadSize\n },\n\n uploadProgressLabel () {\n return this.__getProgressLabel(this.uploadProgress)\n },\n\n uploadedSizeLabel () {\n return humanStorageSize(this.uploadedSize)\n },\n\n uploadSizeLabel () {\n return humanStorageSize(this.uploadSize)\n },\n\n colorClass () {\n const cls = []\n this.color !== void 0 && cls.push(`bg-${this.color}`)\n this.textColor !== void 0 && cls.push(`text-${this.textColor}`)\n return cls.join(' ')\n },\n\n editable () {\n return this.disable !== true && this.readonly !== true\n }\n },\n\n methods: {\n reset () {\n if (!this.disable) {\n this.abort()\n this.uploadedSize = 0\n this.uploadSize = 0\n this.__revokeImgURLs()\n this.files = []\n this.queuedFiles = []\n this.uploadedFiles = []\n }\n },\n\n removeUploadedFiles () {\n this.__removeFiles([ 'uploaded' ], () => {\n this.uploadedFiles = []\n })\n },\n\n removeQueuedFiles () {\n this.__removeFiles([ 'idle', 'failed' ], ({ size }) => {\n this.uploadSize -= size\n this.queuedFiles = []\n })\n },\n\n __removeFiles (statusList, cb) {\n if (this.disable === true) {\n return\n }\n\n const removed = {\n files: [],\n size: 0\n }\n\n const files = this.files.filter(f => {\n if (statusList.indexOf(f.__status) === -1) {\n return true\n }\n\n removed.size += f.size\n removed.files.push(f)\n\n f.__img !== void 0 && window.URL.revokeObjectURL(f.__img.src)\n\n return false\n })\n\n if (removed.files.length > 0) {\n this.files = files\n cb !== void 0 && cb(removed)\n this.$emit('removed', removed.files)\n }\n },\n\n removeFile (file) {\n if (this.disable) { return }\n\n if (file.__status === 'uploaded') {\n this.uploadedFiles = this.uploadedFiles.filter(f => f.__key !== file.__key)\n }\n else if (file.__status === 'uploading') {\n file.__abort()\n }\n else {\n this.uploadSize -= file.size\n }\n\n this.files = this.files.filter(f => {\n if (f.__key !== file.__key) {\n return true\n }\n\n f.__img !== void 0 && window.URL.revokeObjectURL(f.__img.src)\n\n return false\n })\n this.queuedFiles = this.queuedFiles.filter(f => f.__key !== file.__key)\n this.$emit('removed', [ file ])\n },\n\n __revokeImgURLs () {\n this.files.forEach(f => {\n f.__img !== void 0 && window.URL.revokeObjectURL(f.__img.src)\n })\n },\n\n __getFileInput () {\n return this.$refs.input ||\n this.$el.getElementsByClassName('q-uploader__input')[0]\n },\n\n __getProgressLabel (p) {\n return (p * 100).toFixed(2) + '%'\n },\n\n __updateFile (file, status, uploadedSize) {\n file.__status = status\n\n if (status === 'idle') {\n file.__uploaded = 0\n file.__progress = 0\n file.__sizeLabel = humanStorageSize(file.size)\n file.__progressLabel = '0.00%'\n return\n }\n if (status === 'failed') {\n this.$forceUpdate()\n return\n }\n\n file.__uploaded = status === 'uploaded'\n ? file.size\n : uploadedSize\n\n file.__progress = status === 'uploaded'\n ? 1\n : Math.min(0.9999, file.__uploaded / file.size)\n\n file.__progressLabel = this.__getProgressLabel(file.__progress)\n this.$forceUpdate()\n },\n\n __addFiles (e, fileList) {\n const localFiles = this.__processFiles(e, fileList, this.files, true)\n\n if (localFiles === void 0) { return }\n\n const fileInput = this.__getFileInput()\n if (fileInput !== void 0) {\n fileInput.value = ''\n }\n\n localFiles.forEach(file => {\n this.__updateFile(file, 'idle')\n this.uploadSize += file.size\n\n if (this.noThumbnails !== true && file.type.toUpperCase().startsWith('IMAGE')) {\n const img = new Image()\n img.src = window.URL.createObjectURL(file)\n file.__img = img\n }\n })\n\n this.files = this.files.concat(localFiles)\n this.queuedFiles = this.queuedFiles.concat(localFiles)\n this.$emit('added', localFiles)\n this.autoUpload === true && this.upload()\n },\n\n __getBtn (h, show, icon, fn) {\n if (show === true) {\n return h(QBtn, {\n props: {\n type: 'a',\n icon: this.$q.iconSet.uploader[icon],\n flat: true,\n dense: true\n },\n on: { click: icon === 'add' ? this.pickFiles : fn }\n }, icon === 'add' ? this.__getInputControl(h) : null)\n }\n },\n\n __getInputControl (h) {\n return [\n h('input', {\n ref: 'input',\n staticClass: 'q-uploader__input overflow-hidden absolute-full',\n attrs: {\n tabindex: -1,\n type: 'file',\n title: '', // try to remove default tooltip\n accept: this.accept,\n capture: this.capture,\n ...(this.multiple === true ? { multiple: true } : {})\n },\n on: cache(this, 'input', {\n mousedown: stop, // need to stop refocus from QBtn\n click: this.pickFiles,\n change: this.__addFiles\n })\n })\n ]\n },\n\n __getHeader (h) {\n if (this.$scopedSlots.header !== void 0) {\n return this.$scopedSlots.header(this)\n }\n\n return [\n h('div', {\n staticClass: 'q-uploader__header-content flex flex-center no-wrap q-gutter-xs'\n }, [\n this.__getBtn(h, this.queuedFiles.length > 0, 'removeQueue', this.removeQueuedFiles),\n this.__getBtn(h, this.uploadedFiles.length > 0, 'removeUploaded', this.removeUploadedFiles),\n\n this.isUploading === true\n ? h(QSpinner, { staticClass: 'q-uploader__spinner' })\n : null,\n\n h('div', { staticClass: 'col column justify-center' }, [\n this.label !== void 0\n ? h('div', { staticClass: 'q-uploader__title' }, [ this.label ])\n : null,\n\n h('div', { staticClass: 'q-uploader__subtitle' }, [\n this.uploadSizeLabel + ' / ' + this.uploadProgressLabel\n ])\n ]),\n\n this.__getBtn(h, this.canAddFiles, 'add', this.pickFiles),\n this.__getBtn(h, this.hideUploadBtn === false && this.canUpload === true, 'upload', this.upload),\n this.__getBtn(h, this.isUploading, 'clear', this.abort)\n ])\n ]\n },\n\n __getList (h) {\n if (this.$scopedSlots.list !== void 0) {\n return this.$scopedSlots.list(this)\n }\n\n return this.files.map(file => h('div', {\n key: file.__key,\n staticClass: 'q-uploader__file relative-position',\n class: {\n 'q-uploader__file--img': this.noThumbnails !== true && file.__img !== void 0,\n 'q-uploader__file--failed': file.__status === 'failed',\n 'q-uploader__file--uploaded': file.__status === 'uploaded'\n },\n style: this.noThumbnails !== true && file.__img !== void 0 ? {\n backgroundImage: 'url(\"' + file.__img.src + '\")'\n } : null\n }, [\n h('div', {\n staticClass: 'q-uploader__file-header row flex-center no-wrap'\n }, [\n file.__status === 'failed'\n ? h(QIcon, {\n staticClass: 'q-uploader__file-status',\n props: {\n name: this.$q.iconSet.type.negative,\n color: 'negative'\n }\n })\n : null,\n\n h('div', { staticClass: 'q-uploader__file-header-content col' }, [\n h('div', { staticClass: 'q-uploader__title' }, [ file.name ]),\n h('div', {\n staticClass: 'q-uploader__subtitle row items-center no-wrap'\n }, [\n file.__sizeLabel + ' / ' + file.__progressLabel\n ])\n ]),\n\n file.__status === 'uploading'\n ? h(QCircularProgress, {\n props: {\n value: file.__progress,\n min: 0,\n max: 1,\n indeterminate: file.__progress === 0\n }\n })\n : h(QBtn, {\n props: {\n round: true,\n dense: true,\n flat: true,\n icon: this.$q.iconSet.uploader[file.__status === 'uploaded' ? 'done' : 'clear']\n },\n on: {\n click: () => { this.removeFile(file) }\n }\n })\n ])\n ]))\n }\n },\n\n beforeDestroy () {\n this.isUploading === true && this.abort()\n this.files.length > 0 && this.__revokeImgURLs()\n },\n\n render (h) {\n const children = [\n h('div', {\n staticClass: 'q-uploader__header',\n class: this.colorClass\n }, this.__getHeader(h)),\n\n h('div', {\n staticClass: 'q-uploader__list scroll'\n }, this.__getList(h)),\n\n this.__getDnd(h, 'uploader')\n ]\n\n this.isBusy === true && children.push(\n h('div', {\n staticClass: 'q-uploader__overlay absolute-full flex flex-center'\n }, [ h(QSpinner) ])\n )\n\n return h('div', {\n staticClass: 'q-uploader column no-wrap',\n class: {\n 'q-uploader--dark q-dark': this.isDark,\n 'q-uploader--bordered': this.bordered,\n 'q-uploader--square no-border-radius': this.square,\n 'q-uploader--flat no-shadow': this.flat,\n 'disabled q-uploader--disable': this.disable\n },\n on: this.canAddFiles === true\n ? cache(this, 'drag', { dragover: this.__onDragOver })\n : null\n }, children)\n }\n})\n","function getFn (prop) {\n return typeof prop === 'function'\n ? prop\n : () => prop\n}\n\nexport default {\n props: {\n url: [ Function, String ],\n method: {\n type: [ Function, String ],\n default: 'POST'\n },\n fieldName: {\n type: [ Function, String ],\n default: file => file.name\n },\n headers: [ Function, Array ],\n formFields: [ Function, Array ],\n withCredentials: [ Function, Boolean ],\n sendRaw: [ Function, Boolean ],\n\n batch: [ Function, Boolean ],\n factory: Function\n },\n\n data () {\n return {\n xhrs: [],\n promises: [],\n workingThreads: 0\n }\n },\n\n computed: {\n xhrProps () {\n return {\n url: getFn(this.url),\n method: getFn(this.method),\n headers: getFn(this.headers),\n formFields: getFn(this.formFields),\n fieldName: getFn(this.fieldName),\n withCredentials: getFn(this.withCredentials),\n sendRaw: getFn(this.sendRaw),\n batch: getFn(this.batch)\n }\n },\n\n isUploading () {\n return this.workingThreads > 0\n },\n\n isBusy () {\n return this.promises.length > 0\n }\n },\n\n methods: {\n abort () {\n this.xhrs.forEach(x => { x.abort() })\n\n if (this.promises.length > 0) {\n this.abortPromises = true\n }\n },\n\n upload () {\n if (this.canUpload === false) {\n return\n }\n\n const queue = this.queuedFiles.slice(0)\n this.queuedFiles = []\n\n if (this.xhrProps.batch(queue)) {\n this.__runFactory(queue)\n }\n else {\n queue.forEach(file => {\n this.__runFactory([ file ])\n })\n }\n },\n\n __runFactory (files) {\n this.workingThreads++\n\n if (typeof this.factory !== 'function') {\n this.__uploadFiles(files, {})\n return\n }\n\n const res = this.factory(files)\n\n if (!res) {\n this.$emit(\n 'factory-failed',\n new Error('QUploader: factory() does not return properly'),\n files\n )\n this.workingThreads--\n }\n else if (typeof res.catch === 'function' && typeof res.then === 'function') {\n this.promises.push(res)\n\n const failed = err => {\n if (this._isBeingDestroyed !== true && this._isDestroyed !== true) {\n this.promises = this.promises.filter(p => p !== res)\n\n if (this.promises.length === 0) {\n this.abortPromises = false\n }\n\n this.queuedFiles = this.queuedFiles.concat(files)\n files.forEach(f => { this.__updateFile(f, 'failed') })\n\n this.$emit('factory-failed', err, files)\n this.workingThreads--\n }\n }\n\n res.then(factory => {\n if (this.abortPromises === true) {\n failed(new Error('Aborted'))\n }\n else if (this._isBeingDestroyed !== true && this._isDestroyed !== true) {\n this.promises = this.promises.filter(p => p !== res)\n this.__uploadFiles(files, factory)\n }\n }).catch(failed)\n }\n else {\n this.__uploadFiles(files, res || {})\n }\n },\n\n __uploadFiles (files, factory) {\n const\n form = new FormData(),\n xhr = new XMLHttpRequest()\n\n const getProp = (name, arg) => {\n return factory[name] !== void 0\n ? getFn(factory[name])(arg)\n : this.xhrProps[name](arg)\n }\n\n const url = getProp('url', files)\n\n if (!url) {\n console.error('q-uploader: invalid or no URL specified')\n this.workingThreads--\n return\n }\n\n const fields = getProp('formFields', files)\n fields !== void 0 && fields.forEach(field => {\n form.append(field.name, field.value)\n })\n\n let\n uploadIndex = 0,\n uploadIndexSize = 0,\n uploadedSize = 0,\n maxUploadSize = 0,\n aborted\n\n xhr.upload.addEventListener('progress', e => {\n if (aborted === true) { return }\n\n const loaded = Math.min(maxUploadSize, e.loaded)\n\n this.uploadedSize += loaded - uploadedSize\n uploadedSize = loaded\n\n let size = uploadedSize - uploadIndexSize\n for (let i = uploadIndex; size > 0 && i < files.length; i++) {\n const\n file = files[i],\n uploaded = size > file.size\n\n if (uploaded) {\n size -= file.size\n uploadIndex++\n uploadIndexSize += file.size\n this.__updateFile(file, 'uploading', file.size)\n }\n else {\n this.__updateFile(file, 'uploading', size)\n return\n }\n }\n }, false)\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState < 4) {\n return\n }\n\n if (xhr.status && xhr.status < 400) {\n this.uploadedFiles = this.uploadedFiles.concat(files)\n files.forEach(f => { this.__updateFile(f, 'uploaded') })\n this.$emit('uploaded', { files, xhr })\n }\n else {\n aborted = true\n this.uploadedSize -= uploadedSize\n this.queuedFiles = this.queuedFiles.concat(files)\n files.forEach(f => { this.__updateFile(f, 'failed') })\n this.$emit('failed', { files, xhr })\n }\n\n this.workingThreads--\n this.xhrs = this.xhrs.filter(x => x !== xhr)\n }\n\n xhr.open(\n getProp('method', files),\n url\n )\n\n if (getProp('withCredentials', files) === true) {\n xhr.withCredentials = true\n }\n\n const headers = getProp('headers', files)\n headers !== void 0 && headers.forEach(head => {\n xhr.setRequestHeader(head.name, head.value)\n })\n\n const sendRaw = getProp('sendRaw', files)\n\n files.forEach(file => {\n this.__updateFile(file, 'uploading', 0)\n if (sendRaw !== true) {\n form.append(getProp('fieldName', file), file, file.name)\n }\n file.xhr = xhr\n file.__abort = () => { xhr.abort() }\n maxUploadSize += file.size\n })\n\n this.$emit('uploading', { files, xhr })\n this.xhrs.push(xhr)\n\n if (sendRaw === true) {\n xhr.send(new Blob(files))\n }\n else {\n xhr.send(form)\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QUploaderBase from './QUploaderBase.js'\nimport UploaderXHRMixin from './uploader-xhr-mixin.js'\n\nexport default Vue.extend({\n name: 'QUploader',\n mixins: [ QUploaderBase, UploaderXHRMixin ]\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'QUploaderAddTrigger',\n\n inject: {\n __qUploaderGetInput: {\n default () {\n console.error('QUploaderAddTrigger needs to be child of QUploader')\n }\n }\n },\n\n render (h) {\n return this.__qUploaderGetInput(h)\n }\n})\n","import Vue from 'vue'\n\nimport RatioMixin from '../../mixins/ratio.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default Vue.extend({\n name: 'QVideo',\n\n mixins: [ RatioMixin, ListenersMixin ],\n\n props: {\n src: {\n type: String,\n required: true\n },\n\n title: String\n },\n\n computed: {\n iframeData () {\n return {\n attrs: {\n src: this.src,\n frameborder: '0',\n title: this.title,\n allowfullscreen: true\n }\n }\n },\n\n classes () {\n return 'q-video' +\n (this.ratio !== void 0 ? ' q-video--responsive' : '')\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n style: this.ratioStyle,\n on: { ...this.qListeners }\n }, [\n h('iframe', this.iframeData)\n ])\n }\n})\n","import { closePortals } from '../mixins/portal.js'\nimport { isKeyCode } from '../utils/key-composition.js'\n\n/*\n * depth\n * < 0 --> close all chain\n * 0 --> disabled\n * > 0 --> close chain up to N parent\n */\n\nfunction getDepth (value) {\n if (value === false) {\n return 0\n }\n if (value === true || value === void 0) {\n return 1\n }\n\n const depth = parseInt(value, 10)\n return isNaN(depth) ? 0 : depth\n}\n\nfunction destroy (el) {\n const ctx = el.__qclosepopup\n if (ctx !== void 0) {\n el.removeEventListener('click', ctx.handler)\n el.removeEventListener('keyup', ctx.handlerKey)\n delete el.__qclosepopup\n }\n}\n\nexport default {\n name: 'close-popup',\n\n bind (el, { value }, vnode) {\n if (el.__qclosepopup !== void 0) {\n destroy(el)\n el.__qclosepopup_destroyed = true\n }\n\n const ctx = {\n depth: getDepth(value),\n\n handler (evt) {\n // allow @click to be emitted\n ctx.depth !== 0 && setTimeout(() => {\n closePortals(vnode.componentInstance || vnode.context, evt, ctx.depth)\n })\n },\n\n handlerKey (evt) {\n isKeyCode(evt, 13) === true && ctx.handler(evt)\n }\n }\n\n el.__qclosepopup = ctx\n\n el.addEventListener('click', ctx.handler)\n el.addEventListener('keyup', ctx.handlerKey)\n },\n\n update (el, { value, oldValue }) {\n if (el.__qclosepopup !== void 0 && value !== oldValue) {\n el.__qclosepopup.depth = getDepth(value)\n }\n },\n\n unbind (el) {\n if (el.__qclosepopup_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qclosepopup_destroyed\n }\n }\n}\n","import { client } from '../plugins/Platform.js'\nimport { isKeyCode } from '../utils/key-composition.js'\n\nfunction destroy (el) {\n const ctx = el.__qgoback\n if (ctx !== void 0) {\n el.removeEventListener('click', ctx.goBack)\n el.removeEventListener('keyup', ctx.goBackKey)\n delete el.__qgoback\n }\n}\n\nexport default {\n name: 'go-back',\n\n bind (el, { value, modifiers }, vnode) {\n if (el.__qgoback !== void 0) {\n destroy(el)\n el.__qgoback_destroyed = true\n }\n\n const ctx = {\n value,\n\n position: window.history.length - 1,\n single: modifiers.single,\n\n goBack () {\n const router = vnode.context.$router\n\n if (ctx.single === true) {\n router.go(-1)\n }\n else if (client.is.nativeMobile === true) {\n router.go(ctx.position - window.history.length)\n }\n else {\n router.replace(ctx.value)\n }\n },\n\n goBackKey (e) {\n // if ENTER key\n isKeyCode(e, 13) === true && ctx.goBack()\n }\n }\n\n el.__qgoback = ctx\n\n el.addEventListener('click', ctx.goBack)\n el.addEventListener('keyup', ctx.goBackKey)\n },\n\n update (el, { value, oldValue }) {\n const ctx = el.__qgoback\n\n if (ctx !== void 0 && value !== oldValue) {\n ctx.value = value\n }\n },\n\n unbind (el) {\n if (el.__qgoback_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qgoback_destroyed\n }\n }\n}\n","import { getElement } from './dom.js'\nimport { isPlainObject } from './is'\n\nlet id = 0\nlet offsetBase = void 0\n\nfunction getAbsolutePosition (el, resize) {\n if (offsetBase === void 0) {\n offsetBase = document.createElement('div')\n offsetBase.style.cssText = 'position: absolute; left: 0; top: 0'\n document.body.appendChild(offsetBase)\n }\n\n const boundingRect = el.getBoundingClientRect()\n const baseRect = offsetBase.getBoundingClientRect()\n const { marginLeft, marginRight, marginTop, marginBottom } = window.getComputedStyle(el)\n const marginH = parseInt(marginLeft, 10) + parseInt(marginRight, 10)\n const marginV = parseInt(marginTop, 10) + parseInt(marginBottom, 10)\n\n return {\n left: boundingRect.left - baseRect.left,\n top: boundingRect.top - baseRect.top,\n width: boundingRect.right - boundingRect.left,\n height: boundingRect.bottom - boundingRect.top,\n widthM: boundingRect.right - boundingRect.left + (resize === true ? 0 : marginH),\n heightM: boundingRect.bottom - boundingRect.top + (resize === true ? 0 : marginV),\n marginH: resize === true ? marginH : 0,\n marginV: resize === true ? marginV : 0\n }\n}\n\nfunction getAbsoluteSize (el) {\n return {\n width: el.scrollWidth,\n height: el.scrollHeight\n }\n}\n\n// firefox rulez\nconst styleEdges = [ 'Top', 'Right', 'Bottom', 'Left' ]\nconst styleBorderRadiuses = [ 'borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius' ]\nconst reStyleSkipKey = /-block|-inline|block-|inline-/\nconst reStyleSkipRule = /(-block|-inline|block-|inline-).*:/\n\nfunction getComputedStyle (el, props) {\n const style = window.getComputedStyle(el)\n const fixed = {}\n for (let i = 0; i < props.length; i++) {\n const prop = props[i]\n\n if (style[prop] === '') {\n if (prop === 'cssText') {\n const styleLen = style.length\n let val = ''\n\n for (let i = 0; i < styleLen; i++) {\n if (reStyleSkipKey.test(style[i]) !== true) {\n val += style[i] + ': ' + style[style[i]] + '; '\n }\n }\n\n fixed[prop] = val\n }\n else if ([ 'borderWidth', 'borderStyle', 'borderColor' ].indexOf(prop) > -1) {\n const suffix = prop.replace('border', '')\n let val = ''\n for (let j = 0; j < styleEdges.length; j++) {\n const subProp = 'border' + styleEdges[j] + suffix\n val += style[subProp] + ' '\n }\n fixed[prop] = val\n }\n else if (prop === 'borderRadius') {\n let val1 = ''\n let val2 = ''\n for (let j = 0; j < styleBorderRadiuses.length; j++) {\n const val = style[styleBorderRadiuses[j]].split(' ')\n val1 += val[0] + ' '\n val2 += (val[1] === void 0 ? val[0] : val[1]) + ' '\n }\n fixed[prop] = val1 + '/ ' + val2\n }\n else {\n fixed[prop] = style[prop]\n }\n }\n else {\n if (prop === 'cssText') {\n fixed[prop] = style[prop]\n .split(';')\n .filter(val => reStyleSkipRule.test(val) !== true)\n .join(';')\n }\n else {\n fixed[prop] = style[prop]\n }\n }\n }\n\n return fixed\n}\n\nconst zIndexPositions = ['absolute', 'fixed', 'relative', 'sticky']\n\nfunction getMaxZIndex (elStart) {\n let el = elStart\n let maxIndex = 0\n\n while (el !== null && el !== document) {\n const { position, zIndex } = window.getComputedStyle(el)\n const zIndexNum = Number(zIndex)\n\n if (\n zIndexNum > maxIndex &&\n (el === elStart || zIndexPositions.includes(position) === true)\n ) {\n maxIndex = zIndexNum\n }\n\n el = el.parentNode\n }\n\n return maxIndex\n}\n\nfunction normalizeElements (opts) {\n return {\n from: opts.from,\n to: opts.to !== void 0\n ? opts.to\n : opts.from\n }\n}\n\nfunction normalizeOptions (options) {\n if (typeof options === 'number') {\n options = {\n duration: options\n }\n }\n else if (typeof options === 'function') {\n options = {\n onEnd: options\n }\n }\n\n return {\n ...options,\n\n waitFor: options.waitFor === void 0 ? 0 : options.waitFor,\n\n duration: isNaN(options.duration) === true ? 300 : parseInt(options.duration, 10),\n easing: typeof options.easing === 'string' && options.easing.length > 0 ? options.easing : 'ease-in-out',\n delay: isNaN(options.delay) === true ? 0 : parseInt(options.delay, 10),\n fill: typeof options.fill === 'string' && options.fill.length > 0 ? options.fill : 'none',\n\n resize: options.resize === true,\n useCSS: options.useCSS === true,\n hideFromClone: options.hideFromClone === true,\n keepToClone: options.keepToClone === true,\n\n tween: options.tween === true,\n tweenFromOpacity: isNaN(options.tweenFromOpacity) === true ? 0.6 : parseFloat(options.tweenFromOpacity),\n tweenToOpacity: isNaN(options.tweenToOpacity) === true ? 0.5 : parseFloat(options.tweenToOpacity)\n }\n}\n\nfunction isValidElement (element) {\n return element &&\n element.ownerDocument === document &&\n element.parentNode !== null\n}\n\nexport default function morph (_options) {\n let cancel = () => false\n let cancelStatus = false\n let endElementTo = true\n\n const elements = normalizeElements(_options)\n const options = normalizeOptions(_options)\n\n const elFrom = getElement(elements.from)\n if (isValidElement(elFrom) !== true) {\n // we return a cancel function that return false, meaning the cancel function failed\n return cancel\n }\n // we clean other morphs running on this element\n typeof elFrom.qMorphCancel === 'function' && elFrom.qMorphCancel()\n\n let animationFromClone = void 0\n let animationFromTween = void 0\n let animationToClone = void 0\n let animationTo = void 0\n\n const elFromParent = elFrom.parentNode\n const elFromNext = elFrom.nextElementSibling\n\n // we get the dimensions and characteristics\n // of the parent of the initial element before changes\n const elFromPosition = getAbsolutePosition(elFrom, options.resize)\n const {\n width: elFromParentWidthBefore,\n height: elFromParentHeightBefore\n } = getAbsoluteSize(elFromParent)\n const {\n borderWidth: elFromBorderWidth,\n borderStyle: elFromBorderStyle,\n borderColor: elFromBorderColor,\n borderRadius: elFromBorderRadius,\n backgroundColor: elFromBackground,\n transform: elFromTransform,\n position: elFromPositioningType,\n cssText: elFromCssText\n } = getComputedStyle(elFrom, [ 'borderWidth', 'borderStyle', 'borderColor', 'borderRadius', 'backgroundColor', 'transform', 'position', 'cssText' ])\n const elFromClassSaved = elFrom.classList.toString()\n const elFromStyleSaved = elFrom.style.cssText\n\n // we make a clone of the initial element and\n // use it to display until the final element is ready\n // and to change the occupied space during animation\n const elFromClone = elFrom.cloneNode(true)\n const elFromTween = options.tween === true ? elFrom.cloneNode(true) : void 0\n\n if (elFromTween !== void 0) {\n elFromTween.className = elFromTween.classList.toString().split(' ').filter(c => /^bg-/.test(c) === false).join(' ')\n }\n\n // if the initial element is not going to be removed do not show the placeholder\n options.hideFromClone === true && elFromClone.classList.add('q-morph--internal')\n\n // prevent interaction with placeholder\n elFromClone.setAttribute('aria-hidden', 'true')\n elFromClone.style.transition = 'none'\n elFromClone.style.animation = 'none'\n elFromClone.style.pointerEvents = 'none'\n elFromParent.insertBefore(elFromClone, elFromNext)\n\n // we mark the element with its cleanup function\n elFrom.qMorphCancel = () => {\n cancelStatus = true\n\n // we clean the clone of the initial element\n elFromClone.remove()\n elFromTween !== void 0 && elFromTween.remove()\n\n options.hideFromClone === true && elFromClone.classList.remove('q-morph--internal')\n\n // we remove the cleanup function from the element\n elFrom.qMorphCancel = void 0\n }\n\n // will be called after Vue catches up with the changes done by _options.onToggle() function\n const calculateFinalState = () => {\n const elTo = getElement(elements.to)\n if (cancelStatus === true || isValidElement(elTo) !== true) {\n typeof elFrom.qMorphCancel === 'function' && elFrom.qMorphCancel()\n\n return\n }\n // we clean other morphs running on this element\n elFrom !== elTo && typeof elTo.qMorphCancel === 'function' && elTo.qMorphCancel()\n\n // we hide the final element and the clone of the initial element\n // we don't hide the final element if we want both it and the animated one visible\n options.keepToClone !== true && elTo.classList.add('q-morph--internal')\n elFromClone.classList.add('q-morph--internal')\n\n // we get the dimensions of the parent of the initial element after changes\n // the difference is how much we should animate the clone\n const {\n width: elFromParentWidthAfter,\n height: elFromParentHeightAfter\n } = getAbsoluteSize(elFromParent)\n\n // we get the dimensions of the parent of the final element before changes\n const {\n width: elToParentWidthBefore,\n height: elToParentHeightBefore\n } = getAbsoluteSize(elTo.parentNode)\n\n // then we show the clone of the initial element if we don't want it hidden\n options.hideFromClone !== true && elFromClone.classList.remove('q-morph--internal')\n\n // we mark the element with its cleanup function\n elTo.qMorphCancel = () => {\n cancelStatus = true\n\n // we clean the clone of the initial element\n elFromClone.remove()\n elFromTween !== void 0 && elFromTween.remove()\n\n options.hideFromClone === true && elFromClone.classList.remove('q-morph--internal')\n\n // we show the final element\n options.keepToClone !== true && elTo.classList.remove('q-morph--internal')\n\n // we remove the cleanup function from the elements\n elFrom.qMorphCancel = void 0\n elTo.qMorphCancel = void 0\n }\n\n // will be called after waitFor (give time to render the final element)\n const animate = () => {\n if (cancelStatus === true) {\n typeof elTo.qMorphCancel === 'function' && elTo.qMorphCancel()\n\n return\n }\n\n // now the animation starts, so we only need the clone\n // of the initial element as a spacer\n // we also hide it to calculate the dimensions of the\n // parent of the final element after the changes\n if (options.hideFromClone !== true) {\n elFromClone.classList.add('q-morph--internal')\n elFromClone.innerHTML = ''\n elFromClone.style.left = 0\n elFromClone.style.right = 'unset'\n elFromClone.style.top = 0\n elFromClone.style.bottom = 'unset'\n elFromClone.style.transform = 'none'\n }\n\n // we show the final element\n if (options.keepToClone !== true) {\n elTo.classList.remove('q-morph--internal')\n }\n\n // we get the dimensions of the parent of the final element after changes\n // the difference is how much we should animate the clone\n const elToParent = elTo.parentNode\n const {\n width: elToParentWidthAfter,\n height: elToParentHeightAfter\n } = getAbsoluteSize(elToParent)\n\n const elToClone = elTo.cloneNode(options.keepToClone)\n elToClone.setAttribute('aria-hidden', 'true')\n if (options.keepToClone !== true) {\n elToClone.style.left = 0\n elToClone.style.right = 'unset'\n elToClone.style.top = 0\n elToClone.style.bottom = 'unset'\n elToClone.style.transform = 'none'\n elToClone.style.pointerEvents = 'none'\n }\n elToClone.classList.add('q-morph--internal')\n\n // if elFrom is the same as elTo the next element is elFromClone\n const elToNext = elTo === elFrom && elFromParent === elToParent ? elFromClone : elTo.nextElementSibling\n elToParent.insertBefore(elToClone, elToNext)\n\n const {\n borderWidth: elToBorderWidth,\n borderStyle: elToBorderStyle,\n borderColor: elToBorderColor,\n borderRadius: elToBorderRadius,\n backgroundColor: elToBackground,\n transform: elToTransform,\n position: elToPositioningType,\n cssText: elToCssText\n } = getComputedStyle(elTo, [ 'borderWidth', 'borderStyle', 'borderColor', 'borderRadius', 'backgroundColor', 'transform', 'position', 'cssText' ])\n const elToClassSaved = elTo.classList.toString()\n const elToStyleSaved = elTo.style.cssText\n\n // we set the computed styles on the element (to be able to remove classes)\n elTo.style.cssText = elToCssText\n elTo.style.transform = 'none'\n elTo.style.animation = 'none'\n elTo.style.transition = 'none'\n // we strip the background classes (background color can no longer be animated if !important is used)\n elTo.className = elToClassSaved.split(' ').filter(c => /^bg-/.test(c) === false).join(' ')\n\n const elToPosition = getAbsolutePosition(elTo, options.resize)\n\n const deltaX = elFromPosition.left - elToPosition.left\n const deltaY = elFromPosition.top - elToPosition.top\n const scaleX = elFromPosition.width / (elToPosition.width > 0 ? elToPosition.width : 10)\n const scaleY = elFromPosition.height / (elToPosition.height > 0 ? elToPosition.height : 100)\n\n const elFromParentWidthDiff = elFromParentWidthBefore - elFromParentWidthAfter\n const elFromParentHeightDiff = elFromParentHeightBefore - elFromParentHeightAfter\n const elToParentWidthDiff = elToParentWidthAfter - elToParentWidthBefore\n const elToParentHeightDiff = elToParentHeightAfter - elToParentHeightBefore\n\n const elFromCloneWidth = Math.max(elFromPosition.widthM, elFromParentWidthDiff)\n const elFromCloneHeight = Math.max(elFromPosition.heightM, elFromParentHeightDiff)\n const elToCloneWidth = Math.max(elToPosition.widthM, elToParentWidthDiff)\n const elToCloneHeight = Math.max(elToPosition.heightM, elToParentHeightDiff)\n\n const elSharedSize = elFrom === elTo &&\n [ 'absolute', 'fixed' ].includes(elToPositioningType) === false &&\n [ 'absolute', 'fixed' ].includes(elFromPositioningType) === false\n\n // if the final element has fixed position or if a parent\n // has fixed position we need to animate it as fixed\n let elToNeedsFixedPosition = elToPositioningType === 'fixed'\n let parent = elToParent\n while (elToNeedsFixedPosition !== true && parent !== document) {\n elToNeedsFixedPosition = window.getComputedStyle(parent).position === 'fixed'\n parent = parent.parentNode\n }\n\n // we show the spacer for the initial element\n if (options.hideFromClone !== true) {\n elFromClone.style.display = 'block'\n elFromClone.style.flex = '0 0 auto'\n elFromClone.style.opacity = 0\n elFromClone.style.minWidth = 'unset'\n elFromClone.style.maxWidth = 'unset'\n elFromClone.style.minHeight = 'unset'\n elFromClone.style.maxHeight = 'unset'\n elFromClone.classList.remove('q-morph--internal')\n }\n\n // we show the spacer for the final element\n if (options.keepToClone !== true) {\n elToClone.style.display = 'block'\n elToClone.style.flex = '0 0 auto'\n elToClone.style.opacity = 0\n elToClone.style.minWidth = 'unset'\n elToClone.style.maxWidth = 'unset'\n elToClone.style.minHeight = 'unset'\n elToClone.style.maxHeight = 'unset'\n }\n elToClone.classList.remove('q-morph--internal')\n\n // we apply classes specified by user\n if (typeof options.classes === 'string') {\n elTo.className += ' ' + options.classes\n }\n\n // we apply styles specified by user\n if (typeof options.style === 'string') {\n elTo.style.cssText += ' ' + options.style\n }\n else if (isPlainObject(options.style) === true) {\n for (const prop in options.style) {\n elTo.style[prop] = options.style[prop]\n }\n }\n\n const elFromZIndex = getMaxZIndex(elFromClone)\n const elToZIndex = getMaxZIndex(elTo)\n\n // we position the morphing element\n // if we use fixed position for the final element we need to adjust for scroll\n const documentScroll = elToNeedsFixedPosition === true\n ? document.documentElement\n : { scrollLeft: 0, scrollTop: 0 }\n elTo.style.position = elToNeedsFixedPosition === true ? 'fixed' : 'absolute'\n elTo.style.left = `${elToPosition.left - documentScroll.scrollLeft}px`\n elTo.style.right = 'unset'\n elTo.style.top = `${elToPosition.top - documentScroll.scrollTop}px`\n elTo.style.margin = 0\n\n if (options.resize === true) {\n elTo.style.minWidth = 'unset'\n elTo.style.maxWidth = 'unset'\n elTo.style.minHeight = 'unset'\n elTo.style.maxHeight = 'unset'\n elTo.style.overflow = 'hidden'\n elTo.style.overflowX = 'hidden'\n elTo.style.overflowY = 'hidden'\n }\n\n document.body.appendChild(elTo)\n\n if (elFromTween !== void 0) {\n elFromTween.style.cssText = elFromCssText\n elFromTween.style.transform = 'none'\n elFromTween.style.animation = 'none'\n elFromTween.style.transition = 'none'\n\n elFromTween.style.position = elTo.style.position\n elFromTween.style.left = `${elFromPosition.left - documentScroll.scrollLeft}px`\n elFromTween.style.right = 'unset'\n elFromTween.style.top = `${elFromPosition.top - documentScroll.scrollTop}px`\n elFromTween.style.margin = 0\n elFromTween.style.pointerEvents = 'none'\n\n if (options.resize === true) {\n elFromTween.style.minWidth = 'unset'\n elFromTween.style.maxWidth = 'unset'\n elFromTween.style.minHeight = 'unset'\n elFromTween.style.maxHeight = 'unset'\n elFromTween.style.overflow = 'hidden'\n elFromTween.style.overflowX = 'hidden'\n elFromTween.style.overflowY = 'hidden'\n }\n\n document.body.appendChild(elFromTween)\n }\n\n const commonCleanup = aborted => {\n // we put the element back in it's place\n // and restore the styles and classes\n if (elFrom === elTo && endElementTo !== true) {\n elTo.style.cssText = elFromStyleSaved\n elTo.className = elFromClassSaved\n }\n else {\n elTo.style.cssText = elToStyleSaved\n elTo.className = elToClassSaved\n }\n elToClone.parentNode === elToParent && elToParent.insertBefore(elTo, elToClone)\n\n // we clean the spacers\n elFromClone.remove()\n elToClone.remove()\n elFromTween !== void 0 && elFromTween.remove()\n\n // cancel will be no longer available\n cancel = () => false\n\n elFrom.qMorphCancel = void 0\n elTo.qMorphCancel = void 0\n\n // we are ready\n if (typeof options.onEnd === 'function') {\n options.onEnd(endElementTo === true ? 'to' : 'from', aborted === true)\n }\n }\n\n if (options.useCSS !== true && typeof elTo.animate === 'function') {\n const resizeFrom = options.resize === true\n ? {\n transform: `translate(${deltaX}px, ${deltaY}px)`,\n width: `${elFromCloneWidth}px`,\n height: `${elFromCloneHeight}px`\n }\n : {\n transform: `translate(${deltaX}px, ${deltaY}px) scale(${scaleX}, ${scaleY})`\n }\n const resizeTo = options.resize === true\n ? {\n width: `${elToCloneWidth}px`,\n height: `${elToCloneHeight}px`\n }\n : {}\n const resizeFromTween = options.resize === true\n ? {\n width: `${elFromCloneWidth}px`,\n height: `${elFromCloneHeight}px`\n }\n : {}\n const resizeToTween = options.resize === true\n ? {\n transform: `translate(${-1 * deltaX}px, ${-1 * deltaY}px)`,\n width: `${elToCloneWidth}px`,\n height: `${elToCloneHeight}px`\n }\n : {\n transform: `translate(${-1 * deltaX}px, ${-1 * deltaY}px) scale(${1 / scaleX}, ${1 / scaleY})`\n }\n const tweenFrom = elFromTween !== void 0\n ? { opacity: options.tweenToOpacity }\n : { backgroundColor: elFromBackground }\n const tweenTo = elFromTween !== void 0\n ? { opacity: 1 }\n : { backgroundColor: elToBackground }\n animationTo = elTo.animate([\n {\n margin: 0,\n borderWidth: elFromBorderWidth,\n borderStyle: elFromBorderStyle,\n borderColor: elFromBorderColor,\n borderRadius: elFromBorderRadius,\n zIndex: elFromZIndex,\n transformOrigin: '0 0',\n ...resizeFrom,\n ...tweenFrom\n },\n {\n margin: 0,\n borderWidth: elToBorderWidth,\n borderStyle: elToBorderStyle,\n borderColor: elToBorderColor,\n borderRadius: elToBorderRadius,\n zIndex: elToZIndex,\n transformOrigin: '0 0',\n transform: elToTransform,\n ...resizeTo,\n ...tweenTo\n }\n ], {\n duration: options.duration,\n easing: options.easing,\n fill: options.fill,\n delay: options.delay\n })\n\n animationFromTween = elFromTween === void 0 ? void 0 : elFromTween.animate([\n {\n opacity: options.tweenFromOpacity,\n margin: 0,\n borderWidth: elFromBorderWidth,\n borderStyle: elFromBorderStyle,\n borderColor: elFromBorderColor,\n borderRadius: elFromBorderRadius,\n zIndex: elFromZIndex,\n transformOrigin: '0 0',\n transform: elFromTransform,\n ...resizeFromTween\n },\n {\n opacity: 0,\n margin: 0,\n borderWidth: elToBorderWidth,\n borderStyle: elToBorderStyle,\n borderColor: elToBorderColor,\n borderRadius: elToBorderRadius,\n zIndex: elToZIndex,\n transformOrigin: '0 0',\n ...resizeToTween\n }\n ], {\n duration: options.duration,\n easing: options.easing,\n fill: options.fill,\n delay: options.delay\n })\n\n animationFromClone = options.hideFromClone === true || elSharedSize === true ? void 0 : elFromClone.animate([\n {\n margin: `${elFromParentHeightDiff < 0 ? elFromParentHeightDiff / 2 : 0}px ${elFromParentWidthDiff < 0 ? elFromParentWidthDiff / 2 : 0}px`,\n width: `${elFromCloneWidth + elFromPosition.marginH}px`,\n height: `${elFromCloneHeight + elFromPosition.marginV}px`\n },\n {\n margin: 0,\n width: 0,\n height: 0\n }\n ], {\n duration: options.duration,\n easing: options.easing,\n fill: options.fill,\n delay: options.delay\n })\n\n animationToClone = options.keepToClone === true ? void 0 : elToClone.animate([\n elSharedSize === true\n ? {\n margin: `${elFromParentHeightDiff < 0 ? elFromParentHeightDiff / 2 : 0}px ${elFromParentWidthDiff < 0 ? elFromParentWidthDiff / 2 : 0}px`,\n width: `${elFromCloneWidth + elFromPosition.marginH}px`,\n height: `${elFromCloneHeight + elFromPosition.marginV}px`\n }\n : {\n margin: 0,\n width: 0,\n height: 0\n },\n {\n margin: `${elToParentHeightDiff < 0 ? elToParentHeightDiff / 2 : 0}px ${elToParentWidthDiff < 0 ? elToParentWidthDiff / 2 : 0}px`,\n width: `${elToCloneWidth + elToPosition.marginH}px`,\n height: `${elToCloneHeight + elToPosition.marginV}px`\n }\n ], {\n duration: options.duration,\n easing: options.easing,\n fill: options.fill,\n delay: options.delay\n })\n\n const cleanup = abort => {\n animationFromClone !== void 0 && animationFromClone.cancel()\n animationFromTween !== void 0 && animationFromTween.cancel()\n animationToClone !== void 0 && animationToClone.cancel()\n animationTo.cancel()\n\n animationTo.removeEventListener('finish', cleanup)\n animationTo.removeEventListener('cancel', cleanup)\n\n commonCleanup(abort)\n\n // we clean the animations\n animationFromClone = void 0\n animationFromTween = void 0\n animationToClone = void 0\n animationTo = void 0\n }\n\n elFrom.qMorphCancel = () => {\n elFrom.qMorphCancel = void 0\n cancelStatus = true\n cleanup()\n }\n elTo.qMorphCancel = () => {\n elTo.qMorphCancel = void 0\n cancelStatus = true\n cleanup()\n }\n\n animationTo.addEventListener('finish', cleanup)\n animationTo.addEventListener('cancel', cleanup)\n\n cancel = abort => {\n // we are not in a morph that we can cancel\n if (cancelStatus === true || animationTo === void 0) {\n return false\n }\n\n if (abort === true) {\n cleanup(true)\n return true\n }\n\n endElementTo = endElementTo !== true\n\n animationFromClone !== void 0 && animationFromClone.reverse()\n animationFromTween !== void 0 && animationFromTween.reverse()\n animationToClone !== void 0 && animationToClone.reverse()\n animationTo.reverse()\n\n return true\n }\n }\n else {\n const qAnimId = `q-morph-anim-${++id}`\n const style = document.createElement('style')\n const resizeFrom = options.resize === true\n ? `\n transform: translate(${deltaX}px, ${deltaY}px);\n width: ${elFromCloneWidth}px;\n height: ${elFromCloneHeight}px;\n `\n : `transform: translate(${deltaX}px, ${deltaY}px) scale(${scaleX}, ${scaleY});`\n const resizeTo = options.resize === true\n ? `\n width: ${elToCloneWidth}px;\n height: ${elToCloneHeight}px;\n `\n : ''\n const resizeFromTween = options.resize === true\n ? `\n width: ${elFromCloneWidth}px;\n height: ${elFromCloneHeight}px;\n `\n : ''\n const resizeToTween = options.resize === true\n ? `\n transform: translate(${-1 * deltaX}px, ${-1 * deltaY}px);\n width: ${elToCloneWidth}px;\n height: ${elToCloneHeight}px;\n `\n : `transform: translate(${-1 * deltaX}px, ${-1 * deltaY}px) scale(${1 / scaleX}, ${1 / scaleY});`\n const tweenFrom = elFromTween !== void 0\n ? `opacity: ${options.tweenToOpacity};`\n : `background-color: ${elFromBackground};`\n const tweenTo = elFromTween !== void 0\n ? 'opacity: 1;'\n : `background-color: ${elToBackground};`\n const keyframesFromTween = elFromTween === void 0\n ? ''\n : `\n @keyframes ${qAnimId}-from-tween {\n 0% {\n opacity: ${options.tweenFromOpacity};\n margin: 0;\n border-width: ${elFromBorderWidth};\n border-style: ${elFromBorderStyle};\n border-color: ${elFromBorderColor};\n border-radius: ${elFromBorderRadius};\n z-index: ${elFromZIndex};\n transform-origin: 0 0;\n transform: ${elFromTransform};\n ${resizeFromTween}\n }\n\n 100% {\n opacity: 0;\n margin: 0;\n border-width: ${elToBorderWidth};\n border-style: ${elToBorderStyle};\n border-color: ${elToBorderColor};\n border-radius: ${elToBorderRadius};\n z-index: ${elToZIndex};\n transform-origin: 0 0;\n ${resizeToTween}\n }\n }\n `\n const keyframesFrom = options.hideFromClone === true || elSharedSize === true\n ? ''\n : `\n @keyframes ${qAnimId}-from {\n 0% {\n margin: ${elFromParentHeightDiff < 0 ? elFromParentHeightDiff / 2 : 0}px ${elFromParentWidthDiff < 0 ? elFromParentWidthDiff / 2 : 0}px;\n width: ${elFromCloneWidth + elFromPosition.marginH}px;\n height: ${elFromCloneHeight + elFromPosition.marginV}px;\n }\n\n 100% {\n margin: 0;\n width: 0;\n height: 0;\n }\n }\n `\n const keyframeToStart = elSharedSize === true\n ? `\n margin: ${elFromParentHeightDiff < 0 ? elFromParentHeightDiff / 2 : 0}px ${elFromParentWidthDiff < 0 ? elFromParentWidthDiff / 2 : 0}px;\n width: ${elFromCloneWidth + elFromPosition.marginH}px;\n height: ${elFromCloneHeight + elFromPosition.marginV}px;\n `\n : `\n margin: 0;\n width: 0;\n height: 0;\n `\n const keyframesTo = options.keepToClone === true\n ? ''\n : `\n @keyframes ${qAnimId}-to {\n 0% {\n ${keyframeToStart}\n }\n\n 100% {\n margin: ${elToParentHeightDiff < 0 ? elToParentHeightDiff / 2 : 0}px ${elToParentWidthDiff < 0 ? elToParentWidthDiff / 2 : 0}px;\n width: ${elToCloneWidth + elToPosition.marginH}px;\n height: ${elToCloneHeight + elToPosition.marginV}px;\n }\n }\n `\n style.innerHTML = `\n @keyframes ${qAnimId} {\n 0% {\n margin: 0;\n border-width: ${elFromBorderWidth};\n border-style: ${elFromBorderStyle};\n border-color: ${elFromBorderColor};\n border-radius: ${elFromBorderRadius};\n background-color: ${elFromBackground};\n z-index: ${elFromZIndex};\n transform-origin: 0 0;\n ${resizeFrom}\n ${tweenFrom}\n }\n\n 100% {\n margin: 0;\n border-width: ${elToBorderWidth};\n border-style: ${elToBorderStyle};\n border-color: ${elToBorderColor};\n border-radius: ${elToBorderRadius};\n background-color: ${elToBackground};\n z-index: ${elToZIndex};\n transform-origin: 0 0;\n transform: ${elToTransform};\n ${resizeTo}\n ${tweenTo}\n }\n }\n\n ${keyframesFrom}\n\n ${keyframesFromTween}\n\n ${keyframesTo}\n `\n document.head.appendChild(style)\n\n let animationDirection = 'normal'\n\n elFromClone.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}-from`\n if (elFromTween !== void 0) {\n elFromTween.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}-from-tween`\n }\n elToClone.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}-to`\n elTo.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}`\n\n const cleanup = evt => {\n if (evt === Object(evt) && evt.animationName !== qAnimId) {\n return\n }\n\n elTo.removeEventListener('animationend', cleanup)\n elTo.removeEventListener('animationcancel', cleanup)\n\n commonCleanup()\n\n // we clean the animations\n style.remove()\n }\n\n elFrom.qMorphCancel = () => {\n elFrom.qMorphCancel = void 0\n cancelStatus = true\n cleanup()\n }\n elTo.qMorphCancel = () => {\n elTo.qMorphCancel = void 0\n cancelStatus = true\n cleanup()\n }\n\n elTo.addEventListener('animationend', cleanup)\n elTo.addEventListener('animationcancel', cleanup)\n\n cancel = abort => {\n // we are not in a morph that we can cancel\n if (cancelStatus === true || !elTo || !elFromClone || !elToClone) {\n return false\n }\n\n if (abort === true) {\n cleanup()\n\n return true\n }\n\n endElementTo = endElementTo !== true\n\n animationDirection = animationDirection === 'normal' ? 'reverse' : 'normal'\n\n elFromClone.style.animationDirection = animationDirection\n elFromTween.style.animationDirection = animationDirection\n elToClone.style.animationDirection = animationDirection\n elTo.style.animationDirection = animationDirection\n\n return true\n }\n }\n }\n\n if (\n options.waitFor > 0 ||\n options.waitFor === 'transitionend' ||\n (options.waitFor === Object(options.waitFor) && typeof options.waitFor.then === 'function')\n ) {\n const delayPromise = options.waitFor > 0\n ? new Promise(resolve => setTimeout(resolve, options.waitFor))\n : (\n options.waitFor === 'transitionend'\n ? new Promise(resolve => {\n const timer = setTimeout(() => {\n endFn()\n }, 400)\n\n const endFn = ev => {\n clearTimeout(timer)\n\n if (elTo) {\n elTo.removeEventListener('transitionend', endFn)\n elTo.removeEventListener('transitioncancel', endFn)\n }\n\n resolve()\n }\n\n elTo.addEventListener('transitionend', endFn)\n elTo.addEventListener('transitioncancel', endFn)\n })\n : options.waitFor\n )\n\n delayPromise\n .then(animate)\n .catch(() => {\n typeof elTo.qMorphCancel === 'function' && elTo.qMorphCancel()\n })\n }\n else {\n animate()\n }\n }\n\n typeof _options.onToggle === 'function' && _options.onToggle()\n requestAnimationFrame(calculateFinalState)\n\n // we return the cancel function\n // returns:\n // false if the cancel cannot be performed (the morph ended already or has not started)\n // true else\n return abort => cancel(abort)\n}\n","import morph from '../utils/morph.js'\n\nconst morphGroups = {}\nconst props = [\n 'duration', 'delay', 'easing', 'fill',\n 'classes', 'style', 'duration', 'resize',\n 'useCSS', 'hideFromClone', 'keepToClone', 'tween',\n 'tweenFromOpacity', 'tweenToOpacity',\n 'waitFor', 'onEnd'\n]\nconst mods = [\n 'resize', 'useCSS', 'hideFromClone', 'keepToClone', 'tween'\n]\n\nfunction changeClass (ctx, action) {\n if (ctx.clsAction !== action) {\n ctx.clsAction = action\n ctx.el.classList[action]('q-morph--invisible')\n }\n}\n\nfunction trigger (group) {\n if (group.animating === true || group.queue.length < 2) {\n return\n }\n\n const [ from, to ] = group.queue\n\n group.animating = true\n from.animating = true\n to.animating = true\n\n changeClass(from, 'remove')\n changeClass(to, 'remove')\n\n const cancelFn = morph({\n from: from.el,\n to: to.el,\n onToggle () {\n changeClass(from, 'add')\n changeClass(to, 'remove')\n },\n ...to.opts,\n onEnd (dir, aborted) {\n to.opts.onEnd !== void 0 && to.opts.onEnd(dir, aborted)\n\n if (aborted === true) {\n return\n }\n\n from.animating = false\n to.animating = false\n\n group.animating = false\n group.cancel = void 0\n group.queue.shift()\n\n trigger(group)\n }\n })\n\n group.cancel = () => {\n cancelFn(true) // abort\n group.cancel = void 0\n }\n}\n\nfunction updateModifiers (mod, ctx) {\n const opts = ctx.opts\n\n mods.forEach(name => {\n opts[name] = mod[name] === true\n })\n}\n\nfunction insertArgs (arg, ctx) {\n const opts = typeof arg === 'string' && arg.length > 0\n ? arg.split(':') : []\n\n ctx.name = opts[0]\n ctx.group = opts[1]\n\n Object.assign(ctx.opts, {\n duration: isNaN(opts[2]) === true\n ? 300\n : parseFloat(opts[2]),\n waitFor: opts[3]\n })\n}\n\nfunction updateArgs (arg, ctx) {\n if (arg.group !== void 0) {\n ctx.group = arg.group\n }\n if (arg.name !== void 0) {\n ctx.name = arg.name\n }\n\n const opts = ctx.opts\n\n props.forEach(name => {\n if (arg[name] !== void 0) {\n opts[name] = arg[name]\n }\n })\n}\n\nfunction updateModel (name, ctx) {\n if (ctx.name === name) {\n const group = morphGroups[ctx.group]\n\n // if group is not registered\n if (group === void 0) {\n morphGroups[ctx.group] = {\n name: ctx.group,\n model: name,\n queue: [ ctx ],\n animating: false\n }\n\n changeClass(ctx, 'remove')\n }\n // if model changed\n else if (group.model !== name) {\n group.model = name\n group.queue.push(ctx)\n\n if (group.animating === false && group.queue.length === 2) {\n trigger(group)\n }\n }\n\n return\n }\n\n if (ctx.animating === false) {\n changeClass(ctx, 'add')\n }\n}\n\nfunction updateValue (ctx, value) {\n let model\n\n if (Object(value) === value) {\n model = '' + value.model\n updateArgs(value, ctx)\n updateModifiers(value, ctx)\n }\n else {\n model = '' + value\n }\n\n if (model !== ctx.model) {\n ctx.model = model\n updateModel(model, ctx)\n }\n else if (ctx.animating === false && ctx.clsAction !== void 0) {\n // ensure HMR\n ctx.el.classList[ctx.clsAction]('q-morph--invisible')\n }\n}\n\nfunction destroy (el) {\n const ctx = el.__qmorph\n\n if (ctx !== void 0) {\n const group = morphGroups[ctx.group]\n\n if (group !== void 0) {\n const index = group.queue.indexOf(ctx)\n\n if (index !== -1) {\n group.queue = group.queue.filter(item => item !== ctx)\n\n if (group.queue.length === 0) {\n group.cancel !== void 0 && group.cancel()\n delete morphGroups[ctx.group]\n }\n }\n }\n\n if (ctx.clsAction === 'add') {\n el.classList.remove('q-morph--invisible')\n }\n\n delete el.__qmorph\n }\n}\n\nexport default {\n name: 'morph',\n\n inserted (el, binding) {\n if (el.__qmorph !== void 0) {\n destroy(el)\n el.__qmorph_destroyed = true\n }\n\n const ctx = {\n el,\n animating: false,\n opts: {}\n }\n\n updateModifiers(binding.modifiers, ctx)\n insertArgs(binding.arg, ctx)\n updateValue(ctx, binding.value)\n\n el.__qmorph = ctx\n },\n\n update (el, binding) {\n const ctx = el.__qmorph\n ctx !== void 0 && updateValue(ctx, binding.value)\n },\n\n unbind (el) {\n if (el.__qmorph_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qmorph_destroyed\n }\n }\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","const defaultCfg = {\n childList: true,\n subtree: true,\n attributes: true,\n characterData: true,\n attributeOldValue: true,\n characterDataOldValue: true\n}\n\nfunction update (el, ctx, value) {\n ctx.handler = value\n ctx.observer !== void 0 && ctx.observer.disconnect()\n\n ctx.observer = new MutationObserver(list => {\n if (typeof ctx.handler === 'function') {\n const res = ctx.handler(list)\n if (res === false || ctx.once === true) {\n destroy(el)\n }\n }\n })\n\n ctx.observer.observe(el, ctx.opts)\n}\n\nfunction destroy (el) {\n const ctx = el.__qmutation\n\n if (ctx !== void 0) {\n ctx.observer !== void 0 && ctx.observer.disconnect()\n delete el.__qmutation\n }\n}\n\nexport default {\n name: 'mutation',\n\n inserted (el, { modifiers: { once, ...mod }, value }) {\n if (el.__qmutation !== void 0) {\n destroy(el)\n el.__qmutation_destroyed = true\n }\n\n const ctx = {\n once,\n opts: Object.keys(mod).length === 0\n ? defaultCfg\n : mod\n }\n\n update(el, ctx, value)\n\n el.__qmutation = ctx\n },\n\n update (el, { oldValue, value }) {\n const ctx = el.__qmutation\n if (ctx !== void 0 && oldValue !== value) {\n update(el, ctx, value)\n }\n },\n\n unbind (el) {\n if (el.__qmutation_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qmutation_destroyed\n }\n }\n}\n","import debounce from '../utils/debounce.js'\nimport { height, offset } from '../utils/dom.js'\nimport { getScrollTarget } from '../utils/scroll.js'\nimport { listenOpts } from '../utils/event.js'\n\nfunction update (ctx, { value, oldValue }) {\n if (typeof value !== 'function') {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, listenOpts.passive)\n return\n }\n\n ctx.handler = value\n if (typeof oldValue !== 'function') {\n ctx.scrollTarget.addEventListener('scroll', ctx.scroll, listenOpts.passive)\n ctx.scroll()\n }\n}\n\nfunction destroy (el) {\n const ctx = el.__qscrollfire\n if (ctx !== void 0) {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, listenOpts.passive)\n ctx.scroll.cancel()\n delete el.__qscrollfire\n }\n}\n\nexport default {\n name: 'scroll-fire',\n\n inserted (el, binding) {\n if (el.__qscrollfire !== void 0) {\n destroy(el)\n el.__qscrollfire_destroyed = true\n }\n\n const ctx = {\n scrollTarget: getScrollTarget(el),\n scroll: debounce(() => {\n let containerBottom, elBottom\n\n if (ctx.scrollTarget === window) {\n elBottom = el.getBoundingClientRect().bottom\n containerBottom = window.innerHeight\n }\n else {\n elBottom = offset(el).top + height(el)\n containerBottom = offset(ctx.scrollTarget).top + height(ctx.scrollTarget)\n }\n\n if (elBottom > 0 && elBottom < containerBottom) {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, listenOpts.passive)\n ctx.handler(el)\n }\n }, 25)\n }\n\n update(ctx, binding)\n\n el.__qscrollfire = ctx\n },\n\n update (el, binding) {\n if (el.__qscrollfire !== void 0 && binding.value !== binding.oldValue) {\n update(el.__qscrollfire, binding)\n }\n },\n\n unbind (el) {\n if (el.__qscrollfire_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qscrollfire_destroyed\n }\n }\n}\n","import { getScrollTarget, getVerticalScrollPosition, getHorizontalScrollPosition } from '../utils/scroll.js'\nimport { listenOpts } from '../utils/event.js'\n\nfunction update (ctx, { value, oldValue }) {\n if (typeof value !== 'function') {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, listenOpts.passive)\n return\n }\n\n ctx.handler = value\n if (typeof oldValue !== 'function') {\n ctx.scrollTarget.addEventListener('scroll', ctx.scroll, listenOpts.passive)\n }\n}\n\nfunction destroy (el) {\n const ctx = el.__qscroll\n if (ctx !== void 0) {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, listenOpts.passive)\n delete el.__qscroll\n }\n}\n\nexport default {\n name: 'scroll',\n\n inserted (el, binding) {\n if (el.__qscroll !== void 0) {\n destroy(el)\n el.__qscroll_destroyed = true\n }\n\n const ctx = {\n scrollTarget: getScrollTarget(el),\n scroll () {\n ctx.handler(\n getVerticalScrollPosition(ctx.scrollTarget),\n getHorizontalScrollPosition(ctx.scrollTarget)\n )\n }\n }\n\n update(ctx, binding)\n\n el.__qscroll = ctx\n },\n\n update (el, binding) {\n if (el.__qscroll !== void 0 && binding.oldValue !== binding.value) {\n update(el.__qscroll, binding)\n }\n },\n\n unbind (el) {\n if (el.__qscroll_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qscroll_destroyed\n }\n }\n}\n","import { client } from '../plugins/Platform.js'\nimport { addEvt, cleanEvt, position, leftClick, stopAndPrevent, noop } from '../utils/event.js'\nimport { clearSelection } from '../utils/selection.js'\n\nfunction destroy (el) {\n const ctx = el.__qtouchhold\n if (ctx !== void 0) {\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n clearTimeout(ctx.timer)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__qtouchhold\n }\n}\n\nexport default {\n name: 'touch-hold',\n\n bind (el, binding) {\n if (el.__qtouchhold !== void 0) {\n destroy(el)\n el.__qtouchhold_destroyed = true\n }\n\n const { modifiers } = binding\n\n // early return, we don't need to do anything\n if (modifiers.mouse !== true && client.has.touch !== true) {\n return\n }\n\n const ctx = {\n handler: binding.value,\n noop,\n\n mouseStart (evt) {\n if (typeof ctx.handler === 'function' && leftClick(evt) === true) {\n addEvt(ctx, 'temp', [\n [ document, 'mousemove', 'move', 'passiveCapture' ],\n [ document, 'click', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt, true)\n }\n },\n\n touchStart (evt) {\n if (evt.target !== void 0 && typeof ctx.handler === 'function') {\n const target = evt.target\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'passiveCapture' ],\n [ target, 'touchcancel', 'end', 'notPassiveCapture' ],\n [ target, 'touchend', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent) {\n ctx.origin = position(evt)\n\n const startTime = Date.now()\n\n if (client.is.mobile === true) {\n document.body.classList.add('non-selectable')\n clearSelection()\n\n ctx.styleCleanup = withDelay => {\n ctx.styleCleanup = void 0\n\n const remove = () => {\n document.body.classList.remove('non-selectable')\n }\n\n if (withDelay === true) {\n clearSelection()\n setTimeout(remove, 10)\n }\n else { remove() }\n }\n }\n\n ctx.triggered = false\n ctx.sensitivity = mouseEvent === true\n ? ctx.mouseSensitivity\n : ctx.touchSensitivity\n\n ctx.timer = setTimeout(() => {\n clearSelection()\n ctx.triggered = true\n\n ctx.handler({\n evt,\n touch: mouseEvent !== true,\n mouse: mouseEvent === true,\n position: ctx.origin,\n duration: Date.now() - startTime\n })\n }, ctx.duration)\n },\n\n move (evt) {\n const { top, left } = position(evt)\n if (\n Math.abs(left - ctx.origin.left) >= ctx.sensitivity ||\n Math.abs(top - ctx.origin.top) >= ctx.sensitivity\n ) {\n clearTimeout(ctx.timer)\n }\n },\n\n end (evt) {\n cleanEvt(ctx, 'temp')\n\n // delay needed otherwise selection still occurs\n ctx.styleCleanup !== void 0 && ctx.styleCleanup(ctx.triggered)\n\n if (ctx.triggered === true) {\n evt !== void 0 && stopAndPrevent(evt)\n }\n else {\n clearTimeout(ctx.timer)\n }\n }\n }\n\n // duration in ms, touch in pixels, mouse in pixels\n const data = [600, 5, 7]\n\n if (typeof binding.arg === 'string' && binding.arg.length > 0) {\n binding.arg.split(':').forEach((val, index) => {\n const v = parseInt(val, 10)\n v && (data[index] = v)\n })\n }\n\n [ ctx.duration, ctx.touchSensitivity, ctx.mouseSensitivity ] = data\n\n el.__qtouchhold = ctx\n\n modifiers.mouse === true && addEvt(ctx, 'main', [\n [ el, 'mousedown', 'mouseStart', `passive${modifiers.mouseCapture === true ? 'Capture' : ''}` ]\n ])\n\n client.has.touch === true && addEvt(ctx, 'main', [\n [ el, 'touchstart', 'touchStart', `passive${modifiers.capture === true ? 'Capture' : ''}` ],\n [ el, 'touchend', 'noop', 'notPassiveCapture' ]\n ])\n },\n\n update (el, binding) {\n const ctx = el.__qtouchhold\n if (ctx !== void 0 && binding.oldValue !== binding.value) {\n typeof binding.value !== 'function' && ctx.end()\n ctx.handler = binding.value\n }\n },\n\n unbind (el) {\n if (el.__qtouchhold_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qtouchhold_destroyed\n }\n }\n}\n","import { client } from '../plugins/Platform.js'\nimport { addEvt, cleanEvt, position, leftClick, stopAndPrevent, noop } from '../utils/event.js'\nimport { clearSelection } from '../utils/selection.js'\nimport { isKeyCode } from '../utils/key-composition.js'\n\nconst\n keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n },\n keyRegex = new RegExp(`^([\\\\d+]+|${Object.keys(keyCodes).join('|')})$`, 'i')\n\nfunction shouldEnd (evt, origin) {\n const { top, left } = position(evt)\n\n return Math.abs(left - origin.left) >= 7 ||\n Math.abs(top - origin.top) >= 7\n}\n\nfunction destroy (el) {\n const ctx = el.__qtouchrepeat\n if (ctx !== void 0) {\n clearTimeout(ctx.timer)\n\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__qtouchrepeat\n }\n}\n\nexport default {\n name: 'touch-repeat',\n\n bind (el, { modifiers, value, arg }) {\n if (el.__qtouchrepeat !== void 0) {\n destroy(el)\n el.__qtouchrepeat_destroyed = true\n }\n\n const keyboard = Object.keys(modifiers).reduce((acc, key) => {\n if (keyRegex.test(key) === true) {\n const keyCode = isNaN(parseInt(key, 10)) ? keyCodes[key.toLowerCase()] : parseInt(key, 10)\n keyCode >= 0 && acc.push(keyCode)\n }\n return acc\n }, [])\n\n // early return, we don't need to do anything\n if (\n modifiers.mouse !== true &&\n client.has.touch !== true &&\n keyboard.length === 0\n ) {\n return\n }\n\n const durations = typeof arg === 'string' && arg.length > 0\n ? arg.split(':').map(val => parseInt(val, 10))\n : [0, 600, 300]\n\n const durationsLast = durations.length - 1\n\n const ctx = {\n keyboard,\n handler: value,\n\n noop,\n\n mouseStart (evt) {\n if (ctx.event === void 0 && typeof ctx.handler === 'function' && leftClick(evt) === true) {\n addEvt(ctx, 'temp', [\n [ document, 'mousemove', 'move', 'passiveCapture' ],\n [ document, 'click', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt, true)\n }\n },\n\n keyboardStart (evt) {\n if (typeof ctx.handler === 'function' && isKeyCode(evt, keyboard) === true) {\n if (durations[0] === 0 || ctx.event !== void 0) {\n stopAndPrevent(evt)\n el.focus()\n if (ctx.event !== void 0) {\n return\n }\n }\n\n addEvt(ctx, 'temp', [\n [ document, 'keyup', 'end', 'notPassiveCapture' ],\n [ document, 'click', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt, false, true)\n }\n },\n\n touchStart (evt) {\n if (evt.target !== void 0 && typeof ctx.handler === 'function') {\n const target = evt.target\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'passiveCapture' ],\n [ target, 'touchcancel', 'end', 'notPassiveCapture' ],\n [ target, 'touchend', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent, keyboardEvent) {\n if (keyboardEvent !== true) {\n ctx.origin = position(evt)\n }\n\n function styleCleanup (withDelay) {\n ctx.styleCleanup = void 0\n\n document.documentElement.style.cursor = ''\n\n const remove = () => {\n document.body.classList.remove('non-selectable')\n }\n\n if (withDelay === true) {\n clearSelection()\n setTimeout(remove, 10)\n }\n else { remove() }\n }\n\n if (client.is.mobile === true) {\n document.body.classList.add('non-selectable')\n clearSelection()\n ctx.styleCleanup = styleCleanup\n }\n\n ctx.event = {\n touch: mouseEvent !== true && keyboardEvent !== true,\n mouse: mouseEvent === true,\n keyboard: keyboardEvent === true,\n startTime: Date.now(),\n repeatCount: 0\n }\n\n const fn = () => {\n if (ctx.event === void 0) {\n return\n }\n\n if (ctx.event.repeatCount === 0) {\n ctx.event.evt = evt\n\n if (keyboardEvent === true) {\n ctx.event.keyCode = evt.keyCode\n }\n else {\n ctx.event.position = position(evt)\n }\n\n if (client.is.mobile !== true) {\n document.documentElement.style.cursor = 'pointer'\n document.body.classList.add('non-selectable')\n clearSelection()\n ctx.styleCleanup = styleCleanup\n }\n }\n\n ctx.event.duration = Date.now() - ctx.event.startTime\n ctx.event.repeatCount += 1\n\n ctx.handler(ctx.event)\n\n const index = durationsLast < ctx.event.repeatCount\n ? durationsLast\n : ctx.event.repeatCount\n\n ctx.timer = setTimeout(fn, durations[index])\n }\n\n if (durations[0] === 0) {\n fn()\n }\n else {\n ctx.timer = setTimeout(fn, durations[0])\n }\n },\n\n move (evt) {\n if (ctx.event !== void 0 && shouldEnd(evt, ctx.origin) === true) {\n clearTimeout(ctx.timer)\n }\n },\n\n end (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n ctx.styleCleanup !== void 0 && ctx.styleCleanup(true)\n evt !== void 0 && ctx.event.repeatCount > 0 && stopAndPrevent(evt)\n\n cleanEvt(ctx, 'temp')\n clearTimeout(ctx.timer)\n\n ctx.event = void 0\n }\n }\n\n el.__qtouchrepeat = ctx\n\n modifiers.mouse === true && addEvt(ctx, 'main', [\n [ el, 'mousedown', 'mouseStart', `passive${modifiers.mouseCapture === true ? 'Capture' : ''}` ]\n ])\n\n client.has.touch === true && addEvt(ctx, 'main', [\n [ el, 'touchstart', 'touchStart', `passive${modifiers.capture === true ? 'Capture' : ''}` ],\n [ el, 'touchend', 'noop', 'notPassiveCapture' ]\n ])\n\n keyboard.length > 0 && addEvt(ctx, 'main', [\n [ el, 'keydown', 'keyboardStart', `notPassive${modifiers.keyCapture === true ? 'Capture' : ''}` ]\n ])\n },\n\n update (el, { oldValue, value }) {\n const ctx = el.__qtouchrepeat\n if (ctx !== void 0 && oldValue !== value) {\n typeof value !== 'function' && ctx.end()\n ctx.handler = value\n }\n },\n\n unbind (el) {\n if (el.__qtouchrepeat_destroyed === void 0) {\n destroy(el)\n }\n else {\n delete el.__qtouchrepeat_destroyed\n }\n }\n}\n","import Platform, { isSSR } from './Platform.js'\nimport { noop } from '../utils/event.js'\nimport { getBrand } from '../utils/colors.js'\n\nlet metaValue\n\nfunction getProp () {\n if (Platform.is.winphone) {\n return 'msapplication-navbutton-color'\n }\n if (Platform.is.safari) {\n return 'apple-mobile-web-app-status-bar-style'\n }\n // Chrome, Firefox OS, Opera, Vivaldi\n return 'theme-color'\n}\n\nfunction getMetaTag (v) {\n const els = document.getElementsByTagName('META')\n for (const i in els) {\n if (els[i].name === v) {\n return els[i]\n }\n }\n}\n\nfunction setColor (hexColor) {\n if (metaValue === void 0) {\n // cache it\n metaValue = getProp()\n }\n\n let metaTag = getMetaTag(metaValue)\n const newTag = metaTag === void 0\n\n if (newTag) {\n metaTag = document.createElement('meta')\n metaTag.setAttribute('name', metaValue)\n }\n\n metaTag.setAttribute('content', hexColor)\n\n if (newTag) {\n document.head.appendChild(metaTag)\n }\n}\n\nexport default {\n install ({ $q, cfg }) {\n this.set = isSSR === false && Platform.is.mobile === true && (\n Platform.is.nativeMobile === true ||\n Platform.is.winphone === true || Platform.is.safari === true ||\n Platform.is.webkit === true || Platform.is.vivaldi === true\n )\n ? hexColor => {\n const val = hexColor || getBrand('primary')\n\n if (Platform.is.nativeMobile === true && window.StatusBar) {\n window.StatusBar.backgroundColorByHexString(val)\n }\n else {\n setColor(val)\n }\n }\n : noop\n\n $q.addressbarColor = this\n\n cfg.addressbarColor && this.set(cfg.addressbarColor)\n }\n}\n","import Vue from 'vue'\n\nimport { isSSR, client } from './Platform.js'\n\nconst prefixes = {}\n\n// needed for consistency across browsers,\n// including IE11 which does not return anything\nfunction promisify (target, fn) {\n try {\n const res = target[fn]()\n return res === void 0\n ? Promise.resolve()\n : res\n }\n catch (err) {\n return Promise.reject(err)\n }\n}\n\nfunction checkActive (plugin) {\n plugin.activeEl = document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement ||\n null\n\n plugin.isActive = plugin.activeEl !== null\n}\n\nexport default {\n isCapable: false,\n isActive: false,\n activeEl: null,\n\n request (target) {\n if (this.isCapable === true) {\n const el = target || document.documentElement\n\n if (el !== this.activeEl) {\n const q = client.is.ie === true && this.activeEl !== null && el.contains(this.activeEl)\n ? this.exit()\n : Promise.resolve()\n\n return q\n .then(() => promisify(el, prefixes.request))\n .catch(error => (\n this.activeEl !== null\n ? this.exit().then(() => promisify(el, prefixes.request))\n : Promise.reject(error)\n ))\n .then(res => {\n checkActive(this)\n return res\n })\n }\n }\n\n return this.__getErr()\n },\n\n exit () {\n return this.isCapable === true && this.isActive === true\n ? promisify(document, prefixes.exit).then(res => {\n checkActive(this)\n return this.isActive ? this.exit() : res\n })\n : this.__getErr()\n },\n\n toggle (target) {\n const el = target || document.documentElement\n\n return this.activeEl === el\n ? this.exit()\n : this.request(el)\n },\n\n install ({ $q }) {\n $q.fullscreen = this\n\n this.__getErr = () => Promise.resolve()\n\n if (isSSR === true) { return }\n\n prefixes.request = [\n 'requestFullscreen',\n 'msRequestFullscreen', 'mozRequestFullScreen', 'webkitRequestFullscreen'\n ].find(request => document.documentElement[request] !== void 0)\n\n this.isCapable = prefixes.request !== void 0\n\n if (this.isCapable === false) {\n // it means the browser does NOT support it\n this.__getErr = () => Promise.reject('Not capable')\n return\n }\n\n prefixes.exit = [\n 'exitFullscreen',\n 'msExitFullscreen', 'mozCancelFullScreen', 'webkitExitFullscreen'\n ].find(exit => document[exit])\n\n checkActive(this)\n\n ;[\n 'onfullscreenchange',\n 'onmsfullscreenchange', 'onwebkitfullscreenchange'\n ].forEach(evt => {\n document[evt] = () => {\n checkActive(this)\n }\n })\n\n Vue.util.defineReactive(this, 'isActive', this.isActive)\n Vue.util.defineReactive(this, 'activeEl', this.activeEl)\n }\n}\n","import Vue from 'vue'\n\nimport { isSSR } from '../plugins/Platform.js'\n\nconst ssrAPI = {\n onOk: () => ssrAPI,\n okCancel: () => ssrAPI,\n hide: () => ssrAPI,\n update: () => ssrAPI\n}\n\nexport function merge (target, source) {\n for (const key in source) {\n if (key !== 'spinner' && Object(source[key]) === source[key]) {\n target[key] = Object(target[key]) !== target[key]\n ? {}\n : { ...target[key] }\n\n merge(target[key], source[key])\n }\n else {\n target[key] = source[key]\n }\n }\n}\n\nlet appRoot\n\nfunction getDialogParent (parent, root) {\n if (parent !== void 0) { return parent }\n if (root !== void 0) { return root }\n\n if (appRoot === void 0) {\n const elRoot = document.getElementById('q-app')\n\n if (elRoot && elRoot.__vue__) {\n appRoot = elRoot.__vue__.$root\n }\n }\n\n return appRoot\n}\n\nexport default function (DefaultComponent) {\n return ({ className, class: klass, style, component, root, parent, ...props }) => {\n if (isSSR === true) { return ssrAPI }\n\n klass !== void 0 && (props.cardClass = klass)\n style !== void 0 && (props.cardStyle = style)\n\n const isCustom = component !== void 0\n let DialogComponent, attrs\n\n if (isCustom === true) {\n DialogComponent = component\n }\n else {\n DialogComponent = DefaultComponent\n attrs = props\n }\n\n const\n okFns = [],\n cancelFns = [],\n API = {\n onOk (fn) {\n okFns.push(fn)\n return API\n },\n onCancel (fn) {\n cancelFns.push(fn)\n return API\n },\n onDismiss (fn) {\n okFns.push(fn)\n cancelFns.push(fn)\n return API\n },\n hide () {\n vm.$refs.dialog.hide()\n return API\n },\n update ({ className, class: klass, style, component, root, parent, ...cfg }) {\n if (vm !== null) {\n klass !== void 0 && (cfg.cardClass = klass)\n style !== void 0 && (cfg.cardStyle = style)\n\n if (isCustom === true) {\n Object.assign(props, cfg)\n }\n else {\n merge(props, cfg)\n\n // need to change \"attrs\" reference to\n // actually reflect it in underlying component\n // when we force update it\n attrs = { ...props }\n }\n\n vm.$forceUpdate()\n }\n\n return API\n }\n }\n\n const node = document.createElement('div')\n document.body.appendChild(node)\n\n let emittedOK = false\n\n const on = {\n ok: data => {\n emittedOK = true\n okFns.forEach(fn => { fn(data) })\n },\n\n hide: () => {\n vm.$destroy()\n vm.$el.remove()\n vm = null\n\n if (emittedOK !== true) {\n cancelFns.forEach(fn => { fn() })\n }\n }\n }\n\n let vm = new Vue({\n name: 'QGlobalDialog',\n\n el: node,\n parent: getDialogParent(parent, root),\n\n render (h) {\n return h(DialogComponent, {\n ref: 'dialog',\n props,\n attrs,\n on\n })\n },\n\n mounted () {\n if (this.$refs.dialog !== void 0) {\n this.$refs.dialog.show()\n }\n else {\n on['hook:mounted'] = () => {\n this.$refs.dialog !== void 0 && this.$refs.dialog.show()\n }\n }\n }\n })\n\n return API\n }\n}\n","import Vue from 'vue'\n\nimport { isSSR } from './Platform.js'\n\nexport default {\n appVisible: false,\n\n install ({ $q }) {\n if (isSSR === true) {\n this.appVisible = $q.appVisible = true\n return\n }\n\n let prop, evt\n\n if (typeof document.hidden !== 'undefined') { // Opera 12.10 and Firefox 18 and later support\n prop = 'hidden'\n evt = 'visibilitychange'\n }\n else if (typeof document.msHidden !== 'undefined') {\n prop = 'msHidden'\n evt = 'msvisibilitychange'\n }\n else if (typeof document.webkitHidden !== 'undefined') {\n prop = 'webkitHidden'\n evt = 'webkitvisibilitychange'\n }\n\n const update = () => {\n this.appVisible = $q.appVisible = !document[prop]\n }\n\n update()\n\n if (evt && typeof document[prop] !== 'undefined') {\n Vue.util.defineReactive($q, 'appVisible', this.appVisible)\n document.addEventListener(evt, update, false)\n }\n }\n}\n","import Vue from 'vue'\n\nimport QDialog from '../dialog/QDialog.js'\n\nimport QIcon from '../icon/QIcon.js'\nimport QSeparator from '../separator/QSeparator.js'\n\nimport QCard from '../card/QCard.js'\nimport QCardSection from '../card/QCardSection.js'\n\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport AttrsMixin from '../../mixins/attrs.js'\n\nimport cache from '../../utils/cache.js'\n\nexport default Vue.extend({\n name: 'BottomSheetPlugin',\n\n mixins: [ DarkMixin, AttrsMixin ],\n\n inheritAttrs: false,\n\n props: {\n title: String,\n message: String,\n actions: Array,\n\n grid: Boolean,\n\n cardClass: [String, Array, Object],\n cardStyle: [String, Array, Object]\n },\n\n computed: {\n dialogProps () {\n return {\n ...this.qAttrs,\n position: 'bottom'\n }\n }\n },\n\n methods: {\n show () {\n this.$refs.dialog.show()\n },\n\n hide () {\n this.$refs.dialog.hide()\n },\n\n onOk (action) {\n this.$emit('ok', action)\n this.hide()\n },\n\n __getGrid (h) {\n return this.actions.map(action => {\n const img = action.avatar || action.img\n\n return action.label === void 0\n ? h(QSeparator, {\n staticClass: 'col-all',\n props: { dark: this.isDark }\n })\n : h('div', {\n staticClass: 'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',\n class: action.classes,\n attrs: { tabindex: 0 },\n on: {\n click: () => this.onOk(action),\n keyup: e => {\n e.keyCode === 13 && this.onOk(action)\n }\n }\n }, [\n h('div', { staticClass: 'q-focus-helper' }),\n\n action.icon\n ? h(QIcon, { props: { name: action.icon, color: action.color } })\n : (\n img\n ? h('img', {\n attrs: { src: img },\n staticClass: action.avatar ? 'q-bottom-sheet__avatar' : null\n })\n : h('div', { staticClass: 'q-bottom-sheet__empty-icon' })\n ),\n\n h('div', [ action.label ])\n ])\n })\n },\n\n __getList (h) {\n return this.actions.map(action => {\n const img = action.avatar || action.img\n\n return action.label === void 0\n ? h(QSeparator, { props: { spaced: true, dark: this.isDark } })\n : h(QItem, {\n staticClass: 'q-bottom-sheet__item',\n class: action.classes,\n props: {\n tabindex: 0,\n clickable: true,\n dark: this.isDark\n },\n on: {\n click: () => this.onOk(action),\n keyup: e => {\n e.keyCode === 13 && this.onOk(action)\n }\n }\n }, [\n h(QItemSection, { props: { avatar: true } }, [\n action.icon\n ? h(QIcon, { props: { name: action.icon, color: action.color } })\n : (\n img\n ? h('img', {\n attrs: { src: img },\n staticClass: action.avatar ? 'q-bottom-sheet__avatar' : null\n })\n : null\n )\n ]),\n h(QItemSection, [ action.label ])\n ])\n })\n }\n },\n\n render (h) {\n const child = []\n\n this.title && child.push(\n h(QCardSection, {\n staticClass: 'q-dialog__title'\n }, [ this.title ])\n )\n\n this.message && child.push(\n h(QCardSection, {\n staticClass: 'q-dialog__message'\n }, [ this.message ])\n )\n\n child.push(\n this.grid === true\n ? h('div', {\n staticClass: 'row items-stretch justify-start'\n }, this.__getGrid(h))\n : h('div', this.__getList(h))\n )\n\n return h(QDialog, {\n ref: 'dialog',\n props: this.dialogProps,\n on: cache(this, 'hide', {\n hide: () => {\n this.$emit('hide')\n }\n })\n }, [\n h(QCard, {\n staticClass: `q-bottom-sheet q-bottom-sheet--${this.grid === true ? 'grid' : 'list'}` +\n (this.isDark === true ? ' q-bottom-sheet--dark q-dark' : ''),\n style: this.cardStyle,\n class: this.cardClass\n }, child)\n ])\n }\n})\n","import BottomSheet from '../components/dialog-bottom-sheet/BottomSheet.js'\nimport globalDialog from '../utils/global-dialog.js'\n\nexport default {\n install ({ $q }) {\n this.create = $q.bottomSheet = globalDialog(BottomSheet)\n }\n}\n","import { isSSR } from './Platform.js'\n\nfunction encode (string) {\n return encodeURIComponent(string)\n}\n\nfunction decode (string) {\n return decodeURIComponent(string)\n}\n\nfunction stringifyCookieValue (value) {\n return encode(value === Object(value) ? JSON.stringify(value) : '' + value)\n}\n\nfunction read (string) {\n if (string === '') {\n return string\n }\n\n if (string.indexOf('\"') === 0) {\n // This is a quoted cookie as according to RFC2068, unescape...\n string = string.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\')\n }\n\n // Replace server-side written pluses with spaces.\n // If we can't decode the cookie, ignore it, it's unusable.\n // If we can't parse the cookie, ignore it, it's unusable.\n string = decode(string.replace(/\\+/g, ' '))\n\n try {\n string = JSON.parse(string)\n }\n catch (e) {}\n\n return string\n}\n\nfunction getString (msOffset) {\n const time = new Date()\n time.setMilliseconds(time.getMilliseconds() + msOffset)\n return time.toUTCString()\n}\n\nfunction parseExpireString (str) {\n let timestamp = 0\n\n const days = str.match(/(\\d+)d/)\n const hours = str.match(/(\\d+)h/)\n const minutes = str.match(/(\\d+)m/)\n const seconds = str.match(/(\\d+)s/)\n\n if (days) { timestamp += days[1] * 864e+5 }\n if (hours) { timestamp += hours[1] * 36e+5 }\n if (minutes) { timestamp += minutes[1] * 6e+4 }\n if (seconds) { timestamp += seconds[1] * 1000 }\n\n return timestamp === 0\n ? str\n : getString(timestamp)\n}\n\nfunction set (key, val, opts = {}, ssr) {\n let expire, expireValue\n\n if (opts.expires !== void 0) {\n // if it's a Date Object\n if (Object.prototype.toString.call(opts.expires) === '[object Date]') {\n expire = opts.expires.toUTCString()\n }\n // if it's a String (eg. \"15m\", \"1h\", \"13d\", \"1d 15m\", \"31s\")\n // possible units: d (days), h (hours), m (minutes), s (seconds)\n else if (typeof opts.expires === 'string') {\n expire = parseExpireString(opts.expires)\n }\n // otherwise it must be a Number (defined in days)\n else {\n expireValue = parseFloat(opts.expires)\n expire = isNaN(expireValue) === false\n ? getString(expireValue * 864e+5)\n : opts.expires\n }\n }\n\n const keyValue = `${encode(key)}=${stringifyCookieValue(val)}`\n\n const cookie = [\n keyValue,\n expire !== void 0 ? '; Expires=' + expire : '', // use expires attribute, max-age is not supported by IE\n opts.path ? '; Path=' + opts.path : '',\n opts.domain ? '; Domain=' + opts.domain : '',\n opts.sameSite ? '; SameSite=' + opts.sameSite : '',\n opts.httpOnly ? '; HttpOnly' : '',\n opts.secure ? '; Secure' : '',\n opts.other ? '; ' + opts.other : ''\n ].join('')\n\n if (ssr) {\n if (ssr.req.qCookies) {\n ssr.req.qCookies.push(cookie)\n }\n else {\n ssr.req.qCookies = [ cookie ]\n }\n\n ssr.res.setHeader('Set-Cookie', ssr.req.qCookies)\n\n // make temporary update so future get()\n // within same SSR timeframe would return the set value\n\n let all = ssr.req.headers.cookie || ''\n\n if (expire !== void 0 && expireValue < 0) {\n const val = get(key, ssr)\n if (val !== void 0) {\n all = all\n .replace(`${key}=${val}; `, '')\n .replace(`; ${key}=${val}`, '')\n .replace(`${key}=${val}`, '')\n }\n }\n else {\n all = all\n ? `${keyValue}; ${all}`\n : cookie\n }\n\n ssr.req.headers.cookie = all\n }\n else {\n document.cookie = cookie\n }\n}\n\nfunction get (key, ssr) {\n const\n cookieSource = ssr ? ssr.req.headers : document,\n cookies = cookieSource.cookie ? cookieSource.cookie.split('; ') : [],\n l = cookies.length\n let\n result = key ? null : {},\n i = 0,\n parts,\n name,\n cookie\n\n for (; i < l; i++) {\n parts = cookies[i].split('=')\n name = decode(parts.shift())\n cookie = parts.join('=')\n\n if (!key) {\n result[name] = cookie\n }\n else if (key === name) {\n result = read(cookie)\n break\n }\n }\n\n return result\n}\n\nfunction remove (key, options, ssr) {\n set(\n key,\n '',\n { expires: -1, ...options },\n ssr\n )\n}\n\nfunction has (key, ssr) {\n return get(key, ssr) !== null\n}\n\nexport function getObject (ssr) {\n return {\n get: key => get(key, ssr),\n set: (key, val, opts) => set(key, val, opts, ssr),\n has: key => has(key, ssr),\n remove: (key, options) => remove(key, options, ssr),\n getAll: () => get(null, ssr)\n }\n}\n\nexport default {\n parseSSR (ssrContext) {\n return ssrContext !== void 0\n ? getObject(ssrContext)\n : this\n },\n\n install ({ $q, queues }) {\n if (isSSR === true) {\n queues.server.push((q, ctx) => {\n q.cookies = getObject(ctx.ssr)\n })\n }\n else {\n Object.assign(this, getObject())\n $q.cookies = this\n }\n }\n}\n","import Vue from 'vue'\n\nimport QSpinner from '../components/spinner/QSpinner.js'\nimport { isSSR } from './Platform.js'\nimport cache from '../utils/cache.js'\nimport { isPlainObject } from '../utils/is.js'\nimport { preventScroll } from '../mixins/prevent-scroll.js'\n\nlet\n vm,\n uid = 0,\n timeout,\n props = {}\nconst\n originalDefaults = {\n delay: 0,\n message: false,\n spinnerSize: 80,\n spinnerColor: 'white',\n messageColor: 'white',\n backgroundColor: 'black',\n spinner: QSpinner,\n customClass: ''\n },\n defaults = { ...originalDefaults }\n\nconst Loading = {\n isActive: false,\n\n show (opts) {\n if (isSSR === true) { return }\n\n props = isPlainObject(opts) === true && opts.ignoreDefaults === true\n ? { ...originalDefaults, ...opts }\n : { ...defaults, ...opts }\n\n props.customClass += ` text-${props.backgroundColor}`\n\n this.isActive = true\n\n if (vm !== void 0) {\n props.uid = uid\n vm.$forceUpdate()\n return\n }\n\n props.uid = ++uid\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n timeout = void 0\n\n const node = document.createElement('div')\n document.body.appendChild(node)\n\n vm = new Vue({\n name: 'QLoading',\n\n // hide App from Vue devtools\n devtools: { hide: true },\n\n beforeCreate () {\n // prevent error in Vue devtools\n this._routerRoot === void 0 && (this._routerRoot = {})\n },\n\n el: node,\n\n mounted () {\n preventScroll(true)\n },\n\n render: (h) => {\n return h('transition', {\n props: {\n name: 'q-transition--fade',\n appear: true\n },\n on: cache(this, 'tr', {\n 'after-leave': () => {\n // might be called to finalize\n // previous leave, even if it was cancelled\n if (this.isActive !== true && vm !== void 0) {\n preventScroll(false)\n vm.$destroy()\n vm.$el.remove()\n vm = void 0\n }\n }\n })\n }, [\n this.isActive === true ? h('div', {\n staticClass: 'q-loading fullscreen column flex-center z-max',\n key: props.uid,\n class: props.customClass.trim()\n }, [\n h(props.spinner, {\n props: {\n color: props.spinnerColor,\n size: props.spinnerSize\n }\n }),\n\n (props.message && h('div', {\n class: `text-${props.messageColor}`,\n domProps: {\n [props.sanitize === true ? 'textContent' : 'innerHTML']: props.message\n }\n })) || void 0\n ]) : null\n ])\n }\n })\n }, props.delay)\n },\n\n hide () {\n if (this.isActive === true) {\n if (timeout !== void 0) {\n clearTimeout(timeout)\n timeout = void 0\n }\n\n this.isActive = false\n }\n },\n\n setDefaults (opts) {\n isPlainObject(opts) === true && Object.assign(defaults, opts)\n },\n\n install ({ $q, cfg: { loading } }) {\n this.setDefaults(loading)\n $q.loading = this\n }\n}\n\nif (isSSR === false) {\n Vue.util.defineReactive(Loading, 'isActive', Loading.isActive)\n}\n\nexport default Loading\n","import Vue from 'vue'\n\nimport QDialog from '../dialog/QDialog.js'\nimport QBtn from '../btn/QBtn.js'\n\nimport clone from '../../utils/clone.js'\nimport { isKeyCode } from '../../utils/key-composition.js'\n\nimport QCard from '../card/QCard.js'\nimport QCardSection from '../card/QCardSection.js'\nimport QCardActions from '../card/QCardActions.js'\nimport QSeparator from '../separator/QSeparator.js'\n\nimport QInput from '../input/QInput.js'\nimport QOptionGroup from '../option-group/QOptionGroup.js'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport AttrsMixin from '../../mixins/attrs.js'\n\nimport cache from '../../utils/cache.js'\nimport { isPlainObject } from '../../utils/is.js'\n\nexport default Vue.extend({\n name: 'DialogPlugin',\n\n mixins: [ DarkMixin, AttrsMixin ],\n\n inheritAttrs: false,\n\n props: {\n title: String,\n message: String,\n prompt: Object,\n options: Object,\n progress: [ Boolean, Object ],\n\n html: Boolean,\n\n ok: {\n type: [ String, Object, Boolean ],\n default: true\n },\n cancel: [ String, Object, Boolean ],\n focus: {\n type: String,\n default: 'ok',\n validator: v => ['ok', 'cancel', 'none'].includes(v)\n },\n\n stackButtons: Boolean,\n color: String,\n\n cardClass: [ String, Array, Object ],\n cardStyle: [ String, Array, Object ]\n },\n\n computed: {\n classes () {\n return 'q-dialog-plugin' +\n (this.isDark === true ? ' q-dialog-plugin--dark q-dark' : '') +\n (this.progress !== false ? ' q-dialog-plugin--progress' : '')\n },\n\n spinner () {\n if (this.progress !== false) {\n return isPlainObject(this.progress) === true\n ? {\n component: this.progress.spinner || QSpinner,\n props: { color: this.progress.color || this.vmColor }\n }\n : {\n component: QSpinner,\n props: { color: this.vmColor }\n }\n }\n },\n\n hasForm () {\n return this.prompt !== void 0 || this.options !== void 0\n },\n\n okLabel () {\n return isPlainObject(this.ok) === true\n ? this.$q.lang.label.ok\n : (\n this.ok === true\n ? this.$q.lang.label.ok\n : this.ok\n )\n },\n\n cancelLabel () {\n return isPlainObject(this.cancel) === true\n ? this.$q.lang.label.cancel\n : (\n this.cancel === true\n ? this.$q.lang.label.cancel\n : this.cancel\n )\n },\n\n vmColor () {\n return this.color || (this.isDark === true ? 'amber' : 'primary')\n },\n\n okDisabled () {\n if (this.prompt !== void 0) {\n return this.prompt.isValid !== void 0 &&\n this.prompt.isValid(this.prompt.model) !== true\n }\n if (this.options !== void 0) {\n return this.options.isValid !== void 0 &&\n this.options.isValid(this.options.model) !== true\n }\n },\n\n okProps () {\n return {\n color: this.vmColor,\n label: this.okLabel,\n ripple: false,\n disable: this.okDisabled,\n ...(isPlainObject(this.ok) === true ? this.ok : { flat: true })\n }\n },\n\n cancelProps () {\n return {\n color: this.vmColor,\n label: this.cancelLabel,\n ripple: false,\n ...(isPlainObject(this.cancel) === true ? this.cancel : { flat: true })\n }\n }\n },\n\n methods: {\n show () {\n this.$refs.dialog.show()\n },\n\n hide () {\n this.$refs.dialog.hide()\n },\n\n getPrompt (h) {\n return [\n h(QInput, {\n props: {\n value: this.prompt.model,\n type: this.prompt.type,\n\n label: this.prompt.label,\n stackLabel: this.prompt.stackLabel,\n\n outlined: this.prompt.outlined,\n filled: this.prompt.filled,\n standout: this.prompt.standout,\n rounded: this.prompt.rounded,\n square: this.prompt.square,\n\n counter: this.prompt.counter,\n maxlength: this.prompt.maxlength,\n prefix: this.prompt.prefix,\n suffix: this.prompt.suffix,\n\n color: this.vmColor,\n dense: true,\n autofocus: true,\n dark: this.isDark\n },\n attrs: this.prompt.attrs,\n on: cache(this, 'prompt', {\n input: v => { this.prompt.model = v },\n keyup: evt => {\n // if ENTER key\n if (\n this.okDisabled !== true &&\n this.prompt.type !== 'textarea' &&\n isKeyCode(evt, 13) === true\n ) {\n this.onOk()\n }\n }\n })\n })\n ]\n },\n\n getOptions (h) {\n return [\n h(QOptionGroup, {\n props: {\n value: this.options.model,\n type: this.options.type,\n color: this.vmColor,\n inline: this.options.inline,\n options: this.options.items,\n dark: this.isDark\n },\n on: cache(this, 'opts', {\n input: v => { this.options.model = v }\n })\n })\n ]\n },\n\n getButtons (h) {\n const child = []\n\n this.cancel && child.push(h(QBtn, {\n props: this.cancelProps,\n attrs: { 'data-autofocus': this.focus === 'cancel' && this.hasForm !== true },\n on: cache(this, 'cancel', { click: this.onCancel })\n }))\n\n this.ok && child.push(h(QBtn, {\n props: this.okProps,\n attrs: { 'data-autofocus': this.focus === 'ok' && this.hasForm !== true },\n on: cache(this, 'ok', { click: this.onOk })\n }))\n\n if (child.length > 0) {\n return h(QCardActions, {\n staticClass: this.stackButtons === true ? 'items-end' : null,\n props: {\n vertical: this.stackButtons,\n align: 'right'\n }\n }, child)\n }\n },\n\n onOk () {\n this.$emit('ok', clone(this.getData()))\n this.hide()\n },\n\n onCancel () {\n this.hide()\n },\n\n getData () {\n return this.prompt !== void 0\n ? this.prompt.model\n : (this.options !== void 0 ? this.options.model : void 0)\n },\n\n getSection (h, staticClass, text) {\n return this.html === true\n ? h(QCardSection, {\n staticClass,\n domProps: { innerHTML: text }\n })\n : h(QCardSection, { staticClass }, [ text ])\n }\n },\n\n render (h) {\n const child = []\n\n this.title && child.push(\n this.getSection(h, 'q-dialog__title', this.title)\n )\n\n this.progress !== false && child.push(\n h(QCardSection, { staticClass: 'q-dialog__progress' }, [\n h(this.spinner.component, {\n props: this.spinner.props\n })\n ])\n )\n\n this.message && child.push(\n this.getSection(h, 'q-dialog__message', this.message)\n )\n\n if (this.prompt !== void 0) {\n child.push(\n h(\n QCardSection,\n { staticClass: 'scroll q-dialog-plugin__form' },\n this.getPrompt(h)\n )\n )\n }\n else if (this.options !== void 0) {\n child.push(\n h(QSeparator, { props: { dark: this.isDark } }),\n h(\n QCardSection,\n { staticClass: 'scroll q-dialog-plugin__form' },\n this.getOptions(h)\n ),\n h(QSeparator, { props: { dark: this.isDark } })\n )\n }\n\n if (this.ok || this.cancel) {\n child.push(this.getButtons(h))\n }\n\n return h(QDialog, {\n ref: 'dialog',\n\n props: {\n ...this.qAttrs,\n value: this.value\n },\n\n on: cache(this, 'hide', {\n hide: () => {\n this.$emit('hide')\n }\n })\n }, [\n h(QCard, {\n staticClass: this.classes,\n style: this.cardStyle,\n class: this.cardClass,\n props: { dark: this.isDark }\n }, child)\n ])\n }\n})\n","import DialogPlugin from '../components/dialog-plugin/DialogPlugin.js'\nimport globalDialog from '../utils/global-dialog.js'\n\nexport default {\n install ({ $q }) {\n this.create = $q.dialog = globalDialog(DialogPlugin)\n }\n}\n","import Vue from 'vue'\n\nimport { isSSR } from './Platform.js'\nimport { noop } from '../utils/event.js'\nimport { isPlainObject } from '../utils/is.js'\nimport QAjaxBar from '../components/ajax-bar/QAjaxBar.js'\n\nexport default {\n isActive: false,\n start: noop,\n stop: noop,\n increment: noop,\n setDefaults: noop,\n\n install ({ $q, cfg }) {\n $q.loadingBar = this\n\n if (isSSR === true) {\n return\n }\n\n const props = cfg.loadingBar !== void 0\n ? { ...cfg.loadingBar }\n : {}\n\n const bar = new Vue({\n name: 'LoadingBar',\n\n // hide App from Vue devtools\n devtools: { hide: true },\n\n beforeCreate () {\n // prevent error in Vue devtools\n this._routerRoot === void 0 && (this._routerRoot = {})\n },\n\n render: h => h(QAjaxBar, {\n ref: 'bar',\n props\n })\n }).$mount().$refs.bar\n\n Object.assign(this, {\n start: speed => {\n bar.start(speed)\n this.isActive = bar.isActive = true\n },\n stop: () => {\n const sessions = bar.stop()\n this.isActive = bar.isActive = sessions > 0\n },\n increment: bar.increment,\n setDefaults: opts => {\n isPlainObject(opts) === true && Object.assign(props, opts)\n bar.$parent.$forceUpdate()\n }\n })\n\n Vue.util.defineReactive(this, 'isActive', this.isActive)\n Vue.util.defineReactive(bar, 'isActive', this.isActive)\n bar.setDefaults = this.setDefaults\n\n document.body.appendChild(bar.$parent.$el)\n }\n}\n","import Vue from 'vue'\n\nimport { isSSR, fromSSR } from './Platform.js'\nimport extend from '../utils/extend.js'\n\nlet updateId, ssrTakeover\n\nfunction normalize (meta) {\n if (meta.title) {\n meta.title = meta.titleTemplate\n ? meta.titleTemplate(meta.title)\n : meta.title\n delete meta.titleTemplate\n }\n\n ;[['meta', 'content'], ['link', 'href']].forEach(type => {\n const\n metaType = meta[type[0]],\n metaProp = type[1]\n\n for (const name in metaType) {\n const metaLink = metaType[name]\n\n if (metaLink.template) {\n if (Object.keys(metaLink).length === 1) {\n delete metaType[name]\n }\n else {\n metaLink[metaProp] = metaLink.template(metaLink[metaProp] || '')\n delete metaLink.template\n }\n }\n }\n })\n}\n\nfunction changed (old, def) {\n if (Object.keys(old).length !== Object.keys(def).length) {\n return true\n }\n for (const key in old) {\n if (old[key] !== def[key]) {\n return true\n }\n }\n}\n\nfunction bodyFilter (name) {\n return ['class', 'style'].includes(name) === false\n}\n\nfunction htmlFilter (name) {\n return ['lang', 'dir'].includes(name) === false\n}\n\nfunction diff (meta, other) {\n const add = {}, remove = {}\n\n if (meta === void 0) {\n return { add: other, remove }\n }\n\n if (meta.title !== other.title) {\n add.title = other.title\n }\n\n ;['meta', 'link', 'script', 'htmlAttr', 'bodyAttr'].forEach(type => {\n const old = meta[type], cur = other[type]\n remove[type] = []\n\n if (old === void 0 || old === null) {\n add[type] = cur\n return\n }\n\n add[type] = {}\n\n for (const key in old) {\n if (cur.hasOwnProperty(key) === false) {\n remove[type].push(key)\n }\n }\n for (const key in cur) {\n if (old.hasOwnProperty(key) === false) {\n add[type][key] = cur[key]\n }\n else if (changed(old[key], cur[key]) === true) {\n remove[type].push(key)\n add[type][key] = cur[key]\n }\n }\n })\n\n return { add, remove }\n}\n\nfunction apply ({ add, remove }) {\n if (add.title) {\n document.title = add.title\n }\n\n if (Object.keys(remove).length > 0) {\n ['meta', 'link', 'script'].forEach(type => {\n remove[type].forEach(name => {\n document.head.querySelector(`${type}[data-qmeta=\"${name}\"]`).remove()\n })\n })\n remove.htmlAttr.filter(htmlFilter).forEach(name => {\n document.documentElement.removeAttribute(name)\n })\n remove.bodyAttr.filter(bodyFilter).forEach(name => {\n document.body.removeAttribute(name)\n })\n }\n\n ;['meta', 'link', 'script'].forEach(type => {\n const metaType = add[type]\n\n for (const name in metaType) {\n const tag = document.createElement(type)\n for (const att in metaType[name]) {\n if (att !== 'innerHTML') {\n tag.setAttribute(att, metaType[name][att])\n }\n }\n tag.setAttribute('data-qmeta', name)\n if (type === 'script') {\n tag.innerHTML = metaType[name].innerHTML || ''\n }\n document.head.appendChild(tag)\n }\n })\n Object.keys(add.htmlAttr).filter(htmlFilter).forEach(name => {\n document.documentElement.setAttribute(name, add.htmlAttr[name] || '')\n })\n Object.keys(add.bodyAttr).filter(bodyFilter).forEach(name => {\n document.body.setAttribute(name, add.bodyAttr[name] || '')\n })\n}\n\nfunction parseMeta (component, meta) {\n if (component._inactive === true) { return }\n\n // if it has meta\n if (hasMeta(component) === true) {\n extend(true, meta, component.__qMeta)\n\n if (component.$options.meta.stopPropagation === true) {\n return\n }\n }\n\n component.$children.forEach(child => {\n parseMeta(child, meta)\n })\n}\n\nfunction updateClient () {\n if (ssrTakeover === true) {\n ssrTakeover = false\n this.$root.__currentMeta = window.__Q_META__\n }\n\n const meta = {\n title: '',\n titleTemplate: null,\n meta: {},\n link: {},\n script: {},\n htmlAttr: {},\n bodyAttr: {}\n }\n parseMeta(this.$root, meta)\n normalize(meta)\n\n apply(diff(this.$root.__currentMeta, meta))\n this.$root.__currentMeta = meta\n}\n\nfunction getAttr (seed) {\n return att => {\n const val = seed[att]\n return att + (val !== true && val !== void 0 ? `=\"${val}\"` : '')\n }\n}\n\nfunction getHead (meta) {\n let output = ''\n if (meta.title) {\n output += `<title>${meta.title}</title>`\n }\n ;['meta', 'link', 'script'].forEach(type => {\n const metaType = meta[type]\n\n for (const att in metaType) {\n const attrs = Object.keys(metaType[att])\n .filter(att => att !== 'innerHTML')\n .map(getAttr(metaType[att]))\n\n output += `<${type} ${attrs.join(' ')} data-qmeta=\"${att}\">`\n if (type === 'script') {\n output += (metaType[att].innerHTML || '') + `</script>`\n }\n }\n })\n return output\n}\n\nfunction getServerMeta (app, html, ctx) {\n const meta = {\n title: '',\n titleTemplate: null,\n meta: {},\n link: {},\n htmlAttr: {},\n bodyAttr: {},\n noscript: {}\n }\n\n parseMeta(app, meta)\n normalize(meta)\n\n const nonce = ctx !== void 0 && ctx.nonce !== void 0\n ? ` nonce=\"${ctx.nonce}\"`\n : ''\n\n const tokens = {\n '%%Q_HTML_ATTRS%%': Object.keys(meta.htmlAttr)\n .filter(htmlFilter)\n .map(getAttr(meta.htmlAttr))\n .join(' '),\n '%%Q_HEAD_TAGS%%': getHead(meta),\n '%%Q_BODY_ATTRS%%': Object.keys(meta.bodyAttr)\n .filter(bodyFilter)\n .map(getAttr(meta.bodyAttr))\n .join(' '),\n '%%Q_BODY_TAGS%%': Object.keys(meta.noscript)\n .map(name => `<noscript data-qmeta=\"${name}\">${meta.noscript[name]}</noscript>`)\n .join('') +\n `<script${nonce}>window.__Q_META__=${delete meta.noscript && JSON.stringify(meta)}</script>`\n }\n\n Object.keys(tokens).forEach(key => {\n html = html.replace(key, tokens[key])\n })\n\n return html\n}\n\nfunction beforeCreate () {\n if (typeof this.$options.meta === 'function') {\n if (this.$options.computed === void 0) {\n this.$options.computed = {}\n }\n this.$options.computed.__qMeta = this.$options.meta\n }\n else if (hasMeta(this) === true) {\n this.__qMeta = this.$options.meta\n }\n}\n\n// needs to be really fast\nfunction hasMeta (vm) {\n return vm.$options.meta !== void 0 &&\n vm.$options.meta !== null\n}\n\nfunction triggerMeta () {\n hasMeta(this) === true && this.__qMetaUpdate()\n}\n\nexport default {\n install ({ queues }) {\n if (isSSR === true) {\n Vue.prototype.$getMetaHTML = app => {\n return (html, ctx) => getServerMeta(app, html, ctx)\n }\n\n Vue.mixin({ beforeCreate })\n\n queues.server.push((_, ctx) => {\n ctx.ssr.Q_HTML_ATTRS += ' %%Q_HTML_ATTRS%%'\n Object.assign(ctx.ssr, {\n Q_HEAD_TAGS: '%%Q_HEAD_TAGS%%',\n Q_BODY_ATTRS: '%%Q_BODY_ATTRS%%',\n Q_BODY_TAGS: '%%Q_BODY_TAGS%%'\n })\n })\n }\n else {\n ssrTakeover = fromSSR\n\n Vue.mixin({\n beforeCreate,\n created () {\n if (hasMeta(this) === true) {\n this.__qMetaUnwatch = this.$watch('__qMeta', this.__qMetaUpdate)\n }\n },\n activated: triggerMeta,\n deactivated: triggerMeta,\n beforeMount: triggerMeta,\n destroyed () {\n if (hasMeta(this) === true) {\n this.__qMetaUnwatch()\n this.__qMetaUpdate()\n }\n },\n methods: {\n __qMetaUpdate () {\n clearTimeout(updateId)\n updateId = setTimeout(updateClient.bind(this), 50)\n }\n }\n })\n }\n }\n}\n","import Vue from 'vue'\n\nimport QAvatar from '../components/avatar/QAvatar.js'\nimport QIcon from '../components/icon/QIcon.js'\nimport QBtn from '../components/btn/QBtn.js'\nimport QSpinner from '../components/spinner/QSpinner.js'\n\nimport { noop } from '../utils/event.js'\nimport { getBodyFullscreenElement } from '../utils/dom.js'\nimport debounce from '../utils/debounce.js'\nimport { isPlainObject } from '../utils/is.js'\n\nimport { isSSR } from './Platform.js'\n\nlet uid = 0, vm\n\nconst defaults = {}\nconst groups = {}\nconst notificationsList = {}\nconst positionClass = {}\nconst emptyRE = /^\\s*$/\n\nconst positionList = [\n 'top-left', 'top-right',\n 'bottom-left', 'bottom-right',\n 'top', 'bottom', 'left', 'right', 'center'\n]\n\nconst badgePositions = [\n 'top-left', 'top-right',\n 'bottom-left', 'bottom-right'\n]\n\nconst notifTypes = {\n positive: {\n icon: $q => $q.iconSet.type.positive,\n color: 'positive'\n },\n\n negative: {\n icon: $q => $q.iconSet.type.negative,\n color: 'negative'\n },\n\n warning: {\n icon: $q => $q.iconSet.type.warning,\n color: 'warning',\n textColor: 'dark'\n },\n\n info: {\n icon: $q => $q.iconSet.type.info,\n color: 'info'\n },\n\n ongoing: {\n group: false,\n timeout: 0,\n spinner: true,\n color: 'grey-8'\n }\n}\n\nfunction addNotification (config, vm, originalApi) {\n if (!config) {\n return logError('parameter required')\n }\n\n let Api\n const notif = { textColor: 'white' }\n\n if (config.ignoreDefaults !== true) {\n Object.assign(notif, defaults)\n }\n\n if (isPlainObject(config) === false) {\n if (notif.type) {\n Object.assign(notif, notifTypes[notif.type])\n }\n\n config = { message: config }\n }\n\n Object.assign(notif, notifTypes[config.type || notif.type], config)\n\n if (typeof notif.icon === 'function') {\n notif.icon = notif.icon(vm.$q)\n }\n\n if (!notif.spinner) {\n notif.spinner = false\n }\n else if (notif.spinner === true) {\n notif.spinner = QSpinner\n }\n\n notif.meta = {\n hasMedia: Boolean(notif.spinner !== false || notif.icon || notif.avatar),\n hasText: hasContent(notif.message) || hasContent(notif.caption)\n }\n\n if (notif.position) {\n if (positionList.includes(notif.position) === false) {\n return logError('wrong position', config)\n }\n }\n else {\n notif.position = 'bottom'\n }\n\n if (notif.timeout === void 0) {\n notif.timeout = 5000\n }\n else {\n const t = parseInt(notif.timeout, 10)\n if (isNaN(t) || t < 0) {\n return logError('wrong timeout', config)\n }\n notif.timeout = t\n }\n\n if (notif.timeout === 0) {\n notif.progress = false\n }\n else if (notif.progress === true) {\n notif.meta.progressClass = 'q-notification__progress' + (\n notif.progressClass\n ? ` ${notif.progressClass}`\n : ''\n )\n\n notif.meta.progressStyle = {\n animationDuration: `${notif.timeout + 1000}ms`\n }\n }\n\n const actions = (\n Array.isArray(config.actions) === true\n ? config.actions\n : []\n ).concat(\n config.ignoreDefaults !== true && Array.isArray(defaults.actions) === true\n ? defaults.actions\n : []\n ).concat(\n notifTypes[config.type] !== void 0 && Array.isArray(notifTypes[config.type].actions) === true\n ? notifTypes[config.type].actions\n : []\n )\n\n const { closeBtn } = notif\n closeBtn && actions.push({\n label: typeof closeBtn === 'string'\n ? closeBtn\n : vm.$q.lang.label.close\n })\n\n notif.actions = actions.map(({ handler, noDismiss, style, class: klass, attrs, ...props }) => ({\n staticClass: klass,\n style,\n props: { flat: true, ...props },\n attrs,\n on: {\n click: typeof handler === 'function'\n ? () => {\n handler()\n noDismiss !== true && dismiss()\n }\n : () => { dismiss() }\n }\n }))\n\n if (notif.multiLine === void 0) {\n notif.multiLine = notif.actions.length > 1\n }\n\n Object.assign(notif.meta, {\n staticClass: 'q-notification row items-stretch' +\n ` q-notification--${notif.multiLine === true ? 'multi-line' : 'standard'}` +\n (notif.color !== void 0 ? ` bg-${notif.color}` : '') +\n (notif.textColor !== void 0 ? ` text-${notif.textColor}` : '') +\n (notif.classes !== void 0 ? ` ${notif.classes}` : ''),\n\n wrapperClass: 'q-notification__wrapper col relative-position border-radius-inherit ' +\n (notif.multiLine === true ? 'column no-wrap justify-center' : 'row items-center'),\n\n contentClass: 'q-notification__content row items-center' +\n (notif.multiLine === true ? '' : ' col'),\n\n leftClass: notif.meta.hasText === true ? 'additional' : 'single',\n\n attrs: {\n role: 'alert',\n ...notif.attrs\n }\n })\n\n if (notif.group === false) {\n notif.group = void 0\n notif.meta.group = void 0\n }\n else {\n if (notif.group === void 0 || notif.group === true) {\n // do not replace notifications with different buttons\n notif.group = [\n notif.message,\n notif.caption,\n notif.multiline\n ].concat(\n notif.actions.map(({ props }) => `${props.label}*${props.icon}`)\n ).join('|')\n }\n\n notif.meta.group = notif.group + '|' + notif.position\n }\n\n if (notif.actions.length === 0) {\n notif.actions = void 0\n }\n else {\n notif.meta.actionsClass = 'q-notification__actions row items-center ' +\n (notif.multiLine === true ? 'justify-end' : 'col-auto') +\n (notif.meta.hasMedia === true ? ' q-notification__actions--with-media' : '')\n }\n\n if (originalApi !== void 0) {\n // reset timeout if any\n clearTimeout(originalApi.notif.meta.timer)\n\n // retain uid\n notif.meta.uid = originalApi.notif.meta.uid\n\n // replace notif\n const index = notificationsList[notif.position].indexOf(originalApi.notif)\n notificationsList[notif.position][index] = notif\n }\n else {\n const original = groups[notif.meta.group]\n\n // woohoo, it's a new notification\n if (original === void 0) {\n notif.meta.uid = uid++\n notif.meta.badge = 1\n\n if (['left', 'right', 'center'].indexOf(notif.position) !== -1) {\n notificationsList[notif.position].splice(\n Math.floor(notificationsList[notif.position].length / 2),\n 0,\n notif\n )\n }\n else {\n const action = notif.position.indexOf('top') > -1 ? 'unshift' : 'push'\n notificationsList[notif.position][action](notif)\n }\n\n if (notif.group !== void 0) {\n groups[notif.meta.group] = notif\n }\n }\n // ok, so it's NOT a new one\n else {\n // reset timeout if any\n clearTimeout(original.meta.timer)\n\n if (notif.badgePosition !== void 0) {\n if (badgePositions.includes(notif.badgePosition) === false) {\n return logError('wrong badgePosition', config)\n }\n }\n else {\n notif.badgePosition = `top-${notif.position.indexOf('left') > -1 ? 'right' : 'left'}`\n }\n\n notif.meta.uid = original.meta.uid\n notif.meta.badge = original.meta.badge + 1\n notif.meta.badgeClass = `q-notification__badge q-notification__badge--${notif.badgePosition}` +\n (notif.badgeColor !== void 0 ? ` bg-${notif.badgeColor}` : '') +\n (notif.badgeTextColor !== void 0 ? ` text-${notif.badgeTextColor}` : '') +\n (notif.badgeClass ? ` ${notif.badgeClass}` : '')\n\n const index = notificationsList[notif.position].indexOf(original)\n notificationsList[notif.position][index] = groups[notif.meta.group] = notif\n }\n }\n\n const dismiss = () => {\n removeNotification(notif, vm)\n Api = void 0\n }\n\n vm.$forceUpdate()\n\n if (notif.timeout > 0) {\n notif.meta.timer = setTimeout(() => {\n dismiss()\n }, notif.timeout + /* show duration */ 1000)\n }\n\n // only non-groupable can be updated\n if (notif.group !== void 0) {\n return props => {\n if (props !== void 0) {\n logError('trying to update a grouped one which is forbidden', config)\n }\n else {\n dismiss()\n }\n }\n }\n\n Api = {\n dismiss,\n config,\n notif\n }\n\n if (originalApi !== void 0) {\n Object.assign(originalApi, Api)\n return\n }\n\n return props => {\n // if notification wasn't previously dismissed\n if (Api !== void 0) {\n // if no params, then we must dismiss the notification\n if (props === void 0) {\n Api.dismiss()\n }\n // otherwise we're updating it\n else {\n const newNotif = Object.assign({}, Api.config, props, {\n group: false,\n position: notif.position\n })\n\n addNotification(newNotif, vm, Api)\n }\n }\n }\n}\n\nfunction removeNotification (notif, vm) {\n clearTimeout(notif.meta.timer)\n\n const index = notificationsList[notif.position].indexOf(notif)\n if (index !== -1) {\n if (notif.group !== void 0) {\n delete groups[notif.meta.group]\n }\n\n const el = vm.$refs['' + notif.meta.uid]\n\n if (el) {\n const { width, height } = getComputedStyle(el)\n\n el.style.left = `${el.offsetLeft}px`\n el.style.width = width\n el.style.height = height\n }\n\n notificationsList[notif.position].splice(index, 1)\n\n vm.$forceUpdate()\n\n if (typeof notif.onDismiss === 'function') {\n notif.onDismiss()\n }\n }\n}\n\nfunction hasContent (str) {\n return str !== void 0 &&\n str !== null &&\n emptyRE.test(str) !== true\n}\n\nfunction logError (error, config) {\n console.error(`Notify: ${error}`, config)\n return false\n}\n\nconst Notifications = {\n name: 'QNotifications',\n\n // hide App from Vue devtools\n devtools: { hide: true },\n\n beforeCreate () {\n // prevent error in Vue devtools\n this._routerRoot === void 0 && (this._routerRoot = {})\n },\n\n render (h) {\n return h('div', { staticClass: 'q-notifications' }, positionList.map(pos => {\n return h('transition-group', {\n key: pos,\n staticClass: positionClass[pos],\n tag: 'div',\n props: {\n name: `q-notification--${pos}`,\n mode: 'out-in'\n }\n }, notificationsList[pos].map(notif => {\n const { meta } = notif\n const mainChild = []\n\n if (meta.hasMedia === true) {\n if (notif.spinner !== false) {\n mainChild.push(\n h(notif.spinner, {\n staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass,\n props: { color: notif.spinnerColor, size: notif.spinnerSize }\n })\n )\n }\n else if (notif.icon) {\n mainChild.push(\n h(QIcon, {\n staticClass: 'q-notification__icon q-notification__icon--' + meta.leftClass,\n attrs: { role: 'img' },\n props: { name: notif.icon, color: notif.iconColor, size: notif.iconSize }\n })\n )\n }\n else if (notif.avatar) {\n mainChild.push(\n h(QAvatar, { staticClass: 'q-notification__avatar q-notification__avatar--' + meta.leftClass }, [\n h('img', { attrs: { src: notif.avatar, 'aria-hidden': 'true' } })\n ])\n )\n }\n }\n\n if (meta.hasText === true) {\n let msgChild\n const msgData = { staticClass: 'q-notification__message col' }\n\n if (notif.html === true) {\n msgData.domProps = {\n innerHTML: notif.caption\n ? `<div>${notif.message}</div><div class=\"q-notification__caption\">${notif.caption}</div>`\n : notif.message\n }\n }\n else {\n const msgNode = [ notif.message ]\n msgChild = notif.caption\n ? [\n h('div', msgNode),\n h('div', { staticClass: 'q-notification__caption' }, [notif.caption])\n ]\n : msgNode\n }\n\n mainChild.push(\n h('div', msgData, msgChild)\n )\n }\n\n const child = [\n h('div', { staticClass: meta.contentClass }, mainChild)\n ]\n\n notif.progress === true && child.push(\n h('div', {\n key: `${meta.uid}|p|${meta.badge}`,\n staticClass: meta.progressClass,\n style: meta.progressStyle\n })\n )\n\n notif.actions !== void 0 && child.push(\n h('div', {\n staticClass: meta.actionsClass\n }, notif.actions.map(action => h(QBtn, { ...action })))\n )\n\n meta.badge > 1 && child.push(\n h('div', {\n key: `${meta.uid}|${meta.badge}`,\n staticClass: meta.badgeClass,\n style: notif.badgeStyle\n }, [ meta.badge ])\n )\n\n return h('div', {\n ref: '' + meta.uid,\n key: meta.uid,\n staticClass: meta.staticClass,\n attrs: meta.attrs\n }, [\n h('div', { staticClass: meta.wrapperClass }, child)\n ])\n }))\n }))\n },\n\n mounted () {\n if (this.$q.fullscreen !== void 0 && this.$q.fullscreen.isCapable === true) {\n const append = () => {\n const newParent = getBodyFullscreenElement(this.$q.fullscreen.activeEl)\n\n if (this.$el.parentElement !== newParent) {\n newParent.appendChild(this.$el)\n }\n }\n\n this.unwatchFullscreen = this.$watch('$q.fullscreen.activeEl', debounce(append, 50))\n\n if (this.$q.fullscreen.isActive === true) {\n append()\n }\n }\n },\n\n beforeDestroy () {\n this.unwatchFullscreen !== void 0 && this.unwatchFullscreen()\n }\n}\n\nexport default {\n setDefaults (opts) {\n if (isSSR !== true && isPlainObject(opts) === true) {\n Object.assign(defaults, opts)\n }\n },\n\n registerType (typeName, typeOpts) {\n if (isSSR !== true && isPlainObject(typeOpts) === true) {\n notifTypes[typeName] = typeOpts\n }\n },\n\n install ({ $q }) {\n $q.notify = this.create = isSSR === true\n ? noop\n : opts => addNotification(opts, vm)\n\n $q.notify.setDefaults = this.setDefaults\n $q.notify.registerType = this.registerType\n\n if ($q.config.notify !== void 0) {\n this.setDefaults($q.config.notify)\n }\n\n if (isSSR !== true) {\n positionList.forEach(pos => {\n notificationsList[pos] = []\n\n const\n vert = ['left', 'center', 'right'].includes(pos) === true ? 'center' : (pos.indexOf('top') > -1 ? 'top' : 'bottom'),\n align = pos.indexOf('left') > -1 ? 'start' : (pos.indexOf('right') > -1 ? 'end' : 'center'),\n classes = ['left', 'right'].includes(pos) ? `items-${pos === 'left' ? 'start' : 'end'} justify-center` : (pos === 'center' ? 'flex-center' : `items-${align}`)\n\n positionClass[pos] = `q-notifications__list q-notifications__list--${vert} fixed column no-wrap ${classes}`\n })\n\n const node = document.createElement('div')\n document.body.appendChild(node)\n\n vm = new Vue(Notifications)\n vm.$mount(node)\n }\n }\n}\n","import { noop } from '../utils/event.js'\nimport { isDate, isRegexp } from '../utils/is.js'\n\nfunction encode (value) {\n if (isDate(value) === true) {\n return '__q_date|' + value.toUTCString()\n }\n if (isRegexp(value) === true) {\n return '__q_expr|' + value.source\n }\n if (typeof value === 'number') {\n return '__q_numb|' + value\n }\n if (typeof value === 'boolean') {\n return '__q_bool|' + (value ? '1' : '0')\n }\n if (typeof value === 'string') {\n return '__q_strn|' + value\n }\n if (typeof value === 'function') {\n return '__q_strn|' + value.toString()\n }\n if (value === Object(value)) {\n return '__q_objt|' + JSON.stringify(value)\n }\n\n // hmm, we don't know what to do with it,\n // so just return it as is\n return value\n}\n\nfunction decode (value) {\n const length = value.length\n if (length < 9) {\n // then it wasn't encoded by us\n return value\n }\n\n const type = value.substr(0, 8)\n const source = value.substring(9)\n\n switch (type) {\n case '__q_date':\n return new Date(source)\n\n case '__q_expr':\n return new RegExp(source)\n\n case '__q_numb':\n return Number(source)\n\n case '__q_bool':\n return Boolean(source === '1')\n\n case '__q_strn':\n return '' + source\n\n case '__q_objt':\n return JSON.parse(source)\n\n default:\n // hmm, we reached here, we don't know the type,\n // then it means it wasn't encoded by us, so just\n // return whatever value it is\n return value\n }\n}\n\nexport function getEmptyStorage () {\n const getVal = () => null\n\n return {\n has: () => false,\n getLength: () => 0,\n getItem: getVal,\n getIndex: getVal,\n getKey: getVal,\n getAll: () => {},\n getAllKeys: () => [],\n set: noop,\n remove: noop,\n clear: noop,\n isEmpty: () => true\n }\n}\n\nexport function getStorage (type) {\n const\n webStorage = window[type + 'Storage'],\n get = key => {\n const item = webStorage.getItem(key)\n return item\n ? decode(item)\n : null\n }\n\n return {\n has: key => webStorage.getItem(key) !== null,\n getLength: () => webStorage.length,\n getItem: get,\n getIndex: index => {\n return index < webStorage.length\n ? get(webStorage.key(index))\n : null\n },\n getKey: index => {\n return index < webStorage.length\n ? webStorage.key(index)\n : null\n },\n getAll: () => {\n let key\n const result = {}, len = webStorage.length\n\n for (let i = 0; i < len; i++) {\n key = webStorage.key(i)\n result[key] = get(key)\n }\n\n return result\n },\n getAllKeys: () => {\n const result = [], len = webStorage.length\n\n for (let i = 0; i < len; i++) {\n result.push(webStorage.key(i))\n }\n\n return result\n },\n set: (key, value) => { webStorage.setItem(key, encode(value)) },\n remove: key => { webStorage.removeItem(key) },\n clear: () => { webStorage.clear() },\n isEmpty: () => webStorage.length === 0\n }\n}\n","import { isSSR, client } from './Platform.js'\nimport { getEmptyStorage, getStorage } from '../utils/web-storage.js'\n\nexport default {\n install ({ $q }) {\n const storage = isSSR === true || client.has.webStorage === false\n ? getEmptyStorage()\n : getStorage('local')\n\n $q.localStorage = storage\n Object.assign(this, storage)\n }\n}\n","import { isSSR, client } from './Platform.js'\nimport { getEmptyStorage, getStorage } from '../utils/web-storage.js'\n\nexport default {\n install ({ $q }) {\n const storage = isSSR === true || client.has.webStorage === false\n ? getEmptyStorage()\n : getStorage('session')\n\n $q.sessionStorage = storage\n Object.assign(this, storage)\n }\n}\n","import VuePlugin from './vue-plugin.js'\n\nimport * as components from './components.js'\nimport * as directives from './directives.js'\nimport * as plugins from './plugins.js'\n\nexport * from './components.js'\nexport * from './directives.js'\nexport * from './plugins.js'\nexport * from './utils.js'\n\nexport default {\n ...VuePlugin,\n install (Vue, opts) {\n VuePlugin.install(Vue, {\n components,\n directives,\n plugins,\n ...opts\n })\n }\n}\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","import Vue from 'vue'\n\nimport { isSSR, fromSSR } from './Platform.js'\nimport { noop } from '../utils/event.js'\n\nconst Dark = {\n isActive: false,\n mode: false,\n\n install ($q, queues, { dark }) {\n this.isActive = dark === true\n\n if (isSSR === true) {\n queues.server.push((q, ctx) => {\n q.dark = {\n isActive: false,\n mode: false,\n set: val => {\n ctx.ssr.Q_BODY_CLASSES = ctx.ssr.Q_BODY_CLASSES\n .replace(' body--light', '')\n .replace(' body--dark', '') + ` body--${val === true ? 'dark' : 'light'}`\n\n q.dark.isActive = val === true\n q.dark.mode = val\n },\n toggle: () => {\n q.dark.set(q.dark.isActive === false)\n }\n }\n\n q.dark.set(dark)\n })\n\n this.set = noop\n return\n }\n\n const initialVal = dark !== void 0\n ? dark\n : false\n\n if (fromSSR === true) {\n const ssrSet = val => {\n this.__fromSSR = val\n }\n\n const originalSet = this.set\n\n this.set = ssrSet\n ssrSet(initialVal)\n\n queues.takeover.push(() => {\n this.set = originalSet\n this.set(this.__fromSSR)\n })\n }\n else {\n this.set(initialVal)\n }\n\n Vue.util.defineReactive(this, 'isActive', this.isActive)\n Vue.util.defineReactive($q, 'dark', this)\n },\n\n set (val) {\n this.mode = val\n\n if (val === 'auto') {\n if (this.__media === void 0) {\n this.__media = window.matchMedia('(prefers-color-scheme: dark)')\n this.__updateMedia = () => { this.set('auto') }\n this.__media.addListener(this.__updateMedia)\n }\n\n val = this.__media.matches\n }\n else if (this.__media !== void 0) {\n this.__media.removeListener(this.__updateMedia)\n this.__media = void 0\n }\n\n this.isActive = val === true\n\n document.body.classList.remove(`body--${val === true ? 'light' : 'dark'}`)\n document.body.classList.add(`body--${val === true ? 'dark' : 'light'}`)\n },\n\n toggle () {\n Dark.set(Dark.isActive === false)\n },\n\n __media: void 0\n}\n\nexport default Dark\n"],"sourceRoot":""}