{"version":3,"file":"148.e2647b96b69b87eb577c.dist.js","mappings":"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K,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MACpf,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACjf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACxf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,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","sources":["webpack://hm/./node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/Errors.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/HttpClient.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/HubConnection.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/HeaderNames.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/AbortController.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/HttpConnection.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/ILogger.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/ITransport.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/Loggers.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/Subject.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js","webpack://hm/./node_modules/@microsoft/signalr/dist/esm/Utils.js","webpack://hm/./node_modules/@vee-validate/i18n/dist/vee-validate-i18n.esm.js","webpack://hm/./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js","webpack://hm/./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js","webpack://hm/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://hm/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://hm/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://hm/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://hm/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://hm/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://hm/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://hm/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://hm/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://hm/./node_modules/animejs/lib/anime.es.js","webpack://hm/./node_modules/vue3-timepicker/dist/VueTimepikcer.esm.js","webpack://hm/./node_modules/body-scroll-lock/lib/bodyScrollLock.js","webpack://hm/./node_modules/can-use-dom/index.js","webpack://hm/./node_modules/chart.js/dist/Chart.js","webpack://hm/./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.js","webpack://hm/./node_modules/cldrjs/dist/cldr.js","webpack://hm/./node_modules/cldrjs/dist/cldr/event.js","webpack://hm/./node_modules/cldrjs/dist/cldr/supplemental.js","webpack://hm/./node_modules/cldrjs/dist/cldr/unresolved.js","webpack://hm/./node_modules/cldrjs/dist/node_main.js","webpack://hm/./node_modules/clipboard/dist/clipboard.js","webpack://hm/./node_modules/core-js/internals/a-callable.js","webpack://hm/./node_modules/core-js/internals/a-constructor.js","webpack://hm/./node_modules/core-js/internals/a-possible-prototype.js","webpack://hm/./node_modules/core-js/internals/add-to-unscopables.js","webpack://hm/./node_modules/core-js/internals/advance-string-index.js","webpack://hm/./node_modules/core-js/internals/an-instance.js","webpack://hm/./node_modules/core-js/internals/an-object.js","webpack://hm/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://hm/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://hm/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://hm/./node_modules/core-js/internals/array-buffer.js","webpack://hm/./node_modules/core-js/internals/array-copy-within.js","webpack://hm/./node_modules/core-js/internals/array-fill.js","webpack://hm/./node_modules/core-js/internals/array-for-each.js","webpack://hm/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://hm/./node_modules/core-js/internals/array-from.js","webpack://hm/./node_modules/core-js/internals/array-includes.js","webpack://hm/./node_modules/core-js/internals/array-iteration.js","webpack://hm/./node_modules/core-js/internals/array-last-index-of.js","webpack://hm/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://hm/./node_modules/core-js/internals/array-method-is-strict.js","webpack://hm/./node_modules/core-js/internals/array-reduce.js","webpack://hm/./node_modules/core-js/internals/array-set-length.js","webpack://hm/./node_modules/core-js/internals/array-slice-simple.js","webpack://hm/./node_modules/core-js/internals/array-slice.js","webpack://hm/./node_modules/core-js/internals/array-sort.js","webpack://hm/./node_modules/core-js/internals/array-species-constructor.js","webpack://hm/./node_modules/core-js/internals/array-species-create.js","webpack://hm/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://hm/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://hm/./node_modules/core-js/internals/classof-raw.js","webpack://hm/./node_modules/core-js/internals/classof.js","webpack://hm/./node_modules/core-js/internals/collection-strong.js","webpack://hm/./node_modules/core-js/internals/collection-weak.js","webpack://hm/./node_modules/core-js/internals/collection.js","webpack://hm/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://hm/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://hm/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://hm/./node_modules/core-js/internals/create-iter-result-object.js","webpack://hm/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://hm/./node_modules/core-js/internals/create-property-descriptor.js","webpack://hm/./node_modules/core-js/internals/create-property.js","webpack://hm/./node_modules/core-js/internals/date-to-primitive.js","webpack://hm/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://hm/./node_modules/core-js/internals/define-built-in.js","webpack://hm/./node_modules/core-js/internals/define-built-ins.js","webpack://hm/./node_modules/core-js/internals/define-global-property.js","webpack://hm/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://hm/./node_modules/core-js/internals/descriptors.js","webpack://hm/./node_modules/core-js/internals/document-all.js","webpack://hm/./node_modules/core-js/internals/document-create-element.js","webpack://hm/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://hm/./node_modules/core-js/internals/dom-iterables.js","webpack://hm/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://hm/./node_modules/core-js/internals/engine-ff-version.js","webpack://hm/./node_modules/core-js/internals/engine-is-browser.js","webpack://hm/./node_modules/core-js/internals/engine-is-deno.js","webpack://hm/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://hm/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://hm/./node_modules/core-js/internals/engine-is-ios.js","webpack://hm/./node_modules/core-js/internals/engine-is-node.js","webpack://hm/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://hm/./node_modules/core-js/internals/engine-user-agent.js","webpack://hm/./node_modules/core-js/internals/engine-v8-version.js","webpack://hm/./node_modules/core-js/internals/engine-webkit-version.js","webpack://hm/./node_modules/core-js/internals/enum-bug-keys.js","webpack://hm/./node_modules/core-js/internals/export.js","webpack://hm/./node_modules/core-js/internals/fails.js","webpack://hm/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://hm/./node_modules/core-js/internals/flatten-into-array.js","webpack://hm/./node_modules/core-js/internals/freezing.js","webpack://hm/./node_modules/core-js/internals/function-apply.js","webpack://hm/./node_modules/core-js/internals/function-bind-context.js","webpack://hm/./node_modules/core-js/internals/function-bind-native.js","webpack://hm/./node_modules/core-js/internals/function-bind.js","webpack://hm/./node_modules/core-js/internals/function-call.js","webpack://hm/./node_modules/core-js/internals/function-name.js","webpack://hm/./node_modules/core-js/internals/function-uncurry-this-raw.js","webpack://hm/./node_modules/core-js/internals/function-uncurry-this.js","webpack://hm/./node_modules/core-js/internals/get-built-in.js","webpack://hm/./node_modules/core-js/internals/get-iterator-method.js","webpack://hm/./node_modules/core-js/internals/get-iterator.js","webpack://hm/./node_modules/core-js/internals/get-method.js","webpack://hm/./node_modules/core-js/internals/get-substitution.js","webpack://hm/./node_modules/core-js/internals/global.js","webpack://hm/./node_modules/core-js/internals/has-own-property.js","webpack://hm/./node_modules/core-js/internals/hidden-keys.js","webpack://hm/./node_modules/core-js/internals/host-report-errors.js","webpack://hm/./node_modules/core-js/internals/html.js","webpack://hm/./node_modules/core-js/internals/ie8-dom-define.js","webpack://hm/./node_modules/core-js/internals/ieee754.js","webpack://hm/./node_modules/core-js/internals/indexed-object.js","webpack://hm/./node_modules/core-js/internals/inherit-if-required.js","webpack://hm/./node_modules/core-js/internals/inspect-source.js","webpack://hm/./node_modules/core-js/internals/internal-metadata.js","webpack://hm/./node_modules/core-js/internals/internal-state.js","webpack://hm/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://hm/./node_modules/core-js/internals/is-array.js","webpack://hm/./node_modules/core-js/internals/is-big-int-array.js","webpack://hm/./node_modules/core-js/internals/is-callable.js","webpack://hm/./node_modules/core-js/internals/is-constructor.js","webpack://hm/./node_modules/core-js/internals/is-data-descriptor.js","webpack://hm/./node_modules/core-js/internals/is-forced.js","webpack://hm/./node_modules/core-js/internals/is-integral-number.js","webpack://hm/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://hm/./node_modules/core-js/internals/is-object.js","webpack://hm/./node_modules/core-js/internals/is-pure.js","webpack://hm/./node_modules/core-js/internals/is-regexp.js","webpack://hm/./node_modules/core-js/internals/is-symbol.js","webpack://hm/./node_modules/core-js/internals/iterate.js","webpack://hm/./node_modules/core-js/internals/iterator-close.js","webpack://hm/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://hm/./node_modules/core-js/internals/iterator-define.js","webpack://hm/./node_modules/core-js/internals/iterators-core.js","webpack://hm/./node_modules/core-js/internals/iterators.js","webpack://hm/./node_modules/core-js/internals/length-of-array-like.js","webpack://hm/./node_modules/core-js/internals/make-built-in.js","webpack://hm/./node_modules/core-js/internals/math-expm1.js","webpack://hm/./node_modules/core-js/internals/math-fround.js","webpack://hm/./node_modules/core-js/internals/math-log10.js","webpack://hm/./node_modules/core-js/internals/math-log1p.js","webpack://hm/./node_modules/core-js/internals/math-sign.js","webpack://hm/./node_modules/core-js/internals/math-trunc.js","webpack://hm/./node_modules/core-js/internals/microtask.js","webpack://hm/./node_modules/core-js/internals/new-promise-capability.js","webpack://hm/./node_modules/core-js/internals/not-a-regexp.js","webpack://hm/./node_modules/core-js/internals/number-parse-float.js","webpack://hm/./node_modules/core-js/internals/number-parse-int.js","webpack://hm/./node_modules/core-js/internals/object-assign.js","webpack://hm/./node_modules/core-js/internals/object-create.js","webpack://hm/./node_modules/core-js/internals/object-define-properties.js","webpack://hm/./node_modules/core-js/internals/object-define-property.js","webpack://hm/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://hm/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://hm/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://hm/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://hm/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://hm/./node_modules/core-js/internals/object-is-extensible.js","webpack://hm/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://hm/./node_modules/core-js/internals/object-keys-internal.js","webpack://hm/./node_modules/core-js/internals/object-keys.js","webpack://hm/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://hm/./node_modules/core-js/internals/object-prototype-accessors-forced.js","webpack://hm/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://hm/./node_modules/core-js/internals/object-to-array.js","webpack://hm/./node_modules/core-js/internals/object-to-string.js","webpack://hm/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://hm/./node_modules/core-js/internals/own-keys.js","webpack://hm/./node_modules/core-js/internals/path.js","webpack://hm/./node_modules/core-js/internals/perform.js","webpack://hm/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://hm/./node_modules/core-js/internals/promise-native-constructor.js","webpack://hm/./node_modules/core-js/internals/promise-resolve.js","webpack://hm/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://hm/./node_modules/core-js/internals/proxy-accessor.js","webpack://hm/./node_modules/core-js/internals/queue.js","webpack://hm/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://hm/./node_modules/core-js/internals/regexp-exec.js","webpack://hm/./node_modules/core-js/internals/regexp-flags.js","webpack://hm/./node_modules/core-js/internals/regexp-get-flags.js","webpack://hm/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://hm/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://hm/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://hm/./node_modules/core-js/internals/require-object-coercible.js","webpack://hm/./node_modules/core-js/internals/same-value.js","webpack://hm/./node_modules/core-js/internals/set-species.js","webpack://hm/./node_modules/core-js/internals/set-to-string-tag.js","webpack://hm/./node_modules/core-js/internals/shared-key.js","webpack://hm/./node_modules/core-js/internals/shared-store.js","webpack://hm/./node_modules/core-js/internals/shared.js","webpack://hm/./node_modules/core-js/internals/species-constructor.js","webpack://hm/./node_modules/core-js/internals/string-multibyte.js","webpack://hm/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://hm/./node_modules/core-js/internals/string-pad.js","webpack://hm/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://hm/./node_modules/core-js/internals/string-repeat.js","webpack://hm/./node_modules/core-js/internals/string-trim-end.js","webpack://hm/./node_modules/core-js/internals/string-trim-forced.js","webpack://hm/./node_modules/core-js/internals/string-trim-start.js","webpack://hm/./node_modules/core-js/internals/string-trim.js","webpack://hm/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://hm/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://hm/./node_modules/core-js/internals/symbol-registry-detection.js","webpack://hm/./node_modules/core-js/internals/task.js","webpack://hm/./node_modules/core-js/internals/this-number-value.js","webpack://hm/./node_modules/core-js/internals/to-absolute-index.js","webpack://hm/./node_modules/core-js/internals/to-big-int.js","webpack://hm/./node_modules/core-js/internals/to-index.js","webpack://hm/./node_modules/core-js/internals/to-indexed-object.js","webpack://hm/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://hm/./node_modules/core-js/internals/to-length.js","webpack://hm/./node_modules/core-js/internals/to-object.js","webpack://hm/./node_modules/core-js/internals/to-offset.js","webpack://hm/./node_modules/core-js/internals/to-positive-integer.js","webpack://hm/./node_modules/core-js/internals/to-primitive.js","webpack://hm/./node_modules/core-js/internals/to-property-key.js","webpack://hm/./node_modules/core-js/internals/to-string-tag-support.js","webpack://hm/./node_modules/core-js/internals/to-string.js","webpack://hm/./node_modules/core-js/internals/try-to-string.js","webpack://hm/./node_modules/core-js/internals/typed-array-constructor.js","webpack://hm/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://hm/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://hm/./node_modules/core-js/internals/typed-array-from.js","webpack://hm/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://hm/./node_modules/core-js/internals/uid.js","webpack://hm/./node_modules/core-js/internals/url-constructor-detection.js","webpack://hm/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://hm/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://hm/./node_modules/core-js/internals/validate-arguments-length.js","webpack://hm/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://hm/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://hm/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://hm/./node_modules/core-js/internals/well-known-symbol.js","webpack://hm/./node_modules/core-js/internals/whitespaces.js","webpack://hm/./node_modules/core-js/modules/es.array-buffer.slice.js","webpack://hm/./node_modules/core-js/modules/es.array.concat.js","webpack://hm/./node_modules/core-js/modules/es.array.copy-within.js","webpack://hm/./node_modules/core-js/modules/es.array.fill.js","webpack://hm/./node_modules/core-js/modules/es.array.filter.js","webpack://hm/./node_modules/core-js/modules/es.array.find-index.js","webpack://hm/./node_modules/core-js/modules/es.array.find.js","webpack://hm/./node_modules/core-js/modules/es.array.flat-map.js","webpack://hm/./node_modules/core-js/modules/es.array.flat.js","webpack://hm/./node_modules/core-js/modules/es.array.from.js","webpack://hm/./node_modules/core-js/modules/es.array.includes.js","webpack://hm/./node_modules/core-js/modules/es.array.index-of.js","webpack://hm/./node_modules/core-js/modules/es.array.iterator.js","webpack://hm/./node_modules/core-js/modules/es.array.last-index-of.js","webpack://hm/./node_modules/core-js/modules/es.array.map.js","webpack://hm/./node_modules/core-js/modules/es.array.of.js","webpack://hm/./node_modules/core-js/modules/es.array.reduce.js","webpack://hm/./node_modules/core-js/modules/es.array.reverse.js","webpack://hm/./node_modules/core-js/modules/es.array.slice.js","webpack://hm/./node_modules/core-js/modules/es.array.sort.js","webpack://hm/./node_modules/core-js/modules/es.array.species.js","webpack://hm/./node_modules/core-js/modules/es.array.splice.js","webpack://hm/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://hm/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://hm/./node_modules/core-js/modules/es.date.to-primitive.js","webpack://hm/./node_modules/core-js/modules/es.function.has-instance.js","webpack://hm/./node_modules/core-js/modules/es.function.name.js","webpack://hm/./node_modules/core-js/modules/es.json.stringify.js","webpack://hm/./node_modules/core-js/modules/es.json.to-string-tag.js","webpack://hm/./node_modules/core-js/modules/es.map.constructor.js","webpack://hm/./node_modules/core-js/modules/es.map.js","webpack://hm/./node_modules/core-js/modules/es.math.acosh.js","webpack://hm/./node_modules/core-js/modules/es.math.asinh.js","webpack://hm/./node_modules/core-js/modules/es.math.atanh.js","webpack://hm/./node_modules/core-js/modules/es.math.cbrt.js","webpack://hm/./node_modules/core-js/modules/es.math.clz32.js","webpack://hm/./node_modules/core-js/modules/es.math.cosh.js","webpack://hm/./node_modules/core-js/modules/es.math.expm1.js","webpack://hm/./node_modules/core-js/modules/es.math.fround.js","webpack://hm/./node_modules/core-js/modules/es.math.hypot.js","webpack://hm/./node_modules/core-js/modules/es.math.log10.js","webpack://hm/./node_modules/core-js/modules/es.math.log1p.js","webpack://hm/./node_modules/core-js/modules/es.math.log2.js","webpack://hm/./node_modules/core-js/modules/es.math.sign.js","webpack://hm/./node_modules/core-js/modules/es.math.sinh.js","webpack://hm/./node_modules/core-js/modules/es.math.tanh.js","webpack://hm/./node_modules/core-js/modules/es.math.to-string-tag.js","webpack://hm/./node_modules/core-js/modules/es.math.trunc.js","webpack://hm/./node_modules/core-js/modules/es.number.constructor.js","webpack://hm/./node_modules/core-js/modules/es.number.epsilon.js","webpack://hm/./node_modules/core-js/modules/es.number.is-integer.js","webpack://hm/./node_modules/core-js/modules/es.number.is-safe-integer.js","webpack://hm/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://hm/./node_modules/core-js/modules/es.number.min-safe-integer.js","webpack://hm/./node_modules/core-js/modules/es.number.parse-float.js","webpack://hm/./node_modules/core-js/modules/es.number.parse-int.js","webpack://hm/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://hm/./node_modules/core-js/modules/es.object.assign.js","webpack://hm/./node_modules/core-js/modules/es.object.define-getter.js","webpack://hm/./node_modules/core-js/modules/es.object.define-setter.js","webpack://hm/./node_modules/core-js/modules/es.object.entries.js","webpack://hm/./node_modules/core-js/modules/es.object.freeze.js","webpack://hm/./node_modules/core-js/modules/es.object.from-entries.js","webpack://hm/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://hm/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://hm/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://hm/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://hm/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://hm/./node_modules/core-js/modules/es.object.is-extensible.js","webpack://hm/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://hm/./node_modules/core-js/modules/es.object.is-sealed.js","webpack://hm/./node_modules/core-js/modules/es.object.keys.js","webpack://hm/./node_modules/core-js/modules/es.object.lookup-getter.js","webpack://hm/./node_modules/core-js/modules/es.object.lookup-setter.js","webpack://hm/./node_modules/core-js/modules/es.object.prevent-extensions.js","webpack://hm/./node_modules/core-js/modules/es.object.seal.js","webpack://hm/./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack://hm/./node_modules/core-js/modules/es.object.to-string.js","webpack://hm/./node_modules/core-js/modules/es.object.values.js","webpack://hm/./node_modules/core-js/modules/es.parse-float.js","webpack://hm/./node_modules/core-js/modules/es.parse-int.js","webpack://hm/./node_modules/core-js/modules/es.promise.all.js","webpack://hm/./node_modules/core-js/modules/es.promise.catch.js","webpack://hm/./node_modules/core-js/modules/es.promise.constructor.js","webpack://hm/./node_modules/core-js/modules/es.promise.finally.js","webpack://hm/./node_modules/core-js/modules/es.promise.js","webpack://hm/./node_modules/core-js/modules/es.promise.race.js","webpack://hm/./node_modules/core-js/modules/es.promise.reject.js","webpack://hm/./node_modules/core-js/modules/es.promise.resolve.js","webpack://hm/./node_modules/core-js/modules/es.reflect.apply.js","webpack://hm/./node_modules/core-js/modules/es.reflect.construct.js","webpack://hm/./node_modules/core-js/modules/es.reflect.define-property.js","webpack://hm/./node_modules/core-js/modules/es.reflect.delete-property.js","webpack://hm/./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","webpack://hm/./node_modules/core-js/modules/es.reflect.get-prototype-of.js","webpack://hm/./node_modules/core-js/modules/es.reflect.get.js","webpack://hm/./node_modules/core-js/modules/es.reflect.has.js","webpack://hm/./node_modules/core-js/modules/es.reflect.is-extensible.js","webpack://hm/./node_modules/core-js/modules/es.reflect.own-keys.js","webpack://hm/./node_modules/core-js/modules/es.reflect.prevent-extensions.js","webpack://hm/./node_modules/core-js/modules/es.reflect.set-prototype-of.js","webpack://hm/./node_modules/core-js/modules/es.reflect.set.js","webpack://hm/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://hm/./node_modules/core-js/modules/es.regexp.exec.js","webpack://hm/./node_modules/core-js/modules/es.regexp.flags.js","webpack://hm/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://hm/./node_modules/core-js/modules/es.set.constructor.js","webpack://hm/./node_modules/core-js/modules/es.set.js","webpack://hm/./node_modules/core-js/modules/es.string.code-point-at.js","webpack://hm/./node_modules/core-js/modules/es.string.ends-with.js","webpack://hm/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://hm/./node_modules/core-js/modules/es.string.includes.js","webpack://hm/./node_modules/core-js/modules/es.string.iterator.js","webpack://hm/./node_modules/core-js/modules/es.string.match.js","webpack://hm/./node_modules/core-js/modules/es.string.pad-end.js","webpack://hm/./node_modules/core-js/modules/es.string.pad-start.js","webpack://hm/./node_modules/core-js/modules/es.string.raw.js","webpack://hm/./node_modules/core-js/modules/es.string.repeat.js","webpack://hm/./node_modules/core-js/modules/es.string.replace.js","webpack://hm/./node_modules/core-js/modules/es.string.search.js","webpack://hm/./node_modules/core-js/modules/es.string.split.js","webpack://hm/./node_modules/core-js/modules/es.string.starts-with.js","webpack://hm/./node_modules/core-js/modules/es.string.trim-end.js","webpack://hm/./node_modules/core-js/modules/es.string.trim-left.js","webpack://hm/./node_modules/core-js/modules/es.string.trim-right.js","webpack://hm/./node_modules/core-js/modules/es.string.trim-start.js","webpack://hm/./node_modules/core-js/modules/es.string.trim.js","webpack://hm/./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://hm/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://hm/./node_modules/core-js/modules/es.symbol.description.js","webpack://hm/./node_modules/core-js/modules/es.symbol.for.js","webpack://hm/./node_modules/core-js/modules/es.symbol.has-instance.js","webpack://hm/./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://hm/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://hm/./node_modules/core-js/modules/es.symbol.js","webpack://hm/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://hm/./node_modules/core-js/modules/es.symbol.match.js","webpack://hm/./node_modules/core-js/modules/es.symbol.replace.js","webpack://hm/./node_modules/core-js/modules/es.symbol.search.js","webpack://hm/./node_modules/core-js/modules/es.symbol.species.js","webpack://hm/./node_modules/core-js/modules/es.symbol.split.js","webpack://hm/./node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://hm/./node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://hm/./node_modules/core-js/modules/es.symbol.unscopables.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.every.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.find.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.float64-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.from.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.int32-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.join.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.map.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.of.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.some.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.uint16-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://hm/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://hm/./node_modules/core-js/modules/es.weak-map.constructor.js","webpack://hm/./node_modules/core-js/modules/es.weak-map.js","webpack://hm/./node_modules/core-js/modules/es.weak-set.constructor.js","webpack://hm/./node_modules/core-js/modules/es.weak-set.js","webpack://hm/./node_modules/core-js/modules/web.clear-immediate.js","webpack://hm/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://hm/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://hm/./node_modules/core-js/modules/web.immediate.js","webpack://hm/./node_modules/core-js/modules/web.queue-microtask.js","webpack://hm/./node_modules/core-js/modules/web.set-immediate.js","webpack://hm/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://hm/./node_modules/core-js/modules/web.url-search-params.js","webpack://hm/./node_modules/core-js/modules/web.url.constructor.js","webpack://hm/./node_modules/core-js/modules/web.url.js","webpack://hm/./node_modules/core-js/modules/web.url.to-json.js","webpack://hm/./node_modules/date-fns/esm/_lib/defaultOptions/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack://hm/./node_modules/date-fns/esm/addDays/index.js","webpack://hm/./node_modules/date-fns/esm/addMonths/index.js","webpack://hm/./node_modules/date-fns/esm/add/index.js","webpack://hm/./node_modules/date-fns/esm/addMilliseconds/index.js","webpack://hm/./node_modules/date-fns/esm/startOfWeek/index.js","webpack://hm/./node_modules/date-fns/esm/startOfISOWeek/index.js","webpack://hm/./node_modules/date-fns/esm/getISOWeekYear/index.js","webpack://hm/./node_modules/date-fns/esm/startOfISOWeekYear/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://hm/./node_modules/date-fns/esm/startOfDay/index.js","webpack://hm/./node_modules/date-fns/esm/differenceInCalendarDays/index.js","webpack://hm/./node_modules/date-fns/esm/addYears/index.js","webpack://hm/./node_modules/date-fns/esm/constants/index.js","webpack://hm/./node_modules/date-fns/esm/isDate/index.js","webpack://hm/./node_modules/date-fns/esm/isValid/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://hm/./node_modules/date-fns/esm/eachDayOfInterval/index.js","webpack://hm/./node_modules/date-fns/esm/endOfWeek/index.js","webpack://hm/./node_modules/date-fns/esm/subMilliseconds/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/defaultLocale/index.js","webpack://hm/./node_modules/date-fns/esm/format/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/assign/index.js","webpack://hm/./node_modules/date-fns/esm/getDay/index.js","webpack://hm/./node_modules/date-fns/esm/getDaysInMonth/index.js","webpack://hm/./node_modules/date-fns/esm/getHours/index.js","webpack://hm/./node_modules/date-fns/esm/getISOWeek/index.js","webpack://hm/./node_modules/date-fns/esm/getMinutes/index.js","webpack://hm/./node_modules/date-fns/esm/getMonth/index.js","webpack://hm/./node_modules/date-fns/esm/getSeconds/index.js","webpack://hm/./node_modules/date-fns/esm/getYear/index.js","webpack://hm/./node_modules/date-fns/esm/isAfter/index.js","webpack://hm/./node_modules/date-fns/esm/isBefore/index.js","webpack://hm/./node_modules/date-fns/esm/isEqual/index.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/Setter.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/Parser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/constants.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/utils.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","webpack://hm/./node_modules/date-fns/esm/_lib/setUTCWeek/index.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","webpack://hm/./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","webpack://hm/./node_modules/date-fns/esm/_lib/setUTCDay/index.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","webpack://hm/./node_modules/date-fns/esm/_lib/setUTCISODay/index.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","webpack://hm/./node_modules/date-fns/esm/parse/_lib/parsers/index.js","webpack://hm/./node_modules/date-fns/esm/parse/index.js","webpack://hm/./node_modules/date-fns/esm/subDays/index.js","webpack://hm/./node_modules/date-fns/esm/parseISO/index.js","webpack://hm/./node_modules/date-fns/esm/setMonth/index.js","webpack://hm/./node_modules/date-fns/esm/set/index.js","webpack://hm/./node_modules/date-fns/esm/setHours/index.js","webpack://hm/./node_modules/date-fns/esm/setMilliseconds/index.js","webpack://hm/./node_modules/date-fns/esm/setMinutes/index.js","webpack://hm/./node_modules/date-fns/esm/setSeconds/index.js","webpack://hm/./node_modules/date-fns/esm/setYear/index.js","webpack://hm/./node_modules/date-fns/esm/subMonths/index.js","webpack://hm/./node_modules/date-fns/esm/sub/index.js","webpack://hm/./node_modules/date-fns/esm/subYears/index.js","webpack://hm/./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack://hm/./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack://hm/./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack://hm/./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-US/index.js","webpack://hm/./node_modules/date-fns/esm/locale/af/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/af/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/af/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-DZ/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/af/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-DZ/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-DZ/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-EG/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-DZ/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-DZ/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-EG/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-EG/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-MA/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-EG/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-EG/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-MA/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-MA/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-SA/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-MA/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-MA/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-SA/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-SA/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-TN/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-SA/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-SA/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-TN/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-TN/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/az/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-TN/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ar-TN/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/az/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/az/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/az/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/az/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/_lib/isSameUTCWeek/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be-tarask/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be-tarask/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be-tarask/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bg/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be-tarask/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/be-tarask/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bg/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bg/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bg/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bg/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bn/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bn/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bn/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bs/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bs/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/bs/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ca/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ca/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ca/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/cs/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/cs/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/cs/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/cy/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/cy/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/cy/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/da/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/da/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/da/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/de/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/de-AT/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/de/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/el/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/el/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/el/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-AU/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-CA/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-AU/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-CA/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-GB/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-CA/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-IN/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-GB/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-IE/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-NZ/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-IN/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-NZ/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-ZA/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eo/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/en-ZA/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eo/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eo/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eo/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eo/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/et/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/es/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/es/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/et/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/et/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/et/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eu/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/et/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eu/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eu/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fa-IR/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eu/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/eu/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fa-IR/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fa-IR/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fa-IR/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fa-IR/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fi/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fi/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fi/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fy/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fi/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fr/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fr/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fr-CA/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fr-CH/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fy/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fy/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gd/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fy/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/fy/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gd/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gd/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gl/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gd/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gd/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gl/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gl/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gu/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gl/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gl/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gu/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gu/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/he/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gu/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/gu/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/he/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/he/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/he/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/he/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hi/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hi/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hi/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hr/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hr/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hr/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ht/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hr/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hr/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ht/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ht/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hu/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ht/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ht/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hu/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hu/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hy/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hu/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hu/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hy/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hy/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/id/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hy/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/hy/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/id/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/id/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/is/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/id/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/id/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/is/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/is/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/it/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/is/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/is/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/it/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/it/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/it/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/it/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/it-CH/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja-Hira/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja-Hira/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja-Hira/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ka/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja-Hira/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ja-Hira/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ka/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ka/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kk/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ka/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ka/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kk/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kk/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kk/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/km/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kk/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/km/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/km/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kn/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/km/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/km/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kn/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kn/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ko/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kn/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/kn/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ko/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ko/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lb/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ko/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ko/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lb/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lb/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lt/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lb/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lb/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lt/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lt/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lt/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lt/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lv/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lv/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lv/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lv/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/lv/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mk/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mk/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mk/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mn/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mn/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mn/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ms/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ms/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ms/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mk/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mt/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mt/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mt/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nb/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mt/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/mt/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nb/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nb/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nb/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nb/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl-BE/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl-BE/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl-BE/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nn/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl-BE/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nl-BE/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nn/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nn/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/oc/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nn/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/nn/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/oc/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/oc/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pl/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/oc/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/oc/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pl/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pl/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pl/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pl/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt-BR/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt-BR/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt-BR/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ro/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt-BR/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/pt-BR/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ro/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ro/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ro/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ro/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ru/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ru/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ru/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ru/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ru/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ru/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sk/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sk/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sk/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sk/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sk/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sl/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sl/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sl/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sq/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sl/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sl/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sq/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sq/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sq/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sq/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr-Latn/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr-Latn/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr-Latn/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sv/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr-Latn/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sr-Latn/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sv/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sv/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sv/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/sv/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ta/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ta/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ta/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/te/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ta/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ta/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/te/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/te/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/th/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/te/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/te/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/th/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/th/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/tr/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/th/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/th/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/tr/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/tr/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ug/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/tr/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/tr/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ug/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ug/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ug/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/ug/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uk/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uk/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uk/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uk/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uk/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz-Cyrl/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz-Cyrl/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz-Cyrl/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/vi/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz-Cyrl/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/uz-Cyrl/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/vi/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/vi/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-CN/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/vi/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/vi/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-CN/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-CN/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-HK/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-CN/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-CN/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-HK/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-HK/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-TW/_lib/formatDistance/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-HK/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-HK/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-TW/_lib/formatLong/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-TW/_lib/formatRelative/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-TW/_lib/localize/index.js","webpack://hm/./node_modules/date-fns/esm/locale/zh-TW/_lib/match/index.js","webpack://hm/./node_modules/date-fns/esm/toDate/index.js","webpack://hm/./node_modules/globalize/dist/globalize.js","webpack://hm/./node_modules/globalize/dist/globalize/currency.js","webpack://hm/./node_modules/globalize/dist/globalize/date.js","webpack://hm/./node_modules/globalize/dist/globalize/message.js","webpack://hm/./node_modules/globalize/dist/globalize/number.js","webpack://hm/./node_modules/globalize/dist/globalize/plural.js","webpack://hm/./node_modules/globalize/dist/globalize/relative-time.js","webpack://hm/./node_modules/globalize/dist/globalize/unit.js","webpack://hm/./node_modules/html-screen-capture-js/dist/html-screen-capture.esm.js","webpack://hm/./node_modules/intl-tel-input/build/js/intlTelInput.js","webpack://hm/./node_modules/intl-tel-input/build/js/utils.js","webpack://hm/./node_modules/intl-tel-input/index.js","webpack://hm/./node_modules/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.js","webpack://hm/./node_modules/jquery-validation/dist/jquery.validate.js","webpack://hm/./node_modules/jquery-validation/dist/localization/messages_ru.js","webpack://hm/./node_modules/js-cookie/src/js.cookie.js","webpack://hm/./node_modules/jssocials/dist/jssocials.js","webpack://hm/./node_modules/linkify-it/index.js","webpack://hm/./node_modules/linkify-it/lib/re.js","webpack://hm/./node_modules/lodash.debounce/index.js","webpack://hm/./node_modules/lodash.memoize/index.js","webpack://hm/./node_modules/lodash.throttle/index.js","webpack://hm/./node_modules/lodash/_DataView.js","webpack://hm/./node_modules/lodash/_Hash.js","webpack://hm/./node_modules/lodash/_ListCache.js","webpack://hm/./node_modules/lodash/_Map.js","webpack://hm/./node_modules/lodash/_MapCache.js","webpack://hm/./node_modules/lodash/_Promise.js","webpack://hm/./node_modules/lodash/_Set.js","webpack://hm/./node_modules/lodash/_SetCache.js","webpack://hm/./node_modules/lodash/_Stack.js","webpack://hm/./node_modules/lodash/_Symbol.js","webpack://hm/./node_modules/lodash/_Uint8Array.js","webpack://hm/./node_modules/lodash/_WeakMap.js","webpack://hm/./node_modules/lodash/_apply.js","webpack://hm/./node_modules/lodash/_arrayEach.js","webpack://hm/./node_modules/lodash/_arrayFilter.js","webpack://hm/./node_modules/lodash/_arrayLikeKeys.js","webpack://hm/./node_modules/lodash/_arrayMap.js","webpack://hm/./node_modules/lodash/_arrayPush.js","webpack://hm/./node_modules/lodash/_arraySome.js","webpack://hm/./node_modules/lodash/_assignMergeValue.js","webpack://hm/./node_modules/lodash/_assignValue.js","webpack://hm/./node_modules/lodash/_assocIndexOf.js","webpack://hm/./node_modules/lodash/_baseAssign.js","webpack://hm/./node_modules/lodash/_baseAssignIn.js","webpack://hm/./node_modules/lodash/_baseAssignValue.js","webpack://hm/./node_modules/lodash/_baseClone.js","webpack://hm/./node_modules/lodash/_baseCreate.js","webpack://hm/./node_modules/lodash/_baseFor.js","webpack://hm/./node_modules/lodash/_baseForOwn.js","webpack://hm/./node_modules/lodash/_baseGet.js","webpack://hm/./node_modules/lodash/_baseGetAllKeys.js","webpack://hm/./node_modules/lodash/_baseGetTag.js","webpack://hm/./node_modules/lodash/_baseHasIn.js","webpack://hm/./node_modules/lodash/_baseIsArguments.js","webpack://hm/./node_modules/lodash/_baseIsEqual.js","webpack://hm/./node_modules/lodash/_baseIsEqualDeep.js","webpack://hm/./node_modules/lodash/_baseIsMap.js","webpack://hm/./node_modules/lodash/_baseIsMatch.js","webpack://hm/./node_modules/lodash/_baseIsNative.js","webpack://hm/./node_modules/lodash/_baseIsSet.js","webpack://hm/./node_modules/lodash/_baseIsTypedArray.js","webpack://hm/./node_modules/lodash/_baseIteratee.js","webpack://hm/./node_modules/lodash/_baseKeys.js","webpack://hm/./node_modules/lodash/_baseKeysIn.js","webpack://hm/./node_modules/lodash/_baseMatches.js","webpack://hm/./node_modules/lodash/_baseMatchesProperty.js","webpack://hm/./node_modules/lodash/_baseMerge.js","webpack://hm/./node_modules/lodash/_baseMergeDeep.js","webpack://hm/./node_modules/lodash/_baseProperty.js","webpack://hm/./node_modules/lodash/_basePropertyDeep.js","webpack://hm/./node_modules/lodash/_baseRest.js","webpack://hm/./node_modules/lodash/_baseSet.js","webpack://hm/./node_modules/lodash/_baseSetToString.js","webpack://hm/./node_modules/lodash/_baseTimes.js","webpack://hm/./node_modules/lodash/_baseToString.js","webpack://hm/./node_modules/lodash/_baseTrim.js","webpack://hm/./node_modules/lodash/_baseUnary.js","webpack://hm/./node_modules/lodash/_cacheHas.js","webpack://hm/./node_modules/lodash/_castPath.js","webpack://hm/./node_modules/lodash/_cloneArrayBuffer.js","webpack://hm/./node_modules/lodash/_cloneBuffer.js","webpack://hm/./node_modules/lodash/_cloneDataView.js","webpack://hm/./node_modules/lodash/_cloneRegExp.js","webpack://hm/./node_modules/lodash/_cloneSymbol.js","webpack://hm/./node_modules/lodash/_cloneTypedArray.js","webpack://hm/./node_modules/lodash/_copyArray.js","webpack://hm/./node_modules/lodash/_copyObject.js","webpack://hm/./node_modules/lodash/_copySymbols.js","webpack://hm/./node_modules/lodash/_copySymbolsIn.js","webpack://hm/./node_modules/lodash/_coreJsData.js","webpack://hm/./node_modules/lodash/_createAssigner.js","webpack://hm/./node_modules/lodash/_createBaseFor.js","webpack://hm/./node_modules/lodash/_customDefaultsMerge.js","webpack://hm/./node_modules/lodash/_defineProperty.js","webpack://hm/./node_modules/lodash/_equalArrays.js","webpack://hm/./node_modules/lodash/_equalByTag.js","webpack://hm/./node_modules/lodash/_equalObjects.js","webpack://hm/./node_modules/lodash/_freeGlobal.js","webpack://hm/./node_modules/lodash/_getAllKeys.js","webpack://hm/./node_modules/lodash/_getAllKeysIn.js","webpack://hm/./node_modules/lodash/_getMapData.js","webpack://hm/./node_modules/lodash/_getMatchData.js","webpack://hm/./node_modules/lodash/_getNative.js","webpack://hm/./node_modules/lodash/_getPrototype.js","webpack://hm/./node_modules/lodash/_getRawTag.js","webpack://hm/./node_modules/lodash/_getSymbols.js","webpack://hm/./node_modules/lodash/_getSymbolsIn.js","webpack://hm/./node_modules/lodash/_getTag.js","webpack://hm/./node_modules/lodash/_getValue.js","webpack://hm/./node_modules/lodash/_hasPath.js","webpack://hm/./node_modules/lodash/_hashClear.js","webpack://hm/./node_modules/lodash/_hashDelete.js","webpack://hm/./node_modules/lodash/_hashGet.js","webpack://hm/./node_modules/lodash/_hashHas.js","webpack://hm/./node_modules/lodash/_hashSet.js","webpack://hm/./node_modules/lodash/_initCloneArray.js","webpack://hm/./node_modules/lodash/_initCloneByTag.js","webpack://hm/./node_modules/lodash/_initCloneObject.js","webpack://hm/./node_modules/lodash/_isIndex.js","webpack://hm/./node_modules/lodash/_isIterateeCall.js","webpack://hm/./node_modules/lodash/_isKey.js","webpack://hm/./node_modules/lodash/_isKeyable.js","webpack://hm/./node_modules/lodash/_isMasked.js","webpack://hm/./node_modules/lodash/_isPrototype.js","webpack://hm/./node_modules/lodash/_isStrictComparable.js","webpack://hm/./node_modules/lodash/_listCacheClear.js","webpack://hm/./node_modules/lodash/_listCacheDelete.js","webpack://hm/./node_modules/lodash/_listCacheGet.js","webpack://hm/./node_modules/lodash/_listCacheHas.js","webpack://hm/./node_modules/lodash/_listCacheSet.js","webpack://hm/./node_modules/lodash/_mapCacheClear.js","webpack://hm/./node_modules/lodash/_mapCacheDelete.js","webpack://hm/./node_modules/lodash/_mapCacheGet.js","webpack://hm/./node_modules/lodash/_mapCacheHas.js","webpack://hm/./node_modules/lodash/_mapCacheSet.js","webpack://hm/./node_modules/lodash/_mapToArray.js","webpack://hm/./node_modules/lodash/_matchesStrictComparable.js","webpack://hm/./node_modules/lodash/_memoizeCapped.js","webpack://hm/./node_modules/lodash/_nativeCreate.js","webpack://hm/./node_modules/lodash/_nativeKeys.js","webpack://hm/./node_modules/lodash/_nativeKeysIn.js","webpack://hm/./node_modules/lodash/_nodeUtil.js","webpack://hm/./node_modules/lodash/_objectToString.js","webpack://hm/./node_modules/lodash/_overArg.js","webpack://hm/./node_modules/lodash/_overRest.js","webpack://hm/./node_modules/lodash/_root.js","webpack://hm/./node_modules/lodash/_safeGet.js","webpack://hm/./node_modules/lodash/_setCacheAdd.js","webpack://hm/./node_modules/lodash/_setCacheHas.js","webpack://hm/./node_modules/lodash/_setToArray.js","webpack://hm/./node_modules/lodash/_setToString.js","webpack://hm/./node_modules/lodash/_shortOut.js","webpack://hm/./node_modules/lodash/_stackClear.js","webpack://hm/./node_modules/lodash/_stackDelete.js","webpack://hm/./node_modules/lodash/_stackGet.js","webpack://hm/./node_modules/lodash/_stackHas.js","webpack://hm/./node_modules/lodash/_stackSet.js","webpack://hm/./node_modules/lodash/_stringToPath.js","webpack://hm/./node_modules/lodash/_toKey.js","webpack://hm/./node_modules/lodash/_toSource.js","webpack://hm/./node_modules/lodash/_trimmedEndIndex.js","webpack://hm/./node_modules/lodash/constant.js","webpack://hm/./node_modules/lodash/defaultsDeep.js","webpack://hm/./node_modules/lodash/eq.js","webpack://hm/./node_modules/lodash/get.js","webpack://hm/./node_modules/lodash/hasIn.js","webpack://hm/./node_modules/lodash/identity.js","webpack://hm/./node_modules/lodash/isArguments.js","webpack://hm/./node_modules/lodash/isArray.js","webpack://hm/./node_modules/lodash/isArrayLike.js","webpack://hm/./node_modules/lodash/isArrayLikeObject.js","webpack://hm/./node_modules/lodash/isBuffer.js","webpack://hm/./node_modules/lodash/isFunction.js","webpack://hm/./node_modules/lodash/isLength.js","webpack://hm/./node_modules/lodash/isMap.js","webpack://hm/./node_modules/lodash/isObjectLike.js","webpack://hm/./node_modules/lodash/isPlainObject.js","webpack://hm/./node_modules/lodash/isSet.js","webpack://hm/./node_modules/lodash/isSymbol.js","webpack://hm/./node_modules/lodash/isTypedArray.js","webpack://hm/./node_modules/lodash/keys.js","webpack://hm/./node_modules/lodash/keysIn.js","webpack://hm/./node_modules/lodash/memoize.js","webpack://hm/./node_modules/lodash/mergeWith.js","webpack://hm/./node_modules/lodash/now.js","webpack://hm/./node_modules/lodash/property.js","webpack://hm/./node_modules/lodash/set.js","webpack://hm/./node_modules/lodash/stubArray.js","webpack://hm/./node_modules/lodash/stubFalse.js","webpack://hm/./node_modules/lodash/toNumber.js","webpack://hm/./node_modules/lodash/toPlainObject.js","webpack://hm/./node_modules/lodash/toString.js","webpack://hm/./node_modules/markdown-it/index.js","webpack://hm/./node_modules/markdown-it/lib/common/entities.js","webpack://hm/./node_modules/markdown-it/lib/common/html_blocks.js","webpack://hm/./node_modules/markdown-it/lib/common/html_re.js","webpack://hm/./node_modules/markdown-it/lib/common/utils.js","webpack://hm/./node_modules/markdown-it/lib/helpers/index.js","webpack://hm/./node_modules/markdown-it/lib/helpers/parse_link_destination.js","webpack://hm/./node_modules/markdown-it/lib/helpers/parse_link_label.js","webpack://hm/./node_modules/markdown-it/lib/helpers/parse_link_title.js","webpack://hm/./node_modules/markdown-it/lib/index.js","webpack://hm/./node_modules/markdown-it/lib/parser_block.js","webpack://hm/./node_modules/markdown-it/lib/parser_core.js","webpack://hm/./node_modules/markdown-it/lib/parser_inline.js","webpack://hm/./node_modules/markdown-it/lib/presets/commonmark.js","webpack://hm/./node_modules/markdown-it/lib/presets/default.js","webpack://hm/./node_modules/markdown-it/lib/presets/zero.js","webpack://hm/./node_modules/markdown-it/lib/renderer.js","webpack://hm/./node_modules/markdown-it/lib/ruler.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/blockquote.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/code.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/fence.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/heading.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/hr.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/html_block.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/lheading.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/list.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/paragraph.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/reference.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/state_block.js","webpack://hm/./node_modules/markdown-it/lib/rules_block/table.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/block.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/inline.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/linkify.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/normalize.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/replacements.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/smartquotes.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/state_core.js","webpack://hm/./node_modules/markdown-it/lib/rules_core/text_join.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/autolink.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/backticks.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/balance_pairs.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/emphasis.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/entity.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/escape.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/fragments_join.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/html_inline.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/image.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/link.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/linkify.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/newline.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/state_inline.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/strikethrough.js","webpack://hm/./node_modules/markdown-it/lib/rules_inline/text.js","webpack://hm/./node_modules/markdown-it/lib/token.js","webpack://hm/./node_modules/mdurl/decode.js","webpack://hm/./node_modules/mdurl/encode.js","webpack://hm/./node_modules/mdurl/format.js","webpack://hm/./node_modules/mdurl/index.js","webpack://hm/./node_modules/mdurl/parse.js","webpack://hm/./node_modules/moment/locale/en-au.js","webpack://hm/./node_modules/moment/locale/en-ca.js","webpack://hm/./node_modules/moment/locale/en-gb.js","webpack://hm/./node_modules/moment/locale/en-ie.js","webpack://hm/./node_modules/moment/locale/en-il.js","webpack://hm/./node_modules/moment/locale/en-in.js","webpack://hm/./node_modules/moment/locale/en-nz.js","webpack://hm/./node_modules/moment/locale/en-sg.js","webpack://hm/./node_modules/moment/locale/ru.js","webpack://hm/./node_modules/punycode/punycode.es6.js","webpack://hm/./node_modules/rateyo/min/jquery.rateyo.min.js","webpack://hm/./node_modules/regenerator-runtime/runtime.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/freeze.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/element.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/global.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/process.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","webpack://hm/./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","webpack://hm/./node_modules/simplebar/dist/simplebar.esm.js","webpack://hm/./node_modules/timeme.js/timeme.js","webpack://hm/./node_modules/uc.micro/categories/Cc/regex.js","webpack://hm/./node_modules/uc.micro/categories/Cf/regex.js","webpack://hm/./node_modules/uc.micro/categories/P/regex.js","webpack://hm/./node_modules/uc.micro/categories/Z/regex.js","webpack://hm/./node_modules/uc.micro/index.js","webpack://hm/./node_modules/uc.micro/properties/Any/regex.js","webpack://hm/./node_modules/vue-loader/dist/exportHelper.js","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/mixins/autoplay.js","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/utils/debounce.js","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/Navigation.vue","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/Navigation.vue?365a","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/Pagination.vue","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/Pagination.vue?406c","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/Carousel.vue","webpack://hm/./node_modules/@centaurea/vue3-carousel/src/Slide.vue","webpack://hm/./node_modules/axios/lib/helpers/bind.js","webpack://hm/./node_modules/axios/lib/utils.js","webpack://hm/./node_modules/axios/lib/core/AxiosError.js","webpack://hm/./node_modules/axios/lib/helpers/toFormData.js","webpack://hm/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://hm/./node_modules/axios/lib/helpers/buildURL.js","webpack://hm/./node_modules/axios/lib/core/InterceptorManager.js","webpack://hm/./node_modules/axios/lib/defaults/transitional.js","webpack://hm/./node_modules/axios/lib/platform/browser/index.js","webpack://hm/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://hm/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://hm/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://hm/./node_modules/axios/lib/platform/common/utils.js","webpack://hm/./node_modules/axios/lib/platform/index.js","webpack://hm/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://hm/./node_modules/axios/lib/defaults/index.js","webpack://hm/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://hm/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://hm/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://hm/./node_modules/axios/lib/core/transformData.js","webpack://hm/./node_modules/axios/lib/cancel/isCancel.js","webpack://hm/./node_modules/axios/lib/cancel/CanceledError.js","webpack://hm/./node_modules/axios/lib/helpers/cookies.js","webpack://hm/./node_modules/axios/lib/core/buildFullPath.js","webpack://hm/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://hm/./node_modules/axios/lib/helpers/combineURLs.js","webpack://hm/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://hm/./node_modules/axios/lib/helpers/speedometer.js","webpack://hm/./node_modules/axios/lib/adapters/xhr.js","webpack://hm/./node_modules/axios/lib/adapters/adapters.js","webpack://hm/./node_modules/axios/lib/helpers/null.js","webpack://hm/./node_modules/axios/lib/core/settle.js","webpack://hm/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://hm/./node_modules/axios/lib/core/dispatchRequest.js","webpack://hm/./node_modules/axios/lib/core/mergeConfig.js","webpack://hm/./node_modules/axios/lib/env/data.js","webpack://hm/./node_modules/axios/lib/helpers/validator.js","webpack://hm/./node_modules/axios/lib/core/Axios.js","webpack://hm/./node_modules/axios/lib/cancel/CancelToken.js","webpack://hm/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://hm/./node_modules/axios/lib/axios.js","webpack://hm/./node_modules/axios/lib/helpers/spread.js","webpack://hm/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://hm/./node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js"],"sourcesContent":["// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Platform, getGlobalThis, isArrayBuffer } from \"./Utils\";\r\nexport class FetchHttpClient extends HttpClient {\r\n constructor(logger) {\r\n super();\r\n this._logger = logger;\r\n if (typeof fetch === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n // Cookies aren't automatically handled in Node so we need to add a CookieJar to preserve cookies across requests\r\n this._jar = new (requireFunc(\"tough-cookie\")).CookieJar();\r\n this._fetchType = requireFunc(\"node-fetch\");\r\n // node-fetch doesn't have a nice API for getting and setting cookies\r\n // fetch-cookie will wrap a fetch implementation with a default CookieJar or a provided one\r\n this._fetchType = requireFunc(\"fetch-cookie\")(this._fetchType, this._jar);\r\n }\r\n else {\r\n this._fetchType = fetch.bind(getGlobalThis());\r\n }\r\n if (typeof AbortController === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n // Node needs EventListener methods on AbortController which our custom polyfill doesn't provide\r\n this._abortControllerType = requireFunc(\"abort-controller\");\r\n }\r\n else {\r\n this._abortControllerType = AbortController;\r\n }\r\n }\r\n /** @inheritDoc */\r\n async send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n throw new AbortError();\r\n }\r\n if (!request.method) {\r\n throw new Error(\"No method defined.\");\r\n }\r\n if (!request.url) {\r\n throw new Error(\"No url defined.\");\r\n }\r\n const abortController = new this._abortControllerType();\r\n let error;\r\n // Hook our abortSignal into the abort controller\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n abortController.abort();\r\n error = new AbortError();\r\n };\r\n }\r\n // If a timeout has been passed in, setup a timeout to call abort\r\n // Type needs to be any to fit window.setTimeout and NodeJS.setTimeout\r\n let timeoutId = null;\r\n if (request.timeout) {\r\n const msTimeout = request.timeout;\r\n timeoutId = setTimeout(() => {\r\n abortController.abort();\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n error = new TimeoutError();\r\n }, msTimeout);\r\n }\r\n if (request.content === \"\") {\r\n request.content = undefined;\r\n }\r\n if (request.content) {\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n request.headers = request.headers || {};\r\n if (isArrayBuffer(request.content)) {\r\n request.headers[\"Content-Type\"] = \"application/octet-stream\";\r\n }\r\n else {\r\n request.headers[\"Content-Type\"] = \"text/plain;charset=UTF-8\";\r\n }\r\n }\r\n let response;\r\n try {\r\n response = await this._fetchType(request.url, {\r\n body: request.content,\r\n cache: \"no-cache\",\r\n credentials: request.withCredentials === true ? \"include\" : \"same-origin\",\r\n headers: {\r\n \"X-Requested-With\": \"XMLHttpRequest\",\r\n ...request.headers,\r\n },\r\n method: request.method,\r\n mode: \"cors\",\r\n redirect: \"follow\",\r\n signal: abortController.signal,\r\n });\r\n }\r\n catch (e) {\r\n if (error) {\r\n throw error;\r\n }\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${e}.`);\r\n throw e;\r\n }\r\n finally {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n }\r\n if (!response.ok) {\r\n const errorMessage = await deserializeContent(response, \"text\");\r\n throw new HttpError(errorMessage || response.statusText, response.status);\r\n }\r\n const content = deserializeContent(response, request.responseType);\r\n const payload = await content;\r\n return new HttpResponse(response.status, response.statusText, payload);\r\n }\r\n getCookieString(url) {\r\n let cookies = \"\";\r\n if (Platform.isNode && this._jar) {\r\n // @ts-ignore: unused variable\r\n this._jar.getCookies(url, (e, c) => cookies = c.join(\"; \"));\r\n }\r\n return cookies;\r\n }\r\n}\r\nfunction deserializeContent(response, responseType) {\r\n let content;\r\n switch (responseType) {\r\n case \"arraybuffer\":\r\n content = response.arrayBuffer();\r\n break;\r\n case \"text\":\r\n content = response.text();\r\n break;\r\n case \"blob\":\r\n case \"document\":\r\n case \"json\":\r\n throw new Error(`${responseType} is not supported.`);\r\n default:\r\n content = response.text();\r\n break;\r\n }\r\n return content;\r\n}\r\n//# sourceMappingURL=FetchHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\nexport class XhrHttpClient extends HttpClient {\r\n constructor(logger) {\r\n super();\r\n this._logger = logger;\r\n }\r\n /** @inheritDoc */\r\n send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest();\r\n xhr.open(request.method, request.url, true);\r\n xhr.withCredentials = request.withCredentials === undefined ? true : request.withCredentials;\r\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\r\n if (request.content === \"\") {\r\n request.content = undefined;\r\n }\r\n if (request.content) {\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n if (isArrayBuffer(request.content)) {\r\n xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\r\n }\r\n else {\r\n xhr.setRequestHeader(\"Content-Type\", \"text/plain;charset=UTF-8\");\r\n }\r\n }\r\n const headers = request.headers;\r\n if (headers) {\r\n Object.keys(headers)\r\n .forEach((header) => {\r\n xhr.setRequestHeader(header, headers[header]);\r\n });\r\n }\r\n if (request.responseType) {\r\n xhr.responseType = request.responseType;\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n xhr.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n if (request.timeout) {\r\n xhr.timeout = request.timeout;\r\n }\r\n xhr.onload = () => {\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText));\r\n }\r\n else {\r\n reject(new HttpError(xhr.response || xhr.responseText || xhr.statusText, xhr.status));\r\n }\r\n };\r\n xhr.onerror = () => {\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${xhr.status}: ${xhr.statusText}.`);\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n };\r\n xhr.ontimeout = () => {\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n reject(new TimeoutError());\r\n };\r\n xhr.send(request.content);\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=XhrHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError } from \"./Errors\";\r\nimport { FetchHttpClient } from \"./FetchHttpClient\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { Platform } from \"./Utils\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n/** Default implementation of {@link @microsoft/signalr.HttpClient}. */\r\nexport class DefaultHttpClient extends HttpClient {\r\n /** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */\r\n constructor(logger) {\r\n super();\r\n if (typeof fetch !== \"undefined\" || Platform.isNode) {\r\n this._httpClient = new FetchHttpClient(logger);\r\n }\r\n else if (typeof XMLHttpRequest !== \"undefined\") {\r\n this._httpClient = new XhrHttpClient(logger);\r\n }\r\n else {\r\n throw new Error(\"No usable HttpClient found.\");\r\n }\r\n }\r\n /** @inheritDoc */\r\n send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return this._httpClient.send(request);\r\n }\r\n getCookieString(url) {\r\n return this._httpClient.getCookieString(url);\r\n }\r\n}\r\n//# sourceMappingURL=DefaultHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Error thrown when an HTTP request fails. */\r\nexport class HttpError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n * @param {number} statusCode The HTTP status code represented by this error.\r\n */\r\n constructor(errorMessage, statusCode) {\r\n const trueProto = new.target.prototype;\r\n super(`${errorMessage}: Status code '${statusCode}'`);\r\n this.statusCode = statusCode;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when a timeout elapses. */\r\nexport class TimeoutError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.TimeoutError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage = \"A timeout occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when an action is aborted. */\r\nexport class AbortError extends Error {\r\n /** Constructs a new instance of {@link AbortError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage = \"An abort occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport is unsupported by the browser. */\r\n/** @private */\r\nexport class UnsupportedTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.UnsupportedTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occurred on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'UnsupportedTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport is disabled by the browser. */\r\n/** @private */\r\nexport class DisabledTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.DisabledTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occurred on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'DisabledTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport cannot be started. */\r\n/** @private */\r\nexport class FailedToStartTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToStartTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occurred on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'FailedToStartTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the negotiation with the server failed to complete. */\r\n/** @private */\r\nexport class FailedToNegotiateWithServerError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToNegotiateWithServerError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n */\r\n constructor(message) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.errorType = 'FailedToNegotiateWithServerError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when multiple errors have occurred. */\r\n/** @private */\r\nexport class AggregateErrors extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.AggregateErrors}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {Error[]} innerErrors The collection of errors this error is aggregating.\r\n */\r\n constructor(message, innerErrors) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.innerErrors = innerErrors;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n//# sourceMappingURL=Errors.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Represents an HTTP response. */\r\nexport class HttpResponse {\r\n constructor(statusCode, statusText, content) {\r\n this.statusCode = statusCode;\r\n this.statusText = statusText;\r\n this.content = content;\r\n }\r\n}\r\n/** Abstraction over an HTTP client.\r\n *\r\n * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms.\r\n */\r\nexport class HttpClient {\r\n get(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"GET\",\r\n url,\r\n });\r\n }\r\n post(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"POST\",\r\n url,\r\n });\r\n }\r\n delete(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"DELETE\",\r\n url,\r\n });\r\n }\r\n /** Gets all cookies that apply to the specified URL.\r\n *\r\n * @param url The URL that the cookies are valid for.\r\n * @returns {string} A string containing all the key-value cookie pairs for the specified URL.\r\n */\r\n // @ts-ignore\r\n getCookieString(url) {\r\n return \"\";\r\n }\r\n}\r\n//# sourceMappingURL=HttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n/** @private */\r\nexport class HandshakeProtocol {\r\n // Handshake request is always JSON\r\n writeHandshakeRequest(handshakeRequest) {\r\n return TextMessageFormat.write(JSON.stringify(handshakeRequest));\r\n }\r\n parseHandshakeResponse(data) {\r\n let messageData;\r\n let remainingData;\r\n if (isArrayBuffer(data)) {\r\n // Format is binary but still need to read JSON text from handshake response\r\n const binaryData = new Uint8Array(data);\r\n const separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = String.fromCharCode.apply(null, Array.prototype.slice.call(binaryData.slice(0, responseLength)));\r\n remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null;\r\n }\r\n else {\r\n const textData = data;\r\n const separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = textData.substring(0, responseLength);\r\n remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null;\r\n }\r\n // At this point we should have just the single handshake message\r\n const messages = TextMessageFormat.parse(messageData);\r\n const response = JSON.parse(messages[0]);\r\n if (response.type) {\r\n throw new Error(\"Expected a handshake response from the server.\");\r\n }\r\n const responseMessage = response;\r\n // multiple messages could have arrived with handshake\r\n // return additional data to be parsed as usual, or null if all parsed\r\n return [remainingData, responseMessage];\r\n }\r\n}\r\n//# sourceMappingURL=HandshakeProtocol.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HandshakeProtocol } from \"./HandshakeProtocol\";\r\nimport { AbortError } from \"./Errors\";\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Subject } from \"./Subject\";\r\nimport { Arg, getErrorString, Platform } from \"./Utils\";\r\nconst DEFAULT_TIMEOUT_IN_MS = 30 * 1000;\r\nconst DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000;\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport var HubConnectionState;\r\n(function (HubConnectionState) {\r\n /** The hub connection is disconnected. */\r\n HubConnectionState[\"Disconnected\"] = \"Disconnected\";\r\n /** The hub connection is connecting. */\r\n HubConnectionState[\"Connecting\"] = \"Connecting\";\r\n /** The hub connection is connected. */\r\n HubConnectionState[\"Connected\"] = \"Connected\";\r\n /** The hub connection is disconnecting. */\r\n HubConnectionState[\"Disconnecting\"] = \"Disconnecting\";\r\n /** The hub connection is reconnecting. */\r\n HubConnectionState[\"Reconnecting\"] = \"Reconnecting\";\r\n})(HubConnectionState || (HubConnectionState = {}));\r\n/** Represents a connection to a SignalR Hub. */\r\nexport class HubConnection {\r\n constructor(connection, logger, protocol, reconnectPolicy) {\r\n this._nextKeepAlive = 0;\r\n this._freezeEventListener = () => {\r\n this._logger.log(LogLevel.Warning, \"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep\");\r\n };\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n this._logger = logger;\r\n this._protocol = protocol;\r\n this.connection = connection;\r\n this._reconnectPolicy = reconnectPolicy;\r\n this._handshakeProtocol = new HandshakeProtocol();\r\n this.connection.onreceive = (data) => this._processIncomingData(data);\r\n this.connection.onclose = (error) => this._connectionClosed(error);\r\n this._callbacks = {};\r\n this._methods = {};\r\n this._closedCallbacks = [];\r\n this._reconnectingCallbacks = [];\r\n this._reconnectedCallbacks = [];\r\n this._invocationId = 0;\r\n this._receivedHandshakeResponse = false;\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n this._cachedPingMessage = this._protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n static create(connection, logger, protocol, reconnectPolicy) {\r\n return new HubConnection(connection, logger, protocol, reconnectPolicy);\r\n }\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get state() {\r\n return this._connectionState;\r\n }\r\n /** Represents the connection id of the {@link HubConnection} on the server. The connection id will be null when the connection is either\r\n * in the disconnected state or if the negotiation step was skipped.\r\n */\r\n get connectionId() {\r\n return this.connection ? (this.connection.connectionId || null) : null;\r\n }\r\n /** Indicates the url of the {@link HubConnection} to the server. */\r\n get baseUrl() {\r\n return this.connection.baseUrl || \"\";\r\n }\r\n /**\r\n * Sets a new url for the HubConnection. Note that the url can only be changed when the connection is in either the Disconnected or\r\n * Reconnecting states.\r\n * @param {string} url The url to connect to.\r\n */\r\n set baseUrl(url) {\r\n if (this._connectionState !== HubConnectionState.Disconnected && this._connectionState !== HubConnectionState.Reconnecting) {\r\n throw new Error(\"The HubConnection must be in the Disconnected or Reconnecting state to change the url.\");\r\n }\r\n if (!url) {\r\n throw new Error(\"The HubConnection url must be a valid url.\");\r\n }\r\n this.connection.baseUrl = url;\r\n }\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n start() {\r\n this._startPromise = this._startWithStateTransitions();\r\n return this._startPromise;\r\n }\r\n async _startWithStateTransitions() {\r\n if (this._connectionState !== HubConnectionState.Disconnected) {\r\n return Promise.reject(new Error(\"Cannot start a HubConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n this._connectionState = HubConnectionState.Connecting;\r\n this._logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n try {\r\n await this._startInternal();\r\n if (Platform.isBrowser) {\r\n // Log when the browser freezes the tab so users know why their connection unexpectedly stopped working\r\n window.document.addEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n this._connectionState = HubConnectionState.Connected;\r\n this._connectionStarted = true;\r\n this._logger.log(LogLevel.Debug, \"HubConnection connected successfully.\");\r\n }\r\n catch (e) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._logger.log(LogLevel.Debug, `HubConnection failed to start successfully because of error '${e}'.`);\r\n return Promise.reject(e);\r\n }\r\n }\r\n async _startInternal() {\r\n this._stopDuringStartError = undefined;\r\n this._receivedHandshakeResponse = false;\r\n // Set up the promise before any connection is (re)started otherwise it could race with received messages\r\n const handshakePromise = new Promise((resolve, reject) => {\r\n this._handshakeResolver = resolve;\r\n this._handshakeRejecter = reject;\r\n });\r\n await this.connection.start(this._protocol.transferFormat);\r\n try {\r\n const handshakeRequest = {\r\n protocol: this._protocol.name,\r\n version: this._protocol.version,\r\n };\r\n this._logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(handshakeRequest));\r\n this._logger.log(LogLevel.Information, `Using HubProtocol '${this._protocol.name}'.`);\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this._cleanupTimeout();\r\n this._resetTimeoutPeriod();\r\n this._resetKeepAliveInterval();\r\n await handshakePromise;\r\n // It's important to check the stopDuringStartError instead of just relying on the handshakePromise\r\n // being rejected on close, because this continuation can run after both the handshake completed successfully\r\n // and the connection was closed.\r\n if (this._stopDuringStartError) {\r\n // It's important to throw instead of returning a rejected promise, because we don't want to allow any state\r\n // transitions to occur between now and the calling code observing the exceptions. Returning a rejected promise\r\n // will cause the calling continuation to get scheduled to run later.\r\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\r\n throw this._stopDuringStartError;\r\n }\r\n if (!this.connection.features.inherentKeepAlive) {\r\n await this._sendMessage(this._cachedPingMessage);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Debug, `Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`);\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n // HttpConnection.stop() should not complete until after the onclose callback is invoked.\r\n // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes.\r\n await this.connection.stop(e);\r\n throw e;\r\n }\r\n }\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n async stop() {\r\n // Capture the start promise before the connection might be restarted in an onclose callback.\r\n const startPromise = this._startPromise;\r\n this._stopPromise = this._stopInternal();\r\n await this._stopPromise;\r\n try {\r\n // Awaiting undefined continues immediately\r\n await startPromise;\r\n }\r\n catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n }\r\n _stopInternal(error) {\r\n if (this._connectionState === HubConnectionState.Disconnected) {\r\n this._logger.log(LogLevel.Debug, `Call to HubConnection.stop(${error}) ignored because it is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n this._connectionState = HubConnectionState.Disconnecting;\r\n this._logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n if (this._reconnectDelayHandle) {\r\n // We're in a reconnect delay which means the underlying connection is currently already stopped.\r\n // Just clear the handle to stop the reconnect loop (which no one is waiting on thankfully) and\r\n // fire the onclose callbacks.\r\n this._logger.log(LogLevel.Debug, \"Connection stopped during reconnect delay. Done reconnecting.\");\r\n clearTimeout(this._reconnectDelayHandle);\r\n this._reconnectDelayHandle = undefined;\r\n this._completeClose();\r\n return Promise.resolve();\r\n }\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n this._stopDuringStartError = error || new AbortError(\"The connection was stopped before the hub handshake could complete.\");\r\n // HttpConnection.stop() should not complete until after either HttpConnection.start() fails\r\n // or the onclose callback is invoked. The onclose callback will transition the HubConnection\r\n // to the disconnected state if need be before HttpConnection.stop() completes.\r\n return this.connection.stop(error);\r\n }\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n stream(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createStreamInvocation(methodName, args, streamIds);\r\n // eslint-disable-next-line prefer-const\r\n let promiseQueue;\r\n const subject = new Subject();\r\n subject.cancelCallback = () => {\r\n const cancelInvocation = this._createCancelInvocation(invocationDescriptor.invocationId);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n return promiseQueue.then(() => {\r\n return this._sendWithProtocol(cancelInvocation);\r\n });\r\n };\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n }\r\n else {\r\n subject.complete();\r\n }\r\n }\r\n else {\r\n subject.next((invocationEvent.item));\r\n }\r\n }\r\n };\r\n promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n subject.error(e);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n this._launchStreams(streams, promiseQueue);\r\n return subject;\r\n }\r\n _sendMessage(message) {\r\n this._resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n }\r\n /**\r\n * Sends a js object to the server.\r\n * @param message The js object to serialize and send.\r\n */\r\n _sendWithProtocol(message) {\r\n return this._sendMessage(this._protocol.writeMessage(message));\r\n }\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n send(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const sendPromise = this._sendWithProtocol(this._createInvocation(methodName, args, true, streamIds));\r\n this._launchStreams(streams, sendPromise);\r\n return sendPromise;\r\n }\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n invoke(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createInvocation(methodName, args, false, streamIds);\r\n const p = new Promise((resolve, reject) => {\r\n // invocationId will always have a value for a non-blocking invocation\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => {\r\n if (error) {\r\n reject(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n }\r\n else {\r\n resolve(invocationEvent.result);\r\n }\r\n }\r\n else {\r\n reject(new Error(`Unexpected message type: ${invocationEvent.type}`));\r\n }\r\n }\r\n };\r\n const promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n this._launchStreams(streams, promiseQueue);\r\n });\r\n return p;\r\n }\r\n on(methodName, newMethod) {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n if (!this._methods[methodName]) {\r\n this._methods[methodName] = [];\r\n }\r\n // Preventing adding the same handler multiple times.\r\n if (this._methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n this._methods[methodName].push(newMethod);\r\n }\r\n off(methodName, method) {\r\n if (!methodName) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n const handlers = this._methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n const removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n }\r\n else {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any).\r\n */\r\n onclose(callback) {\r\n if (callback) {\r\n this._closedCallbacks.push(callback);\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection starts reconnecting.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection starts reconnecting. Optionally receives a single argument containing the error that caused the connection to start reconnecting (if any).\r\n */\r\n onreconnecting(callback) {\r\n if (callback) {\r\n this._reconnectingCallbacks.push(callback);\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection successfully reconnects.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection successfully reconnects.\r\n */\r\n onreconnected(callback) {\r\n if (callback) {\r\n this._reconnectedCallbacks.push(callback);\r\n }\r\n }\r\n _processIncomingData(data) {\r\n this._cleanupTimeout();\r\n if (!this._receivedHandshakeResponse) {\r\n data = this._processHandshakeResponse(data);\r\n this._receivedHandshakeResponse = true;\r\n }\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n const messages = this._protocol.parseMessages(data, this._logger);\r\n for (const message of messages) {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion: {\r\n const callback = this._callbacks[message.invocationId];\r\n if (callback) {\r\n if (message.type === MessageType.Completion) {\r\n delete this._callbacks[message.invocationId];\r\n }\r\n try {\r\n callback(message);\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream callback threw error: ${getErrorString(e)}`);\r\n }\r\n }\r\n break;\r\n }\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close: {\r\n this._logger.log(LogLevel.Information, \"Close message received from server.\");\r\n const error = message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined;\r\n if (message.allowReconnect === true) {\r\n // It feels wrong not to await connection.stop() here, but processIncomingData is called as part of an onreceive callback which is not async,\r\n // this is already the behavior for serverTimeout(), and HttpConnection.Stop() should catch and log all possible exceptions.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(error);\r\n }\r\n else {\r\n // We cannot await stopInternal() here, but subsequent calls to stop() will await this if stopInternal() is still ongoing.\r\n this._stopPromise = this._stopInternal(error);\r\n }\r\n break;\r\n }\r\n default:\r\n this._logger.log(LogLevel.Warning, `Invalid message type: ${message.type}.`);\r\n break;\r\n }\r\n }\r\n }\r\n this._resetTimeoutPeriod();\r\n }\r\n _processHandshakeResponse(data) {\r\n let responseMessage;\r\n let remainingData;\r\n try {\r\n [remainingData, responseMessage] = this._handshakeProtocol.parseHandshakeResponse(data);\r\n }\r\n catch (e) {\r\n const message = \"Error parsing handshake response: \" + e;\r\n this._logger.log(LogLevel.Error, message);\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n const message = \"Server returned handshake error: \" + responseMessage.error;\r\n this._logger.log(LogLevel.Error, message);\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n this._handshakeResolver();\r\n return remainingData;\r\n }\r\n _resetKeepAliveInterval() {\r\n if (this.connection.features.inherentKeepAlive) {\r\n return;\r\n }\r\n // Set the time we want the next keep alive to be sent\r\n // Timer will be setup on next message receive\r\n this._nextKeepAlive = new Date().getTime() + this.keepAliveIntervalInMilliseconds;\r\n this._cleanupPingTimer();\r\n }\r\n _resetTimeoutPeriod() {\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this._timeoutHandle = setTimeout(() => this.serverTimeout(), this.serverTimeoutInMilliseconds);\r\n // Set keepAlive timer if there isn't one\r\n if (this._pingServerHandle === undefined) {\r\n let nextPing = this._nextKeepAlive - new Date().getTime();\r\n if (nextPing < 0) {\r\n nextPing = 0;\r\n }\r\n // The timer needs to be set from a networking callback to avoid Chrome timer throttling from causing timers to run once a minute\r\n this._pingServerHandle = setTimeout(async () => {\r\n if (this._connectionState === HubConnectionState.Connected) {\r\n try {\r\n await this._sendMessage(this._cachedPingMessage);\r\n }\r\n catch {\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this._cleanupPingTimer();\r\n }\r\n }\r\n }, nextPing);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n serverTimeout() {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise. This could trigger reconnecting.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n }\r\n async _invokeClientMethod(invocationMessage) {\r\n const methodName = invocationMessage.target.toLowerCase();\r\n const methods = this._methods[methodName];\r\n if (!methods) {\r\n this._logger.log(LogLevel.Warning, `No client method with the name '${methodName}' found.`);\r\n // No handlers provided by client but the server is expecting a response still, so we send an error\r\n if (invocationMessage.invocationId) {\r\n this._logger.log(LogLevel.Warning, `No result given for '${methodName}' method and invocation ID '${invocationMessage.invocationId}'.`);\r\n await this._sendWithProtocol(this._createCompletionMessage(invocationMessage.invocationId, \"Client didn't provide a result.\", null));\r\n }\r\n return;\r\n }\r\n // Avoid issues with handlers removing themselves thus modifying the list while iterating through it\r\n const methodsCopy = methods.slice();\r\n // Server expects a response\r\n const expectsResponse = invocationMessage.invocationId ? true : false;\r\n // We preserve the last result or exception but still call all handlers\r\n let res;\r\n let exception;\r\n let completionMessage;\r\n for (const m of methodsCopy) {\r\n try {\r\n const prevRes = res;\r\n res = await m.apply(this, invocationMessage.arguments);\r\n if (expectsResponse && res && prevRes) {\r\n this._logger.log(LogLevel.Error, `Multiple results provided for '${methodName}'. Sending error to server.`);\r\n completionMessage = this._createCompletionMessage(invocationMessage.invocationId, `Client provided multiple results.`, null);\r\n }\r\n // Ignore exception if we got a result after, the exception will be logged\r\n exception = undefined;\r\n }\r\n catch (e) {\r\n exception = e;\r\n this._logger.log(LogLevel.Error, `A callback for the method '${methodName}' threw error '${e}'.`);\r\n }\r\n }\r\n if (completionMessage) {\r\n await this._sendWithProtocol(completionMessage);\r\n }\r\n else if (expectsResponse) {\r\n // If there is an exception that means either no result was given or a handler after a result threw\r\n if (exception) {\r\n completionMessage = this._createCompletionMessage(invocationMessage.invocationId, `${exception}`, null);\r\n }\r\n else if (res !== undefined) {\r\n completionMessage = this._createCompletionMessage(invocationMessage.invocationId, null, res);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Warning, `No result given for '${methodName}' method and invocation ID '${invocationMessage.invocationId}'.`);\r\n // Client didn't provide a result or throw from a handler, server expects a response so we send an error\r\n completionMessage = this._createCompletionMessage(invocationMessage.invocationId, \"Client didn't provide a result.\", null);\r\n }\r\n await this._sendWithProtocol(completionMessage);\r\n }\r\n else {\r\n if (res) {\r\n this._logger.log(LogLevel.Error, `Result given for '${methodName}' method but server is not expecting a result.`);\r\n }\r\n }\r\n }\r\n _connectionClosed(error) {\r\n this._logger.log(LogLevel.Debug, `HubConnection.connectionClosed(${error}) called while in state ${this._connectionState}.`);\r\n // Triggering this.handshakeRejecter is insufficient because it could already be resolved without the continuation having run yet.\r\n this._stopDuringStartError = this._stopDuringStartError || error || new AbortError(\"The underlying connection was closed before the hub handshake could complete.\");\r\n // If the handshake is in progress, start will be waiting for the handshake promise, so we complete it.\r\n // If it has already completed, this should just noop.\r\n if (this._handshakeResolver) {\r\n this._handshakeResolver();\r\n }\r\n this._cancelCallbacksWithError(error || new Error(\"Invocation canceled due to the underlying connection being closed.\"));\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose(error);\r\n }\r\n else if (this._connectionState === HubConnectionState.Connected && this._reconnectPolicy) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._reconnect(error);\r\n }\r\n else if (this._connectionState === HubConnectionState.Connected) {\r\n this._completeClose(error);\r\n }\r\n // If none of the above if conditions were true were called the HubConnection must be in either:\r\n // 1. The Connecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail it.\r\n // 2. The Reconnecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail the current reconnect attempt\r\n // and potentially continue the reconnect() loop.\r\n // 3. The Disconnected state in which case we're already done.\r\n }\r\n _completeClose(error) {\r\n if (this._connectionStarted) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n if (Platform.isBrowser) {\r\n window.document.removeEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n try {\r\n this._closedCallbacks.forEach((c) => c.apply(this, [error]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onclose callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n async _reconnect(error) {\r\n const reconnectStartTime = Date.now();\r\n let previousReconnectAttempts = 0;\r\n let retryError = error !== undefined ? error : new Error(\"Attempting to reconnect due to a unknown error.\");\r\n let nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, 0, retryError);\r\n if (nextRetryDelay === null) {\r\n this._logger.log(LogLevel.Debug, \"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.\");\r\n this._completeClose(error);\r\n return;\r\n }\r\n this._connectionState = HubConnectionState.Reconnecting;\r\n if (error) {\r\n this._logger.log(LogLevel.Information, `Connection reconnecting because of error '${error}'.`);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Information, \"Connection reconnecting.\");\r\n }\r\n if (this._reconnectingCallbacks.length !== 0) {\r\n try {\r\n this._reconnectingCallbacks.forEach((c) => c.apply(this, [error]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnecting callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n // Exit early if an onreconnecting callback called connection.stop().\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.\");\r\n return;\r\n }\r\n }\r\n while (nextRetryDelay !== null) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt number ${previousReconnectAttempts} will start in ${nextRetryDelay} ms.`);\r\n await new Promise((resolve) => {\r\n this._reconnectDelayHandle = setTimeout(resolve, nextRetryDelay);\r\n });\r\n this._reconnectDelayHandle = undefined;\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state during reconnect delay. Done reconnecting.\");\r\n return;\r\n }\r\n try {\r\n await this._startInternal();\r\n this._connectionState = HubConnectionState.Connected;\r\n this._logger.log(LogLevel.Information, \"HubConnection reconnected successfully.\");\r\n if (this._reconnectedCallbacks.length !== 0) {\r\n try {\r\n this._reconnectedCallbacks.forEach((c) => c.apply(this, [this.connection.connectionId]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`);\r\n }\r\n }\r\n return;\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt failed because of error '${e}'.`);\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, `Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`);\r\n // The TypeScript compiler thinks that connectionState must be Connected here. The TypeScript compiler is wrong.\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose();\r\n }\r\n return;\r\n }\r\n retryError = e instanceof Error ? e : new Error(e.toString());\r\n nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError);\r\n }\r\n }\r\n this._logger.log(LogLevel.Information, `Reconnect retries have been exhausted after ${Date.now() - reconnectStartTime} ms and ${previousReconnectAttempts} failed attempts. Connection disconnecting.`);\r\n this._completeClose();\r\n }\r\n _getNextRetryDelay(previousRetryCount, elapsedMilliseconds, retryReason) {\r\n try {\r\n return this._reconnectPolicy.nextRetryDelayInMilliseconds({\r\n elapsedMilliseconds,\r\n previousRetryCount,\r\n retryReason,\r\n });\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `IRetryPolicy.nextRetryDelayInMilliseconds(${previousRetryCount}, ${elapsedMilliseconds}) threw error '${e}'.`);\r\n return null;\r\n }\r\n }\r\n _cancelCallbacksWithError(error) {\r\n const callbacks = this._callbacks;\r\n this._callbacks = {};\r\n Object.keys(callbacks)\r\n .forEach((key) => {\r\n const callback = callbacks[key];\r\n try {\r\n callback(null, error);\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream 'error' callback called with '${error}' threw error: ${getErrorString(e)}`);\r\n }\r\n });\r\n }\r\n _cleanupPingTimer() {\r\n if (this._pingServerHandle) {\r\n clearTimeout(this._pingServerHandle);\r\n this._pingServerHandle = undefined;\r\n }\r\n }\r\n _cleanupTimeout() {\r\n if (this._timeoutHandle) {\r\n clearTimeout(this._timeoutHandle);\r\n }\r\n }\r\n _createInvocation(methodName, args, nonblocking, streamIds) {\r\n if (nonblocking) {\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n else {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n }\r\n _launchStreams(streams, promiseQueue) {\r\n if (streams.length === 0) {\r\n return;\r\n }\r\n // Synchronize stream data so they arrive in-order on the server\r\n if (!promiseQueue) {\r\n promiseQueue = Promise.resolve();\r\n }\r\n // We want to iterate over the keys, since the keys are the stream ids\r\n // eslint-disable-next-line guard-for-in\r\n for (const streamId in streams) {\r\n streams[streamId].subscribe({\r\n complete: () => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId)));\r\n },\r\n error: (err) => {\r\n let message;\r\n if (err instanceof Error) {\r\n message = err.message;\r\n }\r\n else if (err && err.toString) {\r\n message = err.toString();\r\n }\r\n else {\r\n message = \"Unknown error\";\r\n }\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId, message)));\r\n },\r\n next: (item) => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createStreamItemMessage(streamId, item)));\r\n },\r\n });\r\n }\r\n }\r\n _replaceStreamingParams(args) {\r\n const streams = [];\r\n const streamIds = [];\r\n for (let i = 0; i < args.length; i++) {\r\n const argument = args[i];\r\n if (this._isObservable(argument)) {\r\n const streamId = this._invocationId;\r\n this._invocationId++;\r\n // Store the stream for later use\r\n streams[streamId] = argument;\r\n streamIds.push(streamId.toString());\r\n // remove stream from args\r\n args.splice(i, 1);\r\n }\r\n }\r\n return [streams, streamIds];\r\n }\r\n _isObservable(arg) {\r\n // This allows other stream implementations to just work (like rxjs)\r\n return arg && arg.subscribe && typeof arg.subscribe === \"function\";\r\n }\r\n _createStreamInvocation(methodName, args, streamIds) {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n }\r\n _createCancelInvocation(id) {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n }\r\n _createStreamItemMessage(id, item) {\r\n return {\r\n invocationId: id,\r\n item,\r\n type: MessageType.StreamItem,\r\n };\r\n }\r\n _createCompletionMessage(id, error, result) {\r\n if (error) {\r\n return {\r\n error,\r\n invocationId: id,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n return {\r\n invocationId: id,\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n}\r\n//# sourceMappingURL=HubConnection.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// 0, 2, 10, 30 second delays before reconnect attempts.\r\nconst DEFAULT_RETRY_DELAYS_IN_MILLISECONDS = [0, 2000, 10000, 30000, null];\r\n/** @private */\r\nexport class DefaultReconnectPolicy {\r\n constructor(retryDelays) {\r\n this._retryDelays = retryDelays !== undefined ? [...retryDelays, null] : DEFAULT_RETRY_DELAYS_IN_MILLISECONDS;\r\n }\r\n nextRetryDelayInMilliseconds(retryContext) {\r\n return this._retryDelays[retryContext.previousRetryCount];\r\n }\r\n}\r\n//# sourceMappingURL=DefaultReconnectPolicy.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nexport class HeaderNames {\r\n}\r\nHeaderNames.Authorization = \"Authorization\";\r\nHeaderNames.Cookie = \"Cookie\";\r\n//# sourceMappingURL=HeaderNames.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { HttpClient } from \"./HttpClient\";\r\n/** @private */\r\nexport class AccessTokenHttpClient extends HttpClient {\r\n constructor(innerClient, accessTokenFactory) {\r\n super();\r\n this._innerClient = innerClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n }\r\n async send(request) {\r\n let allowRetry = true;\r\n if (this._accessTokenFactory && (!this._accessToken || (request.url && request.url.indexOf(\"/negotiate?\") > 0))) {\r\n // don't retry if the request is a negotiate or if we just got a potentially new token from the access token factory\r\n allowRetry = false;\r\n this._accessToken = await this._accessTokenFactory();\r\n }\r\n this._setAuthorizationHeader(request);\r\n const response = await this._innerClient.send(request);\r\n if (allowRetry && response.statusCode === 401 && this._accessTokenFactory) {\r\n this._accessToken = await this._accessTokenFactory();\r\n this._setAuthorizationHeader(request);\r\n return await this._innerClient.send(request);\r\n }\r\n return response;\r\n }\r\n _setAuthorizationHeader(request) {\r\n if (!request.headers) {\r\n request.headers = {};\r\n }\r\n if (this._accessToken) {\r\n request.headers[HeaderNames.Authorization] = `Bearer ${this._accessToken}`;\r\n }\r\n // don't remove the header if there isn't an access token factory, the user manually added the header in this case\r\n else if (this._accessTokenFactory) {\r\n if (request.headers[HeaderNames.Authorization]) {\r\n delete request.headers[HeaderNames.Authorization];\r\n }\r\n }\r\n }\r\n getCookieString(url) {\r\n return this._innerClient.getCookieString(url);\r\n }\r\n}\r\n//# sourceMappingURL=AccessTokenHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController\r\n// We don't actually ever use the API being polyfilled, we always use the polyfill because\r\n// it's a very new API right now.\r\n// Not exported from index.\r\n/** @private */\r\nexport class AbortController {\r\n constructor() {\r\n this._isAborted = false;\r\n this.onabort = null;\r\n }\r\n abort() {\r\n if (!this._isAborted) {\r\n this._isAborted = true;\r\n if (this.onabort) {\r\n this.onabort();\r\n }\r\n }\r\n }\r\n get signal() {\r\n return this;\r\n }\r\n get aborted() {\r\n return this._isAborted;\r\n }\r\n}\r\n//# sourceMappingURL=AbortController.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortController } from \"./AbortController\";\r\nimport { HttpError, TimeoutError } from \"./Errors\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, sendMessage } from \"./Utils\";\r\n// Not exported from 'index', this type is internal.\r\n/** @private */\r\nexport class LongPollingTransport {\r\n constructor(httpClient, logger, options) {\r\n this._httpClient = httpClient;\r\n this._logger = logger;\r\n this._pollAbort = new AbortController();\r\n this._options = options;\r\n this._running = false;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n // This is an internal type, not exported from 'index' so this is really just internal.\r\n get pollAborted() {\r\n return this._pollAbort.aborted;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._url = url;\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Connecting.\");\r\n // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)\r\n if (transferFormat === TransferFormat.Binary &&\r\n (typeof XMLHttpRequest !== \"undefined\" && typeof new XMLHttpRequest().responseType !== \"string\")) {\r\n throw new Error(\"Binary protocols over XmlHttpRequest not implementing advanced features are not supported.\");\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n const headers = { [name]: value, ...this._options.headers };\r\n const pollOptions = {\r\n abortSignal: this._pollAbort.signal,\r\n headers,\r\n timeout: 100000,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n if (transferFormat === TransferFormat.Binary) {\r\n pollOptions.responseType = \"arraybuffer\";\r\n }\r\n // Make initial long polling request\r\n // Server uses first long polling request to finish initializing connection and it returns without data\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n // Mark running as false so that the poll immediately ends and runs the close logic\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n }\r\n else {\r\n this._running = true;\r\n }\r\n this._receiving = this._poll(this._url, pollOptions);\r\n }\r\n async _poll(url, pollOptions) {\r\n try {\r\n while (this._running) {\r\n try {\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode === 204) {\r\n this._logger.log(LogLevel.Information, \"(LongPolling transport) Poll terminated by server.\");\r\n this._running = false;\r\n }\r\n else if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n // Unexpected status code\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n }\r\n else {\r\n // Process the response\r\n if (response.content) {\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) data received. ${getDataDetail(response.content, this._options.logMessageContent)}.`);\r\n if (this.onreceive) {\r\n this.onreceive(response.content);\r\n }\r\n }\r\n else {\r\n // This is another way timeout manifest.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n if (!this._running) {\r\n // Log but disregard errors that occur after stopping\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) Poll errored after shutdown: ${e.message}`);\r\n }\r\n else {\r\n if (e instanceof TimeoutError) {\r\n // Ignore timeouts and reissue the poll.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n else {\r\n // Close the connection with the error as the result.\r\n this._closeError = e;\r\n this._running = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Polling complete.\");\r\n // We will reach here with pollAborted==false when the server returned a response causing the transport to stop.\r\n // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.\r\n if (!this.pollAborted) {\r\n this._raiseOnClose();\r\n }\r\n }\r\n }\r\n async send(data) {\r\n if (!this._running) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"LongPolling\", this._httpClient, this._url, data, this._options);\r\n }\r\n async stop() {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stopping polling.\");\r\n // Tell receiving loop to stop, abort any current request, and then wait for it to finish\r\n this._running = false;\r\n this._pollAbort.abort();\r\n try {\r\n await this._receiving;\r\n // Send DELETE to clean up long polling on the server\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) sending DELETE request to ${this._url}.`);\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n const deleteOptions = {\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n await this._httpClient.delete(this._url, deleteOptions);\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) DELETE request sent.\");\r\n }\r\n finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stop finished.\");\r\n // Raise close event here instead of in polling\r\n // It needs to happen after the DELETE request is sent\r\n this._raiseOnClose();\r\n }\r\n }\r\n _raiseOnClose() {\r\n if (this.onclose) {\r\n let logMessage = \"(LongPolling transport) Firing onclose event.\";\r\n if (this._closeError) {\r\n logMessage += \" Error: \" + this._closeError;\r\n }\r\n this._logger.log(LogLevel.Trace, logMessage);\r\n this.onclose(this._closeError);\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=LongPollingTransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform, sendMessage } from \"./Utils\";\r\n/** @private */\r\nexport class ServerSentEventsTransport {\r\n constructor(httpClient, accessToken, logger, options) {\r\n this._httpClient = httpClient;\r\n this._accessToken = accessToken;\r\n this._logger = logger;\r\n this._options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(SSE transport) Connecting.\");\r\n // set url before accessTokenFactory because this._url is only for send and we set the auth header instead of the query string for send\r\n this._url = url;\r\n if (this._accessToken) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(this._accessToken)}`;\r\n }\r\n return new Promise((resolve, reject) => {\r\n let opened = false;\r\n if (transferFormat !== TransferFormat.Text) {\r\n reject(new Error(\"The Server-Sent Events transport only supports the 'Text' transfer format\"));\r\n return;\r\n }\r\n let eventSource;\r\n if (Platform.isBrowser || Platform.isWebWorker) {\r\n eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials });\r\n }\r\n else {\r\n // Non-browser passes cookies via the dictionary\r\n const cookies = this._httpClient.getCookieString(url);\r\n const headers = {};\r\n headers.Cookie = cookies;\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials, headers: { ...headers, ...this._options.headers } });\r\n }\r\n try {\r\n eventSource.onmessage = (e) => {\r\n if (this.onreceive) {\r\n try {\r\n this._logger.log(LogLevel.Trace, `(SSE transport) data received. ${getDataDetail(e.data, this._options.logMessageContent)}.`);\r\n this.onreceive(e.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n // @ts-ignore: not using event on purpose\r\n eventSource.onerror = (e) => {\r\n // EventSource doesn't give any useful information about server side closes.\r\n if (opened) {\r\n this._close();\r\n }\r\n else {\r\n reject(new Error(\"EventSource failed to connect. The connection could not be found on the server,\"\r\n + \" either the connection ID is not present on the server, or a proxy is refusing/buffering the connection.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\"));\r\n }\r\n };\r\n eventSource.onopen = () => {\r\n this._logger.log(LogLevel.Information, `SSE connected to ${this._url}`);\r\n this._eventSource = eventSource;\r\n opened = true;\r\n resolve();\r\n };\r\n }\r\n catch (e) {\r\n reject(e);\r\n return;\r\n }\r\n });\r\n }\r\n async send(data) {\r\n if (!this._eventSource) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"SSE\", this._httpClient, this._url, data, this._options);\r\n }\r\n stop() {\r\n this._close();\r\n return Promise.resolve();\r\n }\r\n _close(e) {\r\n if (this._eventSource) {\r\n this._eventSource.close();\r\n this._eventSource = undefined;\r\n if (this.onclose) {\r\n this.onclose(e);\r\n }\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=ServerSentEventsTransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform } from \"./Utils\";\r\n/** @private */\r\nexport class WebSocketTransport {\r\n constructor(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) {\r\n this._logger = logger;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logMessageContent = logMessageContent;\r\n this._webSocketConstructor = webSocketConstructor;\r\n this._httpClient = httpClient;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n this._headers = headers;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n let token;\r\n if (this._accessTokenFactory) {\r\n token = await this._accessTokenFactory();\r\n }\r\n return new Promise((resolve, reject) => {\r\n url = url.replace(/^http/, \"ws\");\r\n let webSocket;\r\n const cookies = this._httpClient.getCookieString(url);\r\n let opened = false;\r\n if (Platform.isNode || Platform.isReactNative) {\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n if (token) {\r\n headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n }\r\n if (cookies) {\r\n headers[HeaderNames.Cookie] = cookies;\r\n }\r\n // Only pass headers when in non-browser environments\r\n webSocket = new this._webSocketConstructor(url, undefined, {\r\n headers: { ...headers, ...this._headers },\r\n });\r\n }\r\n else {\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new this._webSocketConstructor(url);\r\n }\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n webSocket.onopen = (_event) => {\r\n this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`);\r\n this._webSocket = webSocket;\r\n opened = true;\r\n resolve();\r\n };\r\n webSocket.onerror = (event) => {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"There was an error with the transport\";\r\n }\r\n this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`);\r\n };\r\n webSocket.onmessage = (message) => {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`);\r\n if (this.onreceive) {\r\n try {\r\n this.onreceive(message.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n webSocket.onclose = (event) => {\r\n // Don't call close handler if connection was never established\r\n // We'll reject the connect call instead\r\n if (opened) {\r\n this._close(event);\r\n }\r\n else {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"WebSocket failed to connect. The connection could not be found on the server,\"\r\n + \" either the endpoint may not be a SignalR endpoint,\"\r\n + \" the connection ID is not present on the server, or there is a proxy blocking WebSockets.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\";\r\n }\r\n reject(new Error(error));\r\n }\r\n };\r\n });\r\n }\r\n send(data) {\r\n if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);\r\n this._webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n }\r\n stop() {\r\n if (this._webSocket) {\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this._close(undefined);\r\n }\r\n return Promise.resolve();\r\n }\r\n _close(event) {\r\n // webSocket will be null if the transport did not start successfully\r\n if (this._webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this._webSocket.onclose = () => { };\r\n this._webSocket.onmessage = () => { };\r\n this._webSocket.onerror = () => { };\r\n this._webSocket.close();\r\n this._webSocket = undefined;\r\n }\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || \"no reason given\"}).`));\r\n }\r\n else if (event instanceof Error) {\r\n this.onclose(event);\r\n }\r\n else {\r\n this.onclose();\r\n }\r\n }\r\n }\r\n _isCloseEvent(event) {\r\n return event && typeof event.wasClean === \"boolean\" && typeof event.code === \"number\";\r\n }\r\n}\r\n//# sourceMappingURL=WebSocketTransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AccessTokenHttpClient } from \"./AccessTokenHttpClient\";\r\nimport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nimport { AggregateErrors, DisabledTransportError, FailedToNegotiateWithServerError, FailedToStartTransportError, HttpError, UnsupportedTransportError, AbortError } from \"./Errors\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nimport { LongPollingTransport } from \"./LongPollingTransport\";\r\nimport { ServerSentEventsTransport } from \"./ServerSentEventsTransport\";\r\nimport { Arg, createLogger, getUserAgentHeader, Platform } from \"./Utils\";\r\nimport { WebSocketTransport } from \"./WebSocketTransport\";\r\nconst MAX_REDIRECTS = 100;\r\n/** @private */\r\nexport class HttpConnection {\r\n constructor(url, options = {}) {\r\n this._stopPromiseResolver = () => { };\r\n this.features = {};\r\n this._negotiateVersion = 1;\r\n Arg.isRequired(url, \"url\");\r\n this._logger = createLogger(options.logger);\r\n this.baseUrl = this._resolveUrl(url);\r\n options = options || {};\r\n options.logMessageContent = options.logMessageContent === undefined ? false : options.logMessageContent;\r\n if (typeof options.withCredentials === \"boolean\" || options.withCredentials === undefined) {\r\n options.withCredentials = options.withCredentials === undefined ? true : options.withCredentials;\r\n }\r\n else {\r\n throw new Error(\"withCredentials option was not a 'boolean' or 'undefined' value\");\r\n }\r\n options.timeout = options.timeout === undefined ? 100 * 1000 : options.timeout;\r\n let webSocketModule = null;\r\n let eventSourceModule = null;\r\n if (Platform.isNode && typeof require !== \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n webSocketModule = requireFunc(\"ws\");\r\n eventSourceModule = requireFunc(\"eventsource\");\r\n }\r\n if (!Platform.isNode && typeof WebSocket !== \"undefined\" && !options.WebSocket) {\r\n options.WebSocket = WebSocket;\r\n }\r\n else if (Platform.isNode && !options.WebSocket) {\r\n if (webSocketModule) {\r\n options.WebSocket = webSocketModule;\r\n }\r\n }\r\n if (!Platform.isNode && typeof EventSource !== \"undefined\" && !options.EventSource) {\r\n options.EventSource = EventSource;\r\n }\r\n else if (Platform.isNode && !options.EventSource) {\r\n if (typeof eventSourceModule !== \"undefined\") {\r\n options.EventSource = eventSourceModule;\r\n }\r\n }\r\n this._httpClient = new AccessTokenHttpClient(options.httpClient || new DefaultHttpClient(this._logger), options.accessTokenFactory);\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n this._connectionStarted = false;\r\n this._options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n async start(transferFormat) {\r\n transferFormat = transferFormat || TransferFormat.Binary;\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Debug, `Starting connection with transfer format '${TransferFormat[transferFormat]}'.`);\r\n if (this._connectionState !== \"Disconnected\" /* Disconnected */) {\r\n return Promise.reject(new Error(\"Cannot start an HttpConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n this._connectionState = \"Connecting\" /* Connecting */;\r\n this._startInternalPromise = this._startInternal(transferFormat);\r\n await this._startInternalPromise;\r\n // The TypeScript compiler thinks that connectionState must be Connecting here. The TypeScript compiler is wrong.\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"Failed to start the HttpConnection before stop() was called.\";\r\n this._logger.log(LogLevel.Error, message);\r\n // We cannot await stopPromise inside startInternal since stopInternal awaits the startInternalPromise.\r\n await this._stopPromise;\r\n return Promise.reject(new AbortError(message));\r\n }\r\n else if (this._connectionState !== \"Connected\" /* Connected */) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!\";\r\n this._logger.log(LogLevel.Error, message);\r\n return Promise.reject(new AbortError(message));\r\n }\r\n this._connectionStarted = true;\r\n }\r\n send(data) {\r\n if (this._connectionState !== \"Connected\" /* Connected */) {\r\n return Promise.reject(new Error(\"Cannot send data if the connection is not in the 'Connected' State.\"));\r\n }\r\n if (!this._sendQueue) {\r\n this._sendQueue = new TransportSendQueue(this.transport);\r\n }\r\n // Transport will not be null if state is connected\r\n return this._sendQueue.send(data);\r\n }\r\n async stop(error) {\r\n if (this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n this._connectionState = \"Disconnecting\" /* Disconnecting */;\r\n this._stopPromise = new Promise((resolve) => {\r\n // Don't complete stop() until stopConnection() completes.\r\n this._stopPromiseResolver = resolve;\r\n });\r\n // stopInternal should never throw so just observe it.\r\n await this._stopInternal(error);\r\n await this._stopPromise;\r\n }\r\n async _stopInternal(error) {\r\n // Set error as soon as possible otherwise there is a race between\r\n // the transport closing and providing an error and the error from a close message\r\n // We would prefer the close message error.\r\n this._stopError = error;\r\n try {\r\n await this._startInternalPromise;\r\n }\r\n catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n // The transport's onclose will trigger stopConnection which will run our onclose event.\r\n // The transport should always be set if currently connected. If it wasn't set, it's likely because\r\n // stop was called during start() and start() failed.\r\n if (this.transport) {\r\n try {\r\n await this.transport.stop();\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.transport.stop() threw error '${e}'.`);\r\n this._stopConnection();\r\n }\r\n this.transport = undefined;\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, \"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.\");\r\n }\r\n }\r\n async _startInternal(transferFormat) {\r\n // Store the original base url and the access token factory since they may change\r\n // as part of negotiating\r\n let url = this.baseUrl;\r\n this._accessTokenFactory = this._options.accessTokenFactory;\r\n this._httpClient._accessTokenFactory = this._accessTokenFactory;\r\n try {\r\n if (this._options.skipNegotiation) {\r\n if (this._options.transport === HttpTransportType.WebSockets) {\r\n // No need to add a connection ID in this case\r\n this.transport = this._constructTransport(HttpTransportType.WebSockets);\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n await this._startTransport(url, transferFormat);\r\n }\r\n else {\r\n throw new Error(\"Negotiation can only be skipped when using the WebSocket transport directly.\");\r\n }\r\n }\r\n else {\r\n let negotiateResponse = null;\r\n let redirects = 0;\r\n do {\r\n negotiateResponse = await this._getNegotiationResponse(url);\r\n // the user tries to stop the connection when it is being started\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */ || this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n throw new AbortError(\"The connection was stopped during negotiation.\");\r\n }\r\n if (negotiateResponse.error) {\r\n throw new Error(negotiateResponse.error);\r\n }\r\n if (negotiateResponse.ProtocolVersion) {\r\n throw new Error(\"Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.\");\r\n }\r\n if (negotiateResponse.url) {\r\n url = negotiateResponse.url;\r\n }\r\n if (negotiateResponse.accessToken) {\r\n // Replace the current access token factory with one that uses\r\n // the returned access token\r\n const accessToken = negotiateResponse.accessToken;\r\n this._accessTokenFactory = () => accessToken;\r\n // set the factory to undefined so the AccessTokenHttpClient won't retry with the same token, since we know it won't change until a connection restart\r\n this._httpClient._accessToken = accessToken;\r\n this._httpClient._accessTokenFactory = undefined;\r\n }\r\n redirects++;\r\n } while (negotiateResponse.url && redirects < MAX_REDIRECTS);\r\n if (redirects === MAX_REDIRECTS && negotiateResponse.url) {\r\n throw new Error(\"Negotiate redirection limit exceeded.\");\r\n }\r\n await this._createTransport(url, this._options.transport, negotiateResponse, transferFormat);\r\n }\r\n if (this.transport instanceof LongPollingTransport) {\r\n this.features.inherentKeepAlive = true;\r\n }\r\n if (this._connectionState === \"Connecting\" /* Connecting */) {\r\n // Ensure the connection transitions to the connected state prior to completing this.startInternalPromise.\r\n // start() will handle the case when stop was called and startInternal exits still in the disconnecting state.\r\n this._logger.log(LogLevel.Debug, \"The HttpConnection connected successfully.\");\r\n this._connectionState = \"Connected\" /* Connected */;\r\n }\r\n // stop() is waiting on us via this.startInternalPromise so keep this.transport around so it can clean up.\r\n // This is the only case startInternal can exit in neither the connected nor disconnected state because stopConnection()\r\n // will transition to the disconnected state. start() will wait for the transition using the stopPromise.\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, \"Failed to start the connection: \" + e);\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n this.transport = undefined;\r\n // if start fails, any active calls to stop assume that start will complete the stop promise\r\n this._stopPromiseResolver();\r\n return Promise.reject(e);\r\n }\r\n }\r\n async _getNegotiationResponse(url) {\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n const negotiateUrl = this._resolveNegotiateUrl(url);\r\n this._logger.log(LogLevel.Debug, `Sending negotiation request: ${negotiateUrl}.`);\r\n try {\r\n const response = await this._httpClient.post(negotiateUrl, {\r\n content: \"\",\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n });\r\n if (response.statusCode !== 200) {\r\n return Promise.reject(new Error(`Unexpected status code returned from negotiate '${response.statusCode}'`));\r\n }\r\n const negotiateResponse = JSON.parse(response.content);\r\n if (!negotiateResponse.negotiateVersion || negotiateResponse.negotiateVersion < 1) {\r\n // Negotiate version 0 doesn't use connectionToken\r\n // So we set it equal to connectionId so all our logic can use connectionToken without being aware of the negotiate version\r\n negotiateResponse.connectionToken = negotiateResponse.connectionId;\r\n }\r\n return negotiateResponse;\r\n }\r\n catch (e) {\r\n let errorMessage = \"Failed to complete negotiation with the server: \" + e;\r\n if (e instanceof HttpError) {\r\n if (e.statusCode === 404) {\r\n errorMessage = errorMessage + \" Either this is not a SignalR endpoint or there is a proxy blocking the connection.\";\r\n }\r\n }\r\n this._logger.log(LogLevel.Error, errorMessage);\r\n return Promise.reject(new FailedToNegotiateWithServerError(errorMessage));\r\n }\r\n }\r\n _createConnectUrl(url, connectionToken) {\r\n if (!connectionToken) {\r\n return url;\r\n }\r\n return url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + `id=${connectionToken}`;\r\n }\r\n async _createTransport(url, requestedTransport, negotiateResponse, requestedTransferFormat) {\r\n let connectUrl = this._createConnectUrl(url, negotiateResponse.connectionToken);\r\n if (this._isITransport(requestedTransport)) {\r\n this._logger.log(LogLevel.Debug, \"Connection was provided an instance of ITransport, using that directly.\");\r\n this.transport = requestedTransport;\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiateResponse.connectionId;\r\n return;\r\n }\r\n const transportExceptions = [];\r\n const transports = negotiateResponse.availableTransports || [];\r\n let negotiate = negotiateResponse;\r\n for (const endpoint of transports) {\r\n const transportOrError = this._resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat);\r\n if (transportOrError instanceof Error) {\r\n // Store the error and continue, we don't want to cause a re-negotiate in these cases\r\n transportExceptions.push(`${endpoint.transport} failed:`);\r\n transportExceptions.push(transportOrError);\r\n }\r\n else if (this._isITransport(transportOrError)) {\r\n this.transport = transportOrError;\r\n if (!negotiate) {\r\n try {\r\n negotiate = await this._getNegotiationResponse(url);\r\n }\r\n catch (ex) {\r\n return Promise.reject(ex);\r\n }\r\n connectUrl = this._createConnectUrl(url, negotiate.connectionToken);\r\n }\r\n try {\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiate.connectionId;\r\n return;\r\n }\r\n catch (ex) {\r\n this._logger.log(LogLevel.Error, `Failed to start the transport '${endpoint.transport}': ${ex}`);\r\n negotiate = undefined;\r\n transportExceptions.push(new FailedToStartTransportError(`${endpoint.transport} failed: ${ex}`, HttpTransportType[endpoint.transport]));\r\n if (this._connectionState !== \"Connecting\" /* Connecting */) {\r\n const message = \"Failed to select transport before stop() was called.\";\r\n this._logger.log(LogLevel.Debug, message);\r\n return Promise.reject(new AbortError(message));\r\n }\r\n }\r\n }\r\n }\r\n if (transportExceptions.length > 0) {\r\n return Promise.reject(new AggregateErrors(`Unable to connect to the server with any of the available transports. ${transportExceptions.join(\" \")}`, transportExceptions));\r\n }\r\n return Promise.reject(new Error(\"None of the transports supported by the client are supported by the server.\"));\r\n }\r\n _constructTransport(transport) {\r\n switch (transport) {\r\n case HttpTransportType.WebSockets:\r\n if (!this._options.WebSocket) {\r\n throw new Error(\"'WebSocket' is not supported in your environment.\");\r\n }\r\n return new WebSocketTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options.logMessageContent, this._options.WebSocket, this._options.headers || {});\r\n case HttpTransportType.ServerSentEvents:\r\n if (!this._options.EventSource) {\r\n throw new Error(\"'EventSource' is not supported in your environment.\");\r\n }\r\n return new ServerSentEventsTransport(this._httpClient, this._httpClient._accessToken, this._logger, this._options);\r\n case HttpTransportType.LongPolling:\r\n return new LongPollingTransport(this._httpClient, this._logger, this._options);\r\n default:\r\n throw new Error(`Unknown transport: ${transport}.`);\r\n }\r\n }\r\n _startTransport(url, transferFormat) {\r\n this.transport.onreceive = this.onreceive;\r\n this.transport.onclose = (e) => this._stopConnection(e);\r\n return this.transport.connect(url, transferFormat);\r\n }\r\n _resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat) {\r\n const transport = HttpTransportType[endpoint.transport];\r\n if (transport === null || transport === undefined) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n return new Error(`Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n }\r\n else {\r\n if (transportMatches(requestedTransport, transport)) {\r\n const transferFormats = endpoint.transferFormats.map((s) => TransferFormat[s]);\r\n if (transferFormats.indexOf(requestedTransferFormat) >= 0) {\r\n if ((transport === HttpTransportType.WebSockets && !this._options.WebSocket) ||\r\n (transport === HttpTransportType.ServerSentEvents && !this._options.EventSource)) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it is not supported in your environment.'`);\r\n return new UnsupportedTransportError(`'${HttpTransportType[transport]}' is not supported in your environment.`, transport);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Selecting transport '${HttpTransportType[transport]}'.`);\r\n try {\r\n return this._constructTransport(transport);\r\n }\r\n catch (ex) {\r\n return ex;\r\n }\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it does not support the requested transfer format '${TransferFormat[requestedTransferFormat]}'.`);\r\n return new Error(`'${HttpTransportType[transport]}' does not support ${TransferFormat[requestedTransferFormat]}.`);\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it was disabled by the client.`);\r\n return new DisabledTransportError(`'${HttpTransportType[transport]}' is disabled by the client.`, transport);\r\n }\r\n }\r\n }\r\n _isITransport(transport) {\r\n return transport && typeof (transport) === \"object\" && \"connect\" in transport;\r\n }\r\n _stopConnection(error) {\r\n this._logger.log(LogLevel.Debug, `HttpConnection.stopConnection(${error}) called while in state ${this._connectionState}.`);\r\n this.transport = undefined;\r\n // If we have a stopError, it takes precedence over the error from the transport\r\n error = this._stopError || error;\r\n this._stopError = undefined;\r\n if (this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is already in the disconnected state.`);\r\n return;\r\n }\r\n if (this._connectionState === \"Connecting\" /* Connecting */) {\r\n this._logger.log(LogLevel.Warning, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is still in the connecting state.`);\r\n throw new Error(`HttpConnection.stopConnection(${error}) was called while the connection is still in the connecting state.`);\r\n }\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n // A call to stop() induced this call to stopConnection and needs to be completed.\r\n // Any stop() awaiters will be scheduled to continue after the onclose callback fires.\r\n this._stopPromiseResolver();\r\n }\r\n if (error) {\r\n this._logger.log(LogLevel.Error, `Connection disconnected with error '${error}'.`);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Information, \"Connection disconnected.\");\r\n }\r\n if (this._sendQueue) {\r\n this._sendQueue.stop().catch((e) => {\r\n this._logger.log(LogLevel.Error, `TransportSendQueue.stop() threw error '${e}'.`);\r\n });\r\n this._sendQueue = undefined;\r\n }\r\n this.connectionId = undefined;\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n if (this._connectionStarted) {\r\n this._connectionStarted = false;\r\n try {\r\n if (this.onclose) {\r\n this.onclose(error);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.onclose(${error}) threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n _resolveUrl(url) {\r\n // startsWith is not supported in IE\r\n if (url.lastIndexOf(\"https://\", 0) === 0 || url.lastIndexOf(\"http://\", 0) === 0) {\r\n return url;\r\n }\r\n if (!Platform.isBrowser) {\r\n throw new Error(`Cannot resolve '${url}'.`);\r\n }\r\n // Setting the url to the href propery of an anchor tag handles normalization\r\n // for us. There are 3 main cases.\r\n // 1. Relative path normalization e.g \"b\" -> \"http://localhost:5000/a/b\"\r\n // 2. Absolute path normalization e.g \"/a/b\" -> \"http://localhost:5000/a/b\"\r\n // 3. Networkpath reference normalization e.g \"//localhost:5000/a/b\" -> \"http://localhost:5000/a/b\"\r\n const aTag = window.document.createElement(\"a\");\r\n aTag.href = url;\r\n this._logger.log(LogLevel.Information, `Normalizing '${url}' to '${aTag.href}'.`);\r\n return aTag.href;\r\n }\r\n _resolveNegotiateUrl(url) {\r\n const index = url.indexOf(\"?\");\r\n let negotiateUrl = url.substring(0, index === -1 ? url.length : index);\r\n if (negotiateUrl[negotiateUrl.length - 1] !== \"/\") {\r\n negotiateUrl += \"/\";\r\n }\r\n negotiateUrl += \"negotiate\";\r\n negotiateUrl += index === -1 ? \"\" : url.substring(index);\r\n if (negotiateUrl.indexOf(\"negotiateVersion\") === -1) {\r\n negotiateUrl += index === -1 ? \"?\" : \"&\";\r\n negotiateUrl += \"negotiateVersion=\" + this._negotiateVersion;\r\n }\r\n return negotiateUrl;\r\n }\r\n}\r\nfunction transportMatches(requestedTransport, actualTransport) {\r\n return !requestedTransport || ((actualTransport & requestedTransport) !== 0);\r\n}\r\n/** @private */\r\nexport class TransportSendQueue {\r\n constructor(_transport) {\r\n this._transport = _transport;\r\n this._buffer = [];\r\n this._executing = true;\r\n this._sendBufferedData = new PromiseSource();\r\n this._transportResult = new PromiseSource();\r\n this._sendLoopPromise = this._sendLoop();\r\n }\r\n send(data) {\r\n this._bufferData(data);\r\n if (!this._transportResult) {\r\n this._transportResult = new PromiseSource();\r\n }\r\n return this._transportResult.promise;\r\n }\r\n stop() {\r\n this._executing = false;\r\n this._sendBufferedData.resolve();\r\n return this._sendLoopPromise;\r\n }\r\n _bufferData(data) {\r\n if (this._buffer.length && typeof (this._buffer[0]) !== typeof (data)) {\r\n throw new Error(`Expected data to be of type ${typeof (this._buffer)} but was of type ${typeof (data)}`);\r\n }\r\n this._buffer.push(data);\r\n this._sendBufferedData.resolve();\r\n }\r\n async _sendLoop() {\r\n while (true) {\r\n await this._sendBufferedData.promise;\r\n if (!this._executing) {\r\n if (this._transportResult) {\r\n this._transportResult.reject(\"Connection stopped.\");\r\n }\r\n break;\r\n }\r\n this._sendBufferedData = new PromiseSource();\r\n const transportResult = this._transportResult;\r\n this._transportResult = undefined;\r\n const data = typeof (this._buffer[0]) === \"string\" ?\r\n this._buffer.join(\"\") :\r\n TransportSendQueue._concatBuffers(this._buffer);\r\n this._buffer.length = 0;\r\n try {\r\n await this._transport.send(data);\r\n transportResult.resolve();\r\n }\r\n catch (error) {\r\n transportResult.reject(error);\r\n }\r\n }\r\n }\r\n static _concatBuffers(arrayBuffers) {\r\n const totalLength = arrayBuffers.map((b) => b.byteLength).reduce((a, b) => a + b);\r\n const result = new Uint8Array(totalLength);\r\n let offset = 0;\r\n for (const item of arrayBuffers) {\r\n result.set(new Uint8Array(item), offset);\r\n offset += item.byteLength;\r\n }\r\n return result.buffer;\r\n }\r\n}\r\nclass PromiseSource {\r\n constructor() {\r\n this.promise = new Promise((resolve, reject) => [this._resolver, this._rejecter] = [resolve, reject]);\r\n }\r\n resolve() {\r\n this._resolver();\r\n }\r\n reject(reason) {\r\n this._rejecter(reason);\r\n }\r\n}\r\n//# sourceMappingURL=HttpConnection.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { DefaultReconnectPolicy } from \"./DefaultReconnectPolicy\";\r\nimport { HttpConnection } from \"./HttpConnection\";\r\nimport { HubConnection } from \"./HubConnection\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { Arg, ConsoleLogger } from \"./Utils\";\r\nconst LogLevelNameMapping = {\r\n trace: LogLevel.Trace,\r\n debug: LogLevel.Debug,\r\n info: LogLevel.Information,\r\n information: LogLevel.Information,\r\n warn: LogLevel.Warning,\r\n warning: LogLevel.Warning,\r\n error: LogLevel.Error,\r\n critical: LogLevel.Critical,\r\n none: LogLevel.None,\r\n};\r\nfunction parseLogLevel(name) {\r\n // Case-insensitive matching via lower-casing\r\n // Yes, I know case-folding is a complicated problem in Unicode, but we only support\r\n // the ASCII strings defined in LogLevelNameMapping anyway, so it's fine -anurse.\r\n const mapping = LogLevelNameMapping[name.toLowerCase()];\r\n if (typeof mapping !== \"undefined\") {\r\n return mapping;\r\n }\r\n else {\r\n throw new Error(`Unknown log level: ${name}`);\r\n }\r\n}\r\n/** A builder for configuring {@link @microsoft/signalr.HubConnection} instances. */\r\nexport class HubConnectionBuilder {\r\n configureLogging(logging) {\r\n Arg.isRequired(logging, \"logging\");\r\n if (isLogger(logging)) {\r\n this.logger = logging;\r\n }\r\n else if (typeof logging === \"string\") {\r\n const logLevel = parseLogLevel(logging);\r\n this.logger = new ConsoleLogger(logLevel);\r\n }\r\n else {\r\n this.logger = new ConsoleLogger(logging);\r\n }\r\n return this;\r\n }\r\n withUrl(url, transportTypeOrOptions) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isNotEmpty(url, \"url\");\r\n this.url = url;\r\n // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed\r\n // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.\r\n if (typeof transportTypeOrOptions === \"object\") {\r\n this.httpConnectionOptions = { ...this.httpConnectionOptions, ...transportTypeOrOptions };\r\n }\r\n else {\r\n this.httpConnectionOptions = {\r\n ...this.httpConnectionOptions,\r\n transport: transportTypeOrOptions,\r\n };\r\n }\r\n return this;\r\n }\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use the specified Hub Protocol.\r\n *\r\n * @param {IHubProtocol} protocol The {@link @microsoft/signalr.IHubProtocol} implementation to use.\r\n */\r\n withHubProtocol(protocol) {\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.protocol = protocol;\r\n return this;\r\n }\r\n withAutomaticReconnect(retryDelaysOrReconnectPolicy) {\r\n if (this.reconnectPolicy) {\r\n throw new Error(\"A reconnectPolicy has already been set.\");\r\n }\r\n if (!retryDelaysOrReconnectPolicy) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy();\r\n }\r\n else if (Array.isArray(retryDelaysOrReconnectPolicy)) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy(retryDelaysOrReconnectPolicy);\r\n }\r\n else {\r\n this.reconnectPolicy = retryDelaysOrReconnectPolicy;\r\n }\r\n return this;\r\n }\r\n /** Creates a {@link @microsoft/signalr.HubConnection} from the configuration options specified in this builder.\r\n *\r\n * @returns {HubConnection} The configured {@link @microsoft/signalr.HubConnection}.\r\n */\r\n build() {\r\n // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one\r\n // provided to configureLogger\r\n const httpConnectionOptions = this.httpConnectionOptions || {};\r\n // If it's 'null', the user **explicitly** asked for null, don't mess with it.\r\n if (httpConnectionOptions.logger === undefined) {\r\n // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.\r\n httpConnectionOptions.logger = this.logger;\r\n }\r\n // Now create the connection\r\n if (!this.url) {\r\n throw new Error(\"The 'HubConnectionBuilder.withUrl' method must be called before building the connection.\");\r\n }\r\n const connection = new HttpConnection(this.url, httpConnectionOptions);\r\n return HubConnection.create(connection, this.logger || NullLogger.instance, this.protocol || new JsonHubProtocol(), this.reconnectPolicy);\r\n }\r\n}\r\nfunction isLogger(logger) {\r\n return logger.log !== undefined;\r\n}\r\n//# sourceMappingURL=HubConnectionBuilder.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Defines the type of a Hub Message. */\r\nexport var MessageType;\r\n(function (MessageType) {\r\n /** Indicates the message is an Invocation message and implements the {@link @microsoft/signalr.InvocationMessage} interface. */\r\n MessageType[MessageType[\"Invocation\"] = 1] = \"Invocation\";\r\n /** Indicates the message is a StreamItem message and implements the {@link @microsoft/signalr.StreamItemMessage} interface. */\r\n MessageType[MessageType[\"StreamItem\"] = 2] = \"StreamItem\";\r\n /** Indicates the message is a Completion message and implements the {@link @microsoft/signalr.CompletionMessage} interface. */\r\n MessageType[MessageType[\"Completion\"] = 3] = \"Completion\";\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @microsoft/signalr.StreamInvocationMessage} interface. */\r\n MessageType[MessageType[\"StreamInvocation\"] = 4] = \"StreamInvocation\";\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @microsoft/signalr.CancelInvocationMessage} interface. */\r\n MessageType[MessageType[\"CancelInvocation\"] = 5] = \"CancelInvocation\";\r\n /** Indicates the message is a Ping message and implements the {@link @microsoft/signalr.PingMessage} interface. */\r\n MessageType[MessageType[\"Ping\"] = 6] = \"Ping\";\r\n /** Indicates the message is a Close message and implements the {@link @microsoft/signalr.CloseMessage} interface. */\r\n MessageType[MessageType[\"Close\"] = 7] = \"Close\";\r\n})(MessageType || (MessageType = {}));\r\n//# sourceMappingURL=IHubProtocol.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here.\r\n/** Indicates the severity of a log message.\r\n *\r\n * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc.\r\n */\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n /** Log level for very low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n /** Log level for low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\r\n /** Log level for informational diagnostic messages. */\r\n LogLevel[LogLevel[\"Information\"] = 2] = \"Information\";\r\n /** Log level for diagnostic messages that indicate a non-fatal problem. */\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n /** Log level for diagnostic messages that indicate a failure in the current operation. */\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */\r\n LogLevel[LogLevel[\"Critical\"] = 5] = \"Critical\";\r\n /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */\r\n LogLevel[LogLevel[\"None\"] = 6] = \"None\";\r\n})(LogLevel || (LogLevel = {}));\r\n//# sourceMappingURL=ILogger.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// This will be treated as a bit flag in the future, so we keep it using power-of-two values.\r\n/** Specifies a specific HTTP transport type. */\r\nexport var HttpTransportType;\r\n(function (HttpTransportType) {\r\n /** Specifies no transport preference. */\r\n HttpTransportType[HttpTransportType[\"None\"] = 0] = \"None\";\r\n /** Specifies the WebSockets transport. */\r\n HttpTransportType[HttpTransportType[\"WebSockets\"] = 1] = \"WebSockets\";\r\n /** Specifies the Server-Sent Events transport. */\r\n HttpTransportType[HttpTransportType[\"ServerSentEvents\"] = 2] = \"ServerSentEvents\";\r\n /** Specifies the Long Polling transport. */\r\n HttpTransportType[HttpTransportType[\"LongPolling\"] = 4] = \"LongPolling\";\r\n})(HttpTransportType || (HttpTransportType = {}));\r\n/** Specifies the transfer format for a connection. */\r\nexport var TransferFormat;\r\n(function (TransferFormat) {\r\n /** Specifies that only text data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Text\"] = 1] = \"Text\";\r\n /** Specifies that binary data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Binary\"] = 2] = \"Binary\";\r\n})(TransferFormat || (TransferFormat = {}));\r\n//# sourceMappingURL=ITransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nconst JSON_HUB_PROTOCOL_NAME = \"json\";\r\n/** Implements the JSON Hub Protocol. */\r\nexport class JsonHubProtocol {\r\n constructor() {\r\n /** @inheritDoc */\r\n this.name = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n this.version = 1;\r\n /** @inheritDoc */\r\n this.transferFormat = TransferFormat.Text;\r\n }\r\n /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n parseMessages(input, logger) {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n if (!input) {\r\n return [];\r\n }\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n // Parse the messages\r\n const messages = TextMessageFormat.parse(input);\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = JSON.parse(message);\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this._isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this._isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this._isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n return hubMessages;\r\n }\r\n /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n writeMessage(message) {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n }\r\n _isInvocationMessage(message) {\r\n this._assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n if (message.invocationId !== undefined) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n }\r\n _isStreamItemMessage(message) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n }\r\n _isCompletionMessage(message) {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n if (!message.result && message.error) {\r\n this._assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n }\r\n _assertNotEmptyString(value, errorMessage) {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=JsonHubProtocol.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** A logger that does nothing when log messages are sent to it. */\r\nexport class NullLogger {\r\n constructor() { }\r\n /** @inheritDoc */\r\n // eslint-disable-next-line\r\n log(_logLevel, _message) {\r\n }\r\n}\r\n/** The singleton instance of the {@link @microsoft/signalr.NullLogger}. */\r\nNullLogger.instance = new NullLogger();\r\n//# sourceMappingURL=Loggers.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { SubjectSubscription } from \"./Utils\";\r\n/** Stream implementation to stream items to the server. */\r\nexport class Subject {\r\n constructor() {\r\n this.observers = [];\r\n }\r\n next(item) {\r\n for (const observer of this.observers) {\r\n observer.next(item);\r\n }\r\n }\r\n error(err) {\r\n for (const observer of this.observers) {\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n }\r\n complete() {\r\n for (const observer of this.observers) {\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n }\r\n subscribe(observer) {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n }\r\n}\r\n//# sourceMappingURL=Subject.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// Not exported from index\r\n/** @private */\r\nexport class TextMessageFormat {\r\n static write(output) {\r\n return `${output}${TextMessageFormat.RecordSeparator}`;\r\n }\r\n static parse(input) {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n const messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n }\r\n}\r\nTextMessageFormat.RecordSeparatorCode = 0x1e;\r\nTextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n//# sourceMappingURL=TextMessageFormat.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { NullLogger } from \"./Loggers\";\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR client. */\r\nexport const VERSION = \"7.0.10\";\r\n/** @private */\r\nexport class Arg {\r\n static isRequired(val, name) {\r\n if (val === null || val === undefined) {\r\n throw new Error(`The '${name}' argument is required.`);\r\n }\r\n }\r\n static isNotEmpty(val, name) {\r\n if (!val || val.match(/^\\s*$/)) {\r\n throw new Error(`The '${name}' argument should not be empty.`);\r\n }\r\n }\r\n static isIn(val, values, name) {\r\n // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.\r\n if (!(val in values)) {\r\n throw new Error(`Unknown ${name} value: ${val}.`);\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport class Platform {\r\n // react-native has a window but no document so we should check both\r\n static get isBrowser() {\r\n return typeof window === \"object\" && typeof window.document === \"object\";\r\n }\r\n // WebWorkers don't have a window object so the isBrowser check would fail\r\n static get isWebWorker() {\r\n return typeof self === \"object\" && \"importScripts\" in self;\r\n }\r\n // react-native has a window but no document\r\n static get isReactNative() {\r\n return typeof window === \"object\" && typeof window.document === \"undefined\";\r\n }\r\n // Node apps shouldn't have a window object, but WebWorkers don't either\r\n // so we need to check for both WebWorker and window\r\n static get isNode() {\r\n return !this.isBrowser && !this.isWebWorker && !this.isReactNative;\r\n }\r\n}\r\n/** @private */\r\nexport function getDataDetail(data, includeContent) {\r\n let detail = \"\";\r\n if (isArrayBuffer(data)) {\r\n detail = `Binary data of length ${data.byteLength}`;\r\n if (includeContent) {\r\n detail += `. Content: '${formatArrayBuffer(data)}'`;\r\n }\r\n }\r\n else if (typeof data === \"string\") {\r\n detail = `String data of length ${data.length}`;\r\n if (includeContent) {\r\n detail += `. Content: '${data}'`;\r\n }\r\n }\r\n return detail;\r\n}\r\n/** @private */\r\nexport function formatArrayBuffer(data) {\r\n const view = new Uint8Array(data);\r\n // Uint8Array.map only supports returning another Uint8Array?\r\n let str = \"\";\r\n view.forEach((num) => {\r\n const pad = num < 16 ? \"0\" : \"\";\r\n str += `0x${pad}${num.toString(16)} `;\r\n });\r\n // Trim of trailing space.\r\n return str.substr(0, str.length - 1);\r\n}\r\n// Also in signalr-protocol-msgpack/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val) {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n/** @private */\r\nexport async function sendMessage(logger, transportName, httpClient, url, content, options) {\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n logger.log(LogLevel.Trace, `(${transportName} transport) sending data. ${getDataDetail(content, options.logMessageContent)}.`);\r\n const responseType = isArrayBuffer(content) ? \"arraybuffer\" : \"text\";\r\n const response = await httpClient.post(url, {\r\n content,\r\n headers: { ...headers, ...options.headers },\r\n responseType,\r\n timeout: options.timeout,\r\n withCredentials: options.withCredentials,\r\n });\r\n logger.log(LogLevel.Trace, `(${transportName} transport) request complete. Response status: ${response.statusCode}.`);\r\n}\r\n/** @private */\r\nexport function createLogger(logger) {\r\n if (logger === undefined) {\r\n return new ConsoleLogger(LogLevel.Information);\r\n }\r\n if (logger === null) {\r\n return NullLogger.instance;\r\n }\r\n if (logger.log !== undefined) {\r\n return logger;\r\n }\r\n return new ConsoleLogger(logger);\r\n}\r\n/** @private */\r\nexport class SubjectSubscription {\r\n constructor(subject, observer) {\r\n this._subject = subject;\r\n this._observer = observer;\r\n }\r\n dispose() {\r\n const index = this._subject.observers.indexOf(this._observer);\r\n if (index > -1) {\r\n this._subject.observers.splice(index, 1);\r\n }\r\n if (this._subject.observers.length === 0 && this._subject.cancelCallback) {\r\n this._subject.cancelCallback().catch((_) => { });\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport class ConsoleLogger {\r\n constructor(minimumLogLevel) {\r\n this._minLevel = minimumLogLevel;\r\n this.out = console;\r\n }\r\n log(logLevel, message) {\r\n if (logLevel >= this._minLevel) {\r\n const msg = `[${new Date().toISOString()}] ${LogLevel[logLevel]}: ${message}`;\r\n switch (logLevel) {\r\n case LogLevel.Critical:\r\n case LogLevel.Error:\r\n this.out.error(msg);\r\n break;\r\n case LogLevel.Warning:\r\n this.out.warn(msg);\r\n break;\r\n case LogLevel.Information:\r\n this.out.info(msg);\r\n break;\r\n default:\r\n // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug\r\n this.out.log(msg);\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport function getUserAgentHeader() {\r\n let userAgentHeaderName = \"X-SignalR-User-Agent\";\r\n if (Platform.isNode) {\r\n userAgentHeaderName = \"User-Agent\";\r\n }\r\n return [userAgentHeaderName, constructUserAgent(VERSION, getOsName(), getRuntime(), getRuntimeVersion())];\r\n}\r\n/** @private */\r\nexport function constructUserAgent(version, os, runtime, runtimeVersion) {\r\n // Microsoft SignalR/[Version] ([Detailed Version]; [Operating System]; [Runtime]; [Runtime Version])\r\n let userAgent = \"Microsoft SignalR/\";\r\n const majorAndMinor = version.split(\".\");\r\n userAgent += `${majorAndMinor[0]}.${majorAndMinor[1]}`;\r\n userAgent += ` (${version}; `;\r\n if (os && os !== \"\") {\r\n userAgent += `${os}; `;\r\n }\r\n else {\r\n userAgent += \"Unknown OS; \";\r\n }\r\n userAgent += `${runtime}`;\r\n if (runtimeVersion) {\r\n userAgent += `; ${runtimeVersion}`;\r\n }\r\n else {\r\n userAgent += \"; Unknown Runtime Version\";\r\n }\r\n userAgent += \")\";\r\n return userAgent;\r\n}\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getOsName() {\r\n if (Platform.isNode) {\r\n switch (process.platform) {\r\n case \"win32\":\r\n return \"Windows NT\";\r\n case \"darwin\":\r\n return \"macOS\";\r\n case \"linux\":\r\n return \"Linux\";\r\n default:\r\n return process.platform;\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n}\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getRuntimeVersion() {\r\n if (Platform.isNode) {\r\n return process.versions.node;\r\n }\r\n return undefined;\r\n}\r\nfunction getRuntime() {\r\n if (Platform.isNode) {\r\n return \"NodeJS\";\r\n }\r\n else {\r\n return \"Browser\";\r\n }\r\n}\r\n/** @private */\r\nexport function getErrorString(e) {\r\n if (e.stack) {\r\n return e.stack;\r\n }\r\n else if (e.message) {\r\n return e.message;\r\n }\r\n return `${e}`;\r\n}\r\n/** @private */\r\nexport function getGlobalThis() {\r\n // globalThis is semi-new and not available in Node until v12\r\n if (typeof globalThis !== \"undefined\") {\r\n return globalThis;\r\n }\r\n if (typeof self !== \"undefined\") {\r\n return self;\r\n }\r\n if (typeof window !== \"undefined\") {\r\n return window;\r\n }\r\n if (typeof global !== \"undefined\") {\r\n return global;\r\n }\r\n throw new Error(\"could not find global\");\r\n}\r\n//# sourceMappingURL=Utils.js.map","/**\n * vee-validate v4.7.0\n * (c) 2022 Abdelrahman Awad\n * @license MIT\n */\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\r\nconst isObject = (obj) => obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj);\n\n/**\r\n * Replaces placeholder values in a string with their actual values\r\n */\r\nfunction interpolate(template, values) {\r\n return template.replace(/(\\d:)?{([^}]+)}/g, function (_, param, placeholder) {\r\n if (!param || !values.params) {\r\n return placeholder in values\r\n ? values[placeholder]\r\n : values.params && placeholder in values.params\r\n ? values.params[placeholder]\r\n : `{${placeholder}}`;\r\n }\r\n // Handles extended object params format\r\n if (!Array.isArray(values.params)) {\r\n return placeholder in values.params ? values.params[placeholder] : `{${placeholder}}`;\r\n }\r\n // Extended Params exit in the format of `paramIndex:{paramName}` where the index is optional\r\n const paramIndex = Number(param.replace(':', ''));\r\n return paramIndex in values.params ? values.params[paramIndex] : `${param}{${placeholder}}`;\r\n });\r\n}\r\nfunction merge(target, source) {\r\n Object.keys(source).forEach(key => {\r\n if (isObject(source[key])) {\r\n if (!target[key]) {\r\n target[key] = {};\r\n }\r\n merge(target[key], source[key]);\r\n return;\r\n }\r\n target[key] = source[key];\r\n });\r\n return target;\r\n}\n\nclass Dictionary {\r\n constructor(locale, dictionary) {\r\n this.container = {};\r\n this.locale = locale;\r\n this.merge(dictionary);\r\n }\r\n resolve(ctx) {\r\n return this.format(this.locale, ctx);\r\n }\r\n getLocaleDefault(locale, field) {\r\n var _a, _b, _c, _d, _e;\r\n return ((_c = (_b = (_a = this.container[locale]) === null || _a === void 0 ? void 0 : _a.fields) === null || _b === void 0 ? void 0 : _b[field]) === null || _c === void 0 ? void 0 : _c._default) || ((_e = (_d = this.container[locale]) === null || _d === void 0 ? void 0 : _d.messages) === null || _e === void 0 ? void 0 : _e._default);\r\n }\r\n format(locale, ctx) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n let message;\r\n const { field, rule, form } = ctx;\r\n const fieldName = (_c = (_b = (_a = this.container[locale]) === null || _a === void 0 ? void 0 : _a.names) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : field;\r\n if (!rule) {\r\n message = this.getLocaleDefault(locale, field) || `${fieldName} is not valid`;\r\n return isCallable(message) ? message(ctx) : interpolate(message, Object.assign(Object.assign({}, form), { field: fieldName }));\r\n }\r\n // find if specific message for that field was specified.\r\n message = ((_f = (_e = (_d = this.container[locale]) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[field]) === null || _f === void 0 ? void 0 : _f[rule.name]) || ((_h = (_g = this.container[locale]) === null || _g === void 0 ? void 0 : _g.messages) === null || _h === void 0 ? void 0 : _h[rule.name]);\r\n if (!message) {\r\n message = this.getLocaleDefault(locale, field) || `${fieldName} is not valid`;\r\n }\r\n return isCallable(message)\r\n ? message(ctx)\r\n : interpolate(message, Object.assign(Object.assign({}, form), { field: fieldName, params: rule.params }));\r\n }\r\n merge(dictionary) {\r\n merge(this.container, dictionary);\r\n }\r\n}\r\nlet DICTIONARY;\r\nfunction localize(locale, dictionary) {\r\n if (!DICTIONARY) {\r\n DICTIONARY = new Dictionary('en', {});\r\n }\r\n const generateMessage = ctx => {\r\n return DICTIONARY.resolve(ctx);\r\n };\r\n if (typeof locale === 'string') {\r\n DICTIONARY.locale = locale;\r\n if (dictionary) {\r\n DICTIONARY.merge({ [locale]: dictionary });\r\n }\r\n return generateMessage;\r\n }\r\n DICTIONARY.merge(locale);\r\n return generateMessage;\r\n}\r\n/**\r\n * Sets the locale\r\n */\r\nfunction setLocale(locale) {\r\n DICTIONARY.locale = locale;\r\n}\r\n/**\r\n * Loads a locale file from URL and merges it with the current dictionary\r\n */\r\nasync function loadLocaleFromURL(url) {\r\n try {\r\n const locale = await fetch(url, {\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n }).then(res => res.json());\r\n if (!locale.code) {\r\n console.error('Could not identify locale, ensure the locale file contains `code` field');\r\n return;\r\n }\r\n localize({ [locale.code]: locale });\r\n }\r\n catch (err) {\r\n console.error(`Failed to load locale `);\r\n }\r\n}\n\nexport { loadLocaleFromURL, localize, setLocale };\n","/**\n* @vue/compiler-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { isString, NOOP, isObject, NO, extend, isSymbol, isArray, capitalize, camelize, EMPTY_OBJ, PatchFlagNames, slotFlagsText, isOn, isBuiltInDirective, isReservedProp, toHandlerKey } from '@vue/shared';\nexport { generateCodeFrame } from '@vue/shared';\n\nconst FRAGMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Fragment` : ``);\nconst TELEPORT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Teleport` : ``);\nconst SUSPENSE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Suspense` : ``);\nconst KEEP_ALIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `KeepAlive` : ``);\nconst BASE_TRANSITION = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `BaseTransition` : ``\n);\nconst OPEN_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `openBlock` : ``);\nconst CREATE_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createBlock` : ``);\nconst CREATE_ELEMENT_BLOCK = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `createElementBlock` : ``\n);\nconst CREATE_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createVNode` : ``);\nconst CREATE_ELEMENT_VNODE = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `createElementVNode` : ``\n);\nconst CREATE_COMMENT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `createCommentVNode` : ``\n);\nconst CREATE_TEXT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `createTextVNode` : ``\n);\nconst CREATE_STATIC = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `createStaticVNode` : ``\n);\nconst RESOLVE_COMPONENT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveComponent` : ``\n);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveDynamicComponent` : ``\n);\nconst RESOLVE_DIRECTIVE = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveDirective` : ``\n);\nconst RESOLVE_FILTER = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveFilter` : ``\n);\nconst WITH_DIRECTIVES = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `withDirectives` : ``\n);\nconst RENDER_LIST = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderList` : ``);\nconst RENDER_SLOT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderSlot` : ``);\nconst CREATE_SLOTS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createSlots` : ``);\nconst TO_DISPLAY_STRING = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `toDisplayString` : ``\n);\nconst MERGE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `mergeProps` : ``);\nconst NORMALIZE_CLASS = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `normalizeClass` : ``\n);\nconst NORMALIZE_STYLE = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `normalizeStyle` : ``\n);\nconst NORMALIZE_PROPS = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `normalizeProps` : ``\n);\nconst GUARD_REACTIVE_PROPS = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `guardReactiveProps` : ``\n);\nconst TO_HANDLERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlers` : ``);\nconst CAMELIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `camelize` : ``);\nconst CAPITALIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `capitalize` : ``);\nconst TO_HANDLER_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `toHandlerKey` : ``\n);\nconst SET_BLOCK_TRACKING = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `setBlockTracking` : ``\n);\nconst PUSH_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `pushScopeId` : ``);\nconst POP_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `popScopeId` : ``);\nconst WITH_CTX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withCtx` : ``);\nconst UNREF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `unref` : ``);\nconst IS_REF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isRef` : ``);\nconst WITH_MEMO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withMemo` : ``);\nconst IS_MEMO_SAME = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isMemoSame` : ``);\nconst helperNameMap = {\n [FRAGMENT]: `Fragment`,\n [TELEPORT]: `Teleport`,\n [SUSPENSE]: `Suspense`,\n [KEEP_ALIVE]: `KeepAlive`,\n [BASE_TRANSITION]: `BaseTransition`,\n [OPEN_BLOCK]: `openBlock`,\n [CREATE_BLOCK]: `createBlock`,\n [CREATE_ELEMENT_BLOCK]: `createElementBlock`,\n [CREATE_VNODE]: `createVNode`,\n [CREATE_ELEMENT_VNODE]: `createElementVNode`,\n [CREATE_COMMENT]: `createCommentVNode`,\n [CREATE_TEXT]: `createTextVNode`,\n [CREATE_STATIC]: `createStaticVNode`,\n [RESOLVE_COMPONENT]: `resolveComponent`,\n [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,\n [RESOLVE_DIRECTIVE]: `resolveDirective`,\n [RESOLVE_FILTER]: `resolveFilter`,\n [WITH_DIRECTIVES]: `withDirectives`,\n [RENDER_LIST]: `renderList`,\n [RENDER_SLOT]: `renderSlot`,\n [CREATE_SLOTS]: `createSlots`,\n [TO_DISPLAY_STRING]: `toDisplayString`,\n [MERGE_PROPS]: `mergeProps`,\n [NORMALIZE_CLASS]: `normalizeClass`,\n [NORMALIZE_STYLE]: `normalizeStyle`,\n [NORMALIZE_PROPS]: `normalizeProps`,\n [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,\n [TO_HANDLERS]: `toHandlers`,\n [CAMELIZE]: `camelize`,\n [CAPITALIZE]: `capitalize`,\n [TO_HANDLER_KEY]: `toHandlerKey`,\n [SET_BLOCK_TRACKING]: `setBlockTracking`,\n [PUSH_SCOPE_ID]: `pushScopeId`,\n [POP_SCOPE_ID]: `popScopeId`,\n [WITH_CTX]: `withCtx`,\n [UNREF]: `unref`,\n [IS_REF]: `isRef`,\n [WITH_MEMO]: `withMemo`,\n [IS_MEMO_SAME]: `isMemoSame`\n};\nfunction registerRuntimeHelpers(helpers) {\n Object.getOwnPropertySymbols(helpers).forEach((s) => {\n helperNameMap[s] = helpers[s];\n });\n}\n\nconst Namespaces = {\n \"HTML\": 0,\n \"0\": \"HTML\",\n \"SVG\": 1,\n \"1\": \"SVG\",\n \"MATH_ML\": 2,\n \"2\": \"MATH_ML\"\n};\nconst NodeTypes = {\n \"ROOT\": 0,\n \"0\": \"ROOT\",\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"TEXT\": 2,\n \"2\": \"TEXT\",\n \"COMMENT\": 3,\n \"3\": \"COMMENT\",\n \"SIMPLE_EXPRESSION\": 4,\n \"4\": \"SIMPLE_EXPRESSION\",\n \"INTERPOLATION\": 5,\n \"5\": \"INTERPOLATION\",\n \"ATTRIBUTE\": 6,\n \"6\": \"ATTRIBUTE\",\n \"DIRECTIVE\": 7,\n \"7\": \"DIRECTIVE\",\n \"COMPOUND_EXPRESSION\": 8,\n \"8\": \"COMPOUND_EXPRESSION\",\n \"IF\": 9,\n \"9\": \"IF\",\n \"IF_BRANCH\": 10,\n \"10\": \"IF_BRANCH\",\n \"FOR\": 11,\n \"11\": \"FOR\",\n \"TEXT_CALL\": 12,\n \"12\": \"TEXT_CALL\",\n \"VNODE_CALL\": 13,\n \"13\": \"VNODE_CALL\",\n \"JS_CALL_EXPRESSION\": 14,\n \"14\": \"JS_CALL_EXPRESSION\",\n \"JS_OBJECT_EXPRESSION\": 15,\n \"15\": \"JS_OBJECT_EXPRESSION\",\n \"JS_PROPERTY\": 16,\n \"16\": \"JS_PROPERTY\",\n \"JS_ARRAY_EXPRESSION\": 17,\n \"17\": \"JS_ARRAY_EXPRESSION\",\n \"JS_FUNCTION_EXPRESSION\": 18,\n \"18\": \"JS_FUNCTION_EXPRESSION\",\n \"JS_CONDITIONAL_EXPRESSION\": 19,\n \"19\": \"JS_CONDITIONAL_EXPRESSION\",\n \"JS_CACHE_EXPRESSION\": 20,\n \"20\": \"JS_CACHE_EXPRESSION\",\n \"JS_BLOCK_STATEMENT\": 21,\n \"21\": \"JS_BLOCK_STATEMENT\",\n \"JS_TEMPLATE_LITERAL\": 22,\n \"22\": \"JS_TEMPLATE_LITERAL\",\n \"JS_IF_STATEMENT\": 23,\n \"23\": \"JS_IF_STATEMENT\",\n \"JS_ASSIGNMENT_EXPRESSION\": 24,\n \"24\": \"JS_ASSIGNMENT_EXPRESSION\",\n \"JS_SEQUENCE_EXPRESSION\": 25,\n \"25\": \"JS_SEQUENCE_EXPRESSION\",\n \"JS_RETURN_STATEMENT\": 26,\n \"26\": \"JS_RETURN_STATEMENT\"\n};\nconst ElementTypes = {\n \"ELEMENT\": 0,\n \"0\": \"ELEMENT\",\n \"COMPONENT\": 1,\n \"1\": \"COMPONENT\",\n \"SLOT\": 2,\n \"2\": \"SLOT\",\n \"TEMPLATE\": 3,\n \"3\": \"TEMPLATE\"\n};\nconst ConstantTypes = {\n \"NOT_CONSTANT\": 0,\n \"0\": \"NOT_CONSTANT\",\n \"CAN_SKIP_PATCH\": 1,\n \"1\": \"CAN_SKIP_PATCH\",\n \"CAN_CACHE\": 2,\n \"2\": \"CAN_CACHE\",\n \"CAN_STRINGIFY\": 3,\n \"3\": \"CAN_STRINGIFY\"\n};\nconst locStub = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 },\n source: \"\"\n};\nfunction createRoot(children, source = \"\") {\n return {\n type: 0,\n source,\n children,\n helpers: /* @__PURE__ */ new Set(),\n components: [],\n directives: [],\n hoists: [],\n imports: [],\n cached: [],\n temps: 0,\n codegenNode: void 0,\n loc: locStub\n };\n}\nfunction createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {\n if (context) {\n if (isBlock) {\n context.helper(OPEN_BLOCK);\n context.helper(getVNodeBlockHelper(context.inSSR, isComponent));\n } else {\n context.helper(getVNodeHelper(context.inSSR, isComponent));\n }\n if (directives) {\n context.helper(WITH_DIRECTIVES);\n }\n }\n return {\n type: 13,\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent,\n loc\n };\n}\nfunction createArrayExpression(elements, loc = locStub) {\n return {\n type: 17,\n loc,\n elements\n };\n}\nfunction createObjectExpression(properties, loc = locStub) {\n return {\n type: 15,\n loc,\n properties\n };\n}\nfunction createObjectProperty(key, value) {\n return {\n type: 16,\n loc: locStub,\n key: isString(key) ? createSimpleExpression(key, true) : key,\n value\n };\n}\nfunction createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {\n return {\n type: 4,\n loc,\n content,\n isStatic,\n constType: isStatic ? 3 : constType\n };\n}\nfunction createInterpolation(content, loc) {\n return {\n type: 5,\n loc,\n content: isString(content) ? createSimpleExpression(content, false, loc) : content\n };\n}\nfunction createCompoundExpression(children, loc = locStub) {\n return {\n type: 8,\n loc,\n children\n };\n}\nfunction createCallExpression(callee, args = [], loc = locStub) {\n return {\n type: 14,\n loc,\n callee,\n arguments: args\n };\n}\nfunction createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {\n return {\n type: 18,\n params,\n returns,\n newline,\n isSlot,\n loc\n };\n}\nfunction createConditionalExpression(test, consequent, alternate, newline = true) {\n return {\n type: 19,\n test,\n consequent,\n alternate,\n newline,\n loc: locStub\n };\n}\nfunction createCacheExpression(index, value, needPauseTracking = false, inVOnce = false) {\n return {\n type: 20,\n index,\n value,\n needPauseTracking,\n inVOnce,\n needArraySpread: false,\n loc: locStub\n };\n}\nfunction createBlockStatement(body) {\n return {\n type: 21,\n body,\n loc: locStub\n };\n}\nfunction createTemplateLiteral(elements) {\n return {\n type: 22,\n elements,\n loc: locStub\n };\n}\nfunction createIfStatement(test, consequent, alternate) {\n return {\n type: 23,\n test,\n consequent,\n alternate,\n loc: locStub\n };\n}\nfunction createAssignmentExpression(left, right) {\n return {\n type: 24,\n left,\n right,\n loc: locStub\n };\n}\nfunction createSequenceExpression(expressions) {\n return {\n type: 25,\n expressions,\n loc: locStub\n };\n}\nfunction createReturnStatement(returns) {\n return {\n type: 26,\n returns,\n loc: locStub\n };\n}\nfunction getVNodeHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;\n}\nfunction getVNodeBlockHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;\n}\nfunction convertToBlock(node, { helper, removeHelper, inSSR }) {\n if (!node.isBlock) {\n node.isBlock = true;\n removeHelper(getVNodeHelper(inSSR, node.isComponent));\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(inSSR, node.isComponent));\n }\n}\n\nconst defaultDelimitersOpen = new Uint8Array([123, 123]);\nconst defaultDelimitersClose = new Uint8Array([125, 125]);\nfunction isTagStartChar(c) {\n return c >= 97 && c <= 122 || c >= 65 && c <= 90;\n}\nfunction isWhitespace(c) {\n return c === 32 || c === 10 || c === 9 || c === 12 || c === 13;\n}\nfunction isEndOfTagSection(c) {\n return c === 47 || c === 62 || isWhitespace(c);\n}\nfunction toCharCodes(str) {\n const ret = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n ret[i] = str.charCodeAt(i);\n }\n return ret;\n}\nconst Sequences = {\n Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),\n // CDATA[\n CdataEnd: new Uint8Array([93, 93, 62]),\n // ]]>\n CommentEnd: new Uint8Array([45, 45, 62]),\n // `-->`\n ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),\n // `<\\/script`\n StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),\n // `= 0; i--) {\n const newlineIndex = this.newlines[i];\n if (index > newlineIndex) {\n line = i + 2;\n column = index - newlineIndex;\n break;\n }\n }\n return {\n column,\n line,\n offset: index\n };\n }\n peek() {\n return this.buffer.charCodeAt(this.index + 1);\n }\n stateText(c) {\n if (c === 60) {\n if (this.index > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!this.inVPre && c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n }\n stateInterpolationOpen(c) {\n if (c === this.delimiterOpen[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterOpen.length - 1) {\n const start = this.index + 1 - this.delimiterOpen.length;\n if (start > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, start);\n }\n this.state = 3;\n this.sectionStart = start;\n } else {\n this.delimiterIndex++;\n }\n } else if (this.inRCDATA) {\n this.state = 32;\n this.stateInRCDATA(c);\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInterpolation(c) {\n if (c === this.delimiterClose[0]) {\n this.state = 4;\n this.delimiterIndex = 0;\n this.stateInterpolationClose(c);\n }\n }\n stateInterpolationClose(c) {\n if (c === this.delimiterClose[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterClose.length - 1) {\n this.cbs.oninterpolation(this.sectionStart, this.index + 1);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else {\n this.delimiterIndex++;\n }\n } else {\n this.state = 3;\n this.stateInterpolation(c);\n }\n }\n stateSpecialStartSequence(c) {\n const isEnd = this.sequenceIndex === this.currentSequence.length;\n const isMatch = isEnd ? (\n // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n ) : (\n // Otherwise, do a case-insensitive comparison\n (c | 32) === this.currentSequence[this.sequenceIndex]\n );\n if (!isMatch) {\n this.inRCDATA = false;\n } else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = 6;\n this.stateInTagName(c);\n }\n /** Look for an end tag. For and <textarea>, also decode entities. */\n stateInRCDATA(c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === 62 || isWhitespace(c)) {\n const endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n const actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.sectionStart = endOfText + 2;\n this.stateInClosingTagName(c);\n this.inRCDATA = false;\n return;\n }\n this.sequenceIndex = 0;\n }\n if ((c | 32) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n } else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {\n if (!this.inVPre && c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n } else if (this.fastForwardTo(60)) {\n this.sequenceIndex = 1;\n }\n } else {\n this.sequenceIndex = Number(c === 60);\n }\n }\n stateCDATASequence(c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = 28;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n } else {\n this.sequenceIndex = 0;\n this.state = 23;\n this.stateInDeclaration(c);\n }\n }\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n fastForwardTo(c) {\n while (++this.index < this.buffer.length) {\n const cc = this.buffer.charCodeAt(this.index);\n if (cc === 10) {\n this.newlines.push(this.index);\n }\n if (cc === c) {\n return true;\n }\n }\n this.index = this.buffer.length - 1;\n return false;\n }\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n stateInCommentLike(c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index - 2);\n } else {\n this.cbs.oncomment(this.sectionStart, this.index - 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = 1;\n }\n } else if (this.sequenceIndex === 0) {\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n } else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n this.sequenceIndex = 0;\n }\n }\n startSpecial(sequence, offset) {\n this.enterRCDATA(sequence, offset);\n this.state = 31;\n }\n enterRCDATA(sequence, offset) {\n this.inRCDATA = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n }\n stateBeforeTagName(c) {\n if (c === 33) {\n this.state = 22;\n this.sectionStart = this.index + 1;\n } else if (c === 63) {\n this.state = 24;\n this.sectionStart = this.index + 1;\n } else if (isTagStartChar(c)) {\n this.sectionStart = this.index;\n if (this.mode === 0) {\n this.state = 6;\n } else if (this.inSFCRoot) {\n this.state = 34;\n } else if (!this.inXML) {\n if (c === 116) {\n this.state = 30;\n } else {\n this.state = c === 115 ? 29 : 6;\n }\n } else {\n this.state = 6;\n }\n } else if (c === 47) {\n this.state = 8;\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInTagName(c) {\n if (isEndOfTagSection(c)) {\n this.handleTagName(c);\n }\n }\n stateInSFCRootTagName(c) {\n if (isEndOfTagSection(c)) {\n const tag = this.buffer.slice(this.sectionStart, this.index);\n if (tag !== \"template\") {\n this.enterRCDATA(toCharCodes(`</` + tag), 0);\n }\n this.handleTagName(c);\n }\n }\n handleTagName(c) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n stateBeforeClosingTagName(c) {\n if (isWhitespace(c)) ; else if (c === 62) {\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n this.cbs.onerr(14, this.index);\n }\n this.state = 1;\n this.sectionStart = this.index + 1;\n } else {\n this.state = isTagStartChar(c) ? 9 : 27;\n this.sectionStart = this.index;\n }\n }\n stateInClosingTagName(c) {\n if (c === 62 || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 10;\n this.stateAfterClosingTagName(c);\n }\n }\n stateAfterClosingTagName(c) {\n if (c === 62) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeAttrName(c) {\n if (c === 62) {\n this.cbs.onopentagend(this.index);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else if (c === 47) {\n this.state = 7;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && this.peek() !== 62) {\n this.cbs.onerr(22, this.index);\n }\n } else if (c === 60 && this.peek() === 47) {\n this.cbs.onopentagend(this.index);\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!isWhitespace(c)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && c === 61) {\n this.cbs.onerr(\n 19,\n this.index\n );\n }\n this.handleAttrStart(c);\n }\n }\n handleAttrStart(c) {\n if (c === 118 && this.peek() === 45) {\n this.state = 13;\n this.sectionStart = this.index;\n } else if (c === 46 || c === 58 || c === 64 || c === 35) {\n this.cbs.ondirname(this.index, this.index + 1);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 12;\n this.sectionStart = this.index;\n }\n }\n stateInSelfClosingTag(c) {\n if (c === 62) {\n this.cbs.onselfclosingtag(this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n this.inRCDATA = false;\n } else if (!isWhitespace(c)) {\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n }\n stateInAttrName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if ((!!(process.env.NODE_ENV !== \"production\") || false) && (c === 34 || c === 39 || c === 60)) {\n this.cbs.onerr(\n 17,\n this.index\n );\n }\n }\n stateInDirName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 58) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else if (c === 46) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDirArg(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 91) {\n this.state = 15;\n } else if (c === 46) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDynamicDirArg(c) {\n if (c === 93) {\n this.state = 14;\n } else if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index + 1);\n this.handleAttrNameEnd(c);\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n this.cbs.onerr(\n 27,\n this.index\n );\n }\n }\n }\n stateInDirModifier(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 46) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.sectionStart = this.index + 1;\n }\n }\n handleAttrNameEnd(c) {\n this.sectionStart = this.index;\n this.state = 17;\n this.cbs.onattribnameend(this.index);\n this.stateAfterAttrName(c);\n }\n stateAfterAttrName(c) {\n if (c === 61) {\n this.state = 18;\n } else if (c === 47 || c === 62) {\n this.cbs.onattribend(0, this.sectionStart);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if (!isWhitespace(c)) {\n this.cbs.onattribend(0, this.sectionStart);\n this.handleAttrStart(c);\n }\n }\n stateBeforeAttrValue(c) {\n if (c === 34) {\n this.state = 19;\n this.sectionStart = this.index + 1;\n } else if (c === 39) {\n this.state = 20;\n this.sectionStart = this.index + 1;\n } else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = 21;\n this.stateInAttrValueNoQuotes(c);\n }\n }\n handleInAttrValue(c, quote) {\n if (c === quote || this.fastForwardTo(quote)) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(\n quote === 34 ? 3 : 2,\n this.index + 1\n );\n this.state = 11;\n }\n }\n stateInAttrValueDoubleQuotes(c) {\n this.handleInAttrValue(c, 34);\n }\n stateInAttrValueSingleQuotes(c) {\n this.handleInAttrValue(c, 39);\n }\n stateInAttrValueNoQuotes(c) {\n if (isWhitespace(c) || c === 62) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(1, this.index);\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if ((!!(process.env.NODE_ENV !== \"production\") || false) && c === 34 || c === 39 || c === 60 || c === 61 || c === 96) {\n this.cbs.onerr(\n 18,\n this.index\n );\n } else ;\n }\n stateBeforeDeclaration(c) {\n if (c === 91) {\n this.state = 26;\n this.sequenceIndex = 0;\n } else {\n this.state = c === 45 ? 25 : 23;\n }\n }\n stateInDeclaration(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateInProcessingInstruction(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeComment(c) {\n if (c === 45) {\n this.state = 28;\n this.currentSequence = Sequences.CommentEnd;\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 23;\n }\n }\n stateInSpecialComment(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.oncomment(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeSpecialS(c) {\n if (c === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n } else if (c === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n stateBeforeSpecialT(c) {\n if (c === Sequences.TitleEnd[3]) {\n this.startSpecial(Sequences.TitleEnd, 4);\n } else if (c === Sequences.TextareaEnd[3]) {\n this.startSpecial(Sequences.TextareaEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n startEntity() {\n }\n stateInEntity() {\n }\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n parse(input) {\n this.buffer = input;\n while (this.index < this.buffer.length) {\n const c = this.buffer.charCodeAt(this.index);\n if (c === 10) {\n this.newlines.push(this.index);\n }\n switch (this.state) {\n case 1: {\n this.stateText(c);\n break;\n }\n case 2: {\n this.stateInterpolationOpen(c);\n break;\n }\n case 3: {\n this.stateInterpolation(c);\n break;\n }\n case 4: {\n this.stateInterpolationClose(c);\n break;\n }\n case 31: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case 32: {\n this.stateInRCDATA(c);\n break;\n }\n case 26: {\n this.stateCDATASequence(c);\n break;\n }\n case 19: {\n this.stateInAttrValueDoubleQuotes(c);\n break;\n }\n case 12: {\n this.stateInAttrName(c);\n break;\n }\n case 13: {\n this.stateInDirName(c);\n break;\n }\n case 14: {\n this.stateInDirArg(c);\n break;\n }\n case 15: {\n this.stateInDynamicDirArg(c);\n break;\n }\n case 16: {\n this.stateInDirModifier(c);\n break;\n }\n case 28: {\n this.stateInCommentLike(c);\n break;\n }\n case 27: {\n this.stateInSpecialComment(c);\n break;\n }\n case 11: {\n this.stateBeforeAttrName(c);\n break;\n }\n case 6: {\n this.stateInTagName(c);\n break;\n }\n case 34: {\n this.stateInSFCRootTagName(c);\n break;\n }\n case 9: {\n this.stateInClosingTagName(c);\n break;\n }\n case 5: {\n this.stateBeforeTagName(c);\n break;\n }\n case 17: {\n this.stateAfterAttrName(c);\n break;\n }\n case 20: {\n this.stateInAttrValueSingleQuotes(c);\n break;\n }\n case 18: {\n this.stateBeforeAttrValue(c);\n break;\n }\n case 8: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case 10: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case 29: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case 30: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case 21: {\n this.stateInAttrValueNoQuotes(c);\n break;\n }\n case 7: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case 23: {\n this.stateInDeclaration(c);\n break;\n }\n case 22: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case 25: {\n this.stateBeforeComment(c);\n break;\n }\n case 24: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case 33: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n this.finish();\n }\n /**\n * Remove data that has already been consumed from the buffer.\n */\n cleanup() {\n if (this.sectionStart !== this.index) {\n if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n } else if (this.state === 19 || this.state === 20 || this.state === 21) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n }\n finish() {\n this.handleTrailingData();\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length;\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === 28) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex);\n } else {\n this.cbs.oncomment(this.sectionStart, endIndex);\n }\n } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n }\n emitCodePoint(cp, consumed) {\n }\n}\n\nconst CompilerDeprecationTypes = {\n \"COMPILER_IS_ON_ELEMENT\": \"COMPILER_IS_ON_ELEMENT\",\n \"COMPILER_V_BIND_SYNC\": \"COMPILER_V_BIND_SYNC\",\n \"COMPILER_V_BIND_OBJECT_ORDER\": \"COMPILER_V_BIND_OBJECT_ORDER\",\n \"COMPILER_V_ON_NATIVE\": \"COMPILER_V_ON_NATIVE\",\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\": \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n \"COMPILER_NATIVE_TEMPLATE\": \"COMPILER_NATIVE_TEMPLATE\",\n \"COMPILER_INLINE_TEMPLATE\": \"COMPILER_INLINE_TEMPLATE\",\n \"COMPILER_FILTERS\": \"COMPILER_FILTERS\"\n};\nconst deprecationData = {\n [\"COMPILER_IS_ON_ELEMENT\"]: {\n message: `Platform-native elements with \"is\" prop will no longer be treated as components in Vue 3 unless the \"is\" value is explicitly prefixed with \"vue:\".`,\n link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`\n },\n [\"COMPILER_V_BIND_SYNC\"]: {\n message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \\`v-bind:${key}.sync\\` should be changed to \\`v-model:${key}\\`.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`\n },\n [\"COMPILER_V_BIND_OBJECT_ORDER\"]: {\n message: `v-bind=\"obj\" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`\n },\n [\"COMPILER_V_ON_NATIVE\"]: {\n message: `.native modifier for v-on has been removed as is no longer necessary.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`\n },\n [\"COMPILER_V_IF_V_FOR_PRECEDENCE\"]: {\n message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`\n },\n [\"COMPILER_NATIVE_TEMPLATE\"]: {\n message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.`\n },\n [\"COMPILER_INLINE_TEMPLATE\"]: {\n message: `\"inline-template\" has been removed in Vue 3.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`\n },\n [\"COMPILER_FILTERS\"]: {\n message: `filters have been removed in Vue 3. The \"|\" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`\n }\n};\nfunction getCompatValue(key, { compatConfig }) {\n const value = compatConfig && compatConfig[key];\n if (key === \"MODE\") {\n return value || 3;\n } else {\n return value;\n }\n}\nfunction isCompatEnabled(key, context) {\n const mode = getCompatValue(\"MODE\", context);\n const value = getCompatValue(key, context);\n return mode === 3 ? value === true : value !== false;\n}\nfunction checkCompatEnabled(key, context, loc, ...args) {\n const enabled = isCompatEnabled(key, context);\n if (!!(process.env.NODE_ENV !== \"production\") && enabled) {\n warnDeprecation(key, context, loc, ...args);\n }\n return enabled;\n}\nfunction warnDeprecation(key, context, loc, ...args) {\n const val = getCompatValue(key, context);\n if (val === \"suppress-warning\") {\n return;\n }\n const { message, link } = deprecationData[key];\n const msg = `(deprecation ${key}) ${typeof message === \"function\" ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;\n const err = new SyntaxError(msg);\n err.code = key;\n if (loc) err.loc = loc;\n context.onWarn(err);\n}\n\nfunction defaultOnError(error) {\n throw error;\n}\nfunction defaultOnWarn(msg) {\n !!(process.env.NODE_ENV !== \"production\") && console.warn(`[Vue warn] ${msg.message}`);\n}\nfunction createCompilerError(code, loc, messages, additionalMessage) {\n const msg = !!(process.env.NODE_ENV !== \"production\") || false ? (messages || errorMessages)[code] + (additionalMessage || ``) : `https://vuejs.org/error-reference/#compiler-${code}`;\n const error = new SyntaxError(String(msg));\n error.code = code;\n error.loc = loc;\n return error;\n}\nconst ErrorCodes = {\n \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\": 0,\n \"0\": \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\",\n \"CDATA_IN_HTML_CONTENT\": 1,\n \"1\": \"CDATA_IN_HTML_CONTENT\",\n \"DUPLICATE_ATTRIBUTE\": 2,\n \"2\": \"DUPLICATE_ATTRIBUTE\",\n \"END_TAG_WITH_ATTRIBUTES\": 3,\n \"3\": \"END_TAG_WITH_ATTRIBUTES\",\n \"END_TAG_WITH_TRAILING_SOLIDUS\": 4,\n \"4\": \"END_TAG_WITH_TRAILING_SOLIDUS\",\n \"EOF_BEFORE_TAG_NAME\": 5,\n \"5\": \"EOF_BEFORE_TAG_NAME\",\n \"EOF_IN_CDATA\": 6,\n \"6\": \"EOF_IN_CDATA\",\n \"EOF_IN_COMMENT\": 7,\n \"7\": \"EOF_IN_COMMENT\",\n \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\": 8,\n \"8\": \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\",\n \"EOF_IN_TAG\": 9,\n \"9\": \"EOF_IN_TAG\",\n \"INCORRECTLY_CLOSED_COMMENT\": 10,\n \"10\": \"INCORRECTLY_CLOSED_COMMENT\",\n \"INCORRECTLY_OPENED_COMMENT\": 11,\n \"11\": \"INCORRECTLY_OPENED_COMMENT\",\n \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\": 12,\n \"12\": \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\",\n \"MISSING_ATTRIBUTE_VALUE\": 13,\n \"13\": \"MISSING_ATTRIBUTE_VALUE\",\n \"MISSING_END_TAG_NAME\": 14,\n \"14\": \"MISSING_END_TAG_NAME\",\n \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\": 15,\n \"15\": \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\",\n \"NESTED_COMMENT\": 16,\n \"16\": \"NESTED_COMMENT\",\n \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\": 17,\n \"17\": \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\",\n \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\": 18,\n \"18\": \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\",\n \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\": 19,\n \"19\": \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\",\n \"UNEXPECTED_NULL_CHARACTER\": 20,\n \"20\": \"UNEXPECTED_NULL_CHARACTER\",\n \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\": 21,\n \"21\": \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\",\n \"UNEXPECTED_SOLIDUS_IN_TAG\": 22,\n \"22\": \"UNEXPECTED_SOLIDUS_IN_TAG\",\n \"X_INVALID_END_TAG\": 23,\n \"23\": \"X_INVALID_END_TAG\",\n \"X_MISSING_END_TAG\": 24,\n \"24\": \"X_MISSING_END_TAG\",\n \"X_MISSING_INTERPOLATION_END\": 25,\n \"25\": \"X_MISSING_INTERPOLATION_END\",\n \"X_MISSING_DIRECTIVE_NAME\": 26,\n \"26\": \"X_MISSING_DIRECTIVE_NAME\",\n \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\": 27,\n \"27\": \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\",\n \"X_V_IF_NO_EXPRESSION\": 28,\n \"28\": \"X_V_IF_NO_EXPRESSION\",\n \"X_V_IF_SAME_KEY\": 29,\n \"29\": \"X_V_IF_SAME_KEY\",\n \"X_V_ELSE_NO_ADJACENT_IF\": 30,\n \"30\": \"X_V_ELSE_NO_ADJACENT_IF\",\n \"X_V_FOR_NO_EXPRESSION\": 31,\n \"31\": \"X_V_FOR_NO_EXPRESSION\",\n \"X_V_FOR_MALFORMED_EXPRESSION\": 32,\n \"32\": \"X_V_FOR_MALFORMED_EXPRESSION\",\n \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\": 33,\n \"33\": \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\",\n \"X_V_BIND_NO_EXPRESSION\": 34,\n \"34\": \"X_V_BIND_NO_EXPRESSION\",\n \"X_V_ON_NO_EXPRESSION\": 35,\n \"35\": \"X_V_ON_NO_EXPRESSION\",\n \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\": 36,\n \"36\": \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\",\n \"X_V_SLOT_MIXED_SLOT_USAGE\": 37,\n \"37\": \"X_V_SLOT_MIXED_SLOT_USAGE\",\n \"X_V_SLOT_DUPLICATE_SLOT_NAMES\": 38,\n \"38\": \"X_V_SLOT_DUPLICATE_SLOT_NAMES\",\n \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\": 39,\n \"39\": \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\",\n \"X_V_SLOT_MISPLACED\": 40,\n \"40\": \"X_V_SLOT_MISPLACED\",\n \"X_V_MODEL_NO_EXPRESSION\": 41,\n \"41\": \"X_V_MODEL_NO_EXPRESSION\",\n \"X_V_MODEL_MALFORMED_EXPRESSION\": 42,\n \"42\": \"X_V_MODEL_MALFORMED_EXPRESSION\",\n \"X_V_MODEL_ON_SCOPE_VARIABLE\": 43,\n \"43\": \"X_V_MODEL_ON_SCOPE_VARIABLE\",\n \"X_V_MODEL_ON_PROPS\": 44,\n \"44\": \"X_V_MODEL_ON_PROPS\",\n \"X_INVALID_EXPRESSION\": 45,\n \"45\": \"X_INVALID_EXPRESSION\",\n \"X_KEEP_ALIVE_INVALID_CHILDREN\": 46,\n \"46\": \"X_KEEP_ALIVE_INVALID_CHILDREN\",\n \"X_PREFIX_ID_NOT_SUPPORTED\": 47,\n \"47\": \"X_PREFIX_ID_NOT_SUPPORTED\",\n \"X_MODULE_MODE_NOT_SUPPORTED\": 48,\n \"48\": \"X_MODULE_MODE_NOT_SUPPORTED\",\n \"X_CACHE_HANDLER_NOT_SUPPORTED\": 49,\n \"49\": \"X_CACHE_HANDLER_NOT_SUPPORTED\",\n \"X_SCOPE_ID_NOT_SUPPORTED\": 50,\n \"50\": \"X_SCOPE_ID_NOT_SUPPORTED\",\n \"X_VNODE_HOOKS\": 51,\n \"51\": \"X_VNODE_HOOKS\",\n \"X_V_BIND_INVALID_SAME_NAME_ARGUMENT\": 52,\n \"52\": \"X_V_BIND_INVALID_SAME_NAME_ARGUMENT\",\n \"__EXTEND_POINT__\": 53,\n \"53\": \"__EXTEND_POINT__\"\n};\nconst errorMessages = {\n // parse errors\n [0]: \"Illegal comment.\",\n [1]: \"CDATA section is allowed only in XML context.\",\n [2]: \"Duplicate attribute.\",\n [3]: \"End tag cannot have attributes.\",\n [4]: \"Illegal '/' in tags.\",\n [5]: \"Unexpected EOF in tag.\",\n [6]: \"Unexpected EOF in CDATA section.\",\n [7]: \"Unexpected EOF in comment.\",\n [8]: \"Unexpected EOF in script.\",\n [9]: \"Unexpected EOF in tag.\",\n [10]: \"Incorrectly closed comment.\",\n [11]: \"Incorrectly opened comment.\",\n [12]: \"Illegal tag name. Use '<' to print '<'.\",\n [13]: \"Attribute value was expected.\",\n [14]: \"End tag name was expected.\",\n [15]: \"Whitespace was expected.\",\n [16]: \"Unexpected '<!--' in comment.\",\n [17]: `Attribute name cannot contain U+0022 (\"), U+0027 ('), and U+003C (<).`,\n [18]: \"Unquoted attribute value cannot contain U+0022 (\\\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).\",\n [19]: \"Attribute name cannot start with '='.\",\n [21]: \"'<?' is allowed only in XML context.\",\n [20]: `Unexpected null character.`,\n [22]: \"Illegal '/' in tags.\",\n // Vue-specific parse errors\n [23]: \"Invalid end tag.\",\n [24]: \"Element is missing end tag.\",\n [25]: \"Interpolation end sign was not found.\",\n [27]: \"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.\",\n [26]: \"Legal directive name was expected.\",\n // transform errors\n [28]: `v-if/v-else-if is missing expression.`,\n [29]: `v-if/else branches must use unique keys.`,\n [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,\n [31]: `v-for is missing expression.`,\n [32]: `v-for has invalid expression.`,\n [33]: `<template v-for> key should be placed on the <template> tag.`,\n [34]: `v-bind is missing expression.`,\n [52]: `v-bind with same-name shorthand only allows static argument.`,\n [35]: `v-on is missing expression.`,\n [36]: `Unexpected custom directive on <slot> outlet.`,\n [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,\n [38]: `Duplicate slot names found. `,\n [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`,\n [40]: `v-slot can only be used on components or <template> tags.`,\n [41]: `v-model is missing expression.`,\n [42]: `v-model value must be a valid JavaScript member expression.`,\n [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,\n [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.`,\n [45]: `Error parsing JavaScript expression: `,\n [46]: `<KeepAlive> expects exactly one child component.`,\n [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,\n // generic errors\n [47]: `\"prefixIdentifiers\" option is not supported in this build of compiler.`,\n [48]: `ES module mode is not supported in this build of compiler.`,\n [49]: `\"cacheHandlers\" option is only supported when the \"prefixIdentifiers\" option is enabled.`,\n [50]: `\"scopeId\" option is only supported in module mode.`,\n // just to fulfill types\n [53]: ``\n};\n\nfunction walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {\n {\n return;\n }\n}\nfunction isReferencedIdentifier(id, parent, parentStack) {\n {\n return false;\n }\n}\nfunction isInDestructureAssignment(parent, parentStack) {\n if (parent && (parent.type === \"ObjectProperty\" || parent.type === \"ArrayPattern\")) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"AssignmentExpression\") {\n return true;\n } else if (p.type !== \"ObjectProperty\" && !p.type.endsWith(\"Pattern\")) {\n break;\n }\n }\n }\n return false;\n}\nfunction isInNewExpression(parentStack) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"NewExpression\") {\n return true;\n } else if (p.type !== \"MemberExpression\") {\n break;\n }\n }\n return false;\n}\nfunction walkFunctionParams(node, onIdent) {\n for (const p of node.params) {\n for (const id of extractIdentifiers(p)) {\n onIdent(id);\n }\n }\n}\nfunction walkBlockDeclarations(block, onIdent) {\n for (const stmt of block.body) {\n if (stmt.type === \"VariableDeclaration\") {\n if (stmt.declare) continue;\n for (const decl of stmt.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n } else if (stmt.type === \"FunctionDeclaration\" || stmt.type === \"ClassDeclaration\") {\n if (stmt.declare || !stmt.id) continue;\n onIdent(stmt.id);\n } else if (isForStatement(stmt)) {\n walkForStatement(stmt, true, onIdent);\n }\n }\n}\nfunction isForStatement(stmt) {\n return stmt.type === \"ForOfStatement\" || stmt.type === \"ForInStatement\" || stmt.type === \"ForStatement\";\n}\nfunction walkForStatement(stmt, isVar, onIdent) {\n const variable = stmt.type === \"ForStatement\" ? stmt.init : stmt.left;\n if (variable && variable.type === \"VariableDeclaration\" && (variable.kind === \"var\" ? isVar : !isVar)) {\n for (const decl of variable.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n }\n}\nfunction extractIdentifiers(param, nodes = []) {\n switch (param.type) {\n case \"Identifier\":\n nodes.push(param);\n break;\n case \"MemberExpression\":\n let object = param;\n while (object.type === \"MemberExpression\") {\n object = object.object;\n }\n nodes.push(object);\n break;\n case \"ObjectPattern\":\n for (const prop of param.properties) {\n if (prop.type === \"RestElement\") {\n extractIdentifiers(prop.argument, nodes);\n } else {\n extractIdentifiers(prop.value, nodes);\n }\n }\n break;\n case \"ArrayPattern\":\n param.elements.forEach((element) => {\n if (element) extractIdentifiers(element, nodes);\n });\n break;\n case \"RestElement\":\n extractIdentifiers(param.argument, nodes);\n break;\n case \"AssignmentPattern\":\n extractIdentifiers(param.left, nodes);\n break;\n }\n return nodes;\n}\nconst isFunctionType = (node) => {\n return /Function(?:Expression|Declaration)$|Method$/.test(node.type);\n};\nconst isStaticProperty = (node) => node && (node.type === \"ObjectProperty\" || node.type === \"ObjectMethod\") && !node.computed;\nconst isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;\nconst TS_NODE_TYPES = [\n \"TSAsExpression\",\n // foo as number\n \"TSTypeAssertion\",\n // (<number>foo)\n \"TSNonNullExpression\",\n // foo!\n \"TSInstantiationExpression\",\n // foo<string>\n \"TSSatisfiesExpression\"\n // foo satisfies T\n];\nfunction unwrapTSNode(node) {\n if (TS_NODE_TYPES.includes(node.type)) {\n return unwrapTSNode(node.expression);\n } else {\n return node;\n }\n}\n\nconst isStaticExp = (p) => p.type === 4 && p.isStatic;\nfunction isCoreComponent(tag) {\n switch (tag) {\n case \"Teleport\":\n case \"teleport\":\n return TELEPORT;\n case \"Suspense\":\n case \"suspense\":\n return SUSPENSE;\n case \"KeepAlive\":\n case \"keep-alive\":\n return KEEP_ALIVE;\n case \"BaseTransition\":\n case \"base-transition\":\n return BASE_TRANSITION;\n }\n}\nconst nonIdentifierRE = /^\\d|[^\\$\\w\\xA0-\\uFFFF]/;\nconst isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);\nconst validFirstIdentCharRE = /[A-Za-z_$\\xA0-\\uFFFF]/;\nconst validIdentCharRE = /[\\.\\?\\w$\\xA0-\\uFFFF]/;\nconst whitespaceRE = /\\s+[.[]\\s*|\\s*[.[]\\s+/g;\nconst getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;\nconst isMemberExpressionBrowser = (exp) => {\n const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());\n let state = 0 /* inMemberExp */;\n let stateStack = [];\n let currentOpenBracketCount = 0;\n let currentOpenParensCount = 0;\n let currentStringType = null;\n for (let i = 0; i < path.length; i++) {\n const char = path.charAt(i);\n switch (state) {\n case 0 /* inMemberExp */:\n if (char === \"[\") {\n stateStack.push(state);\n state = 1 /* inBrackets */;\n currentOpenBracketCount++;\n } else if (char === \"(\") {\n stateStack.push(state);\n state = 2 /* inParens */;\n currentOpenParensCount++;\n } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {\n return false;\n }\n break;\n case 1 /* inBrackets */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `[`) {\n currentOpenBracketCount++;\n } else if (char === `]`) {\n if (!--currentOpenBracketCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 2 /* inParens */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `(`) {\n currentOpenParensCount++;\n } else if (char === `)`) {\n if (i === path.length - 1) {\n return false;\n }\n if (!--currentOpenParensCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 3 /* inString */:\n if (char === currentStringType) {\n state = stateStack.pop();\n currentStringType = null;\n }\n break;\n }\n }\n return !currentOpenBracketCount && !currentOpenParensCount;\n};\nconst isMemberExpressionNode = NOOP ;\nconst isMemberExpression = isMemberExpressionBrowser ;\nconst fnExpRE = /^\\s*(async\\s*)?(\\([^)]*?\\)|[\\w$_]+)\\s*(:[^=]+)?=>|^\\s*(async\\s+)?function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));\nconst isFnExpressionNode = NOOP ;\nconst isFnExpression = isFnExpressionBrowser ;\nfunction advancePositionWithClone(pos, source, numberOfCharacters = source.length) {\n return advancePositionWithMutation(\n {\n offset: pos.offset,\n line: pos.line,\n column: pos.column\n },\n source,\n numberOfCharacters\n );\n}\nfunction advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {\n let linesCount = 0;\n let lastNewLinePos = -1;\n for (let i = 0; i < numberOfCharacters; i++) {\n if (source.charCodeAt(i) === 10) {\n linesCount++;\n lastNewLinePos = i;\n }\n }\n pos.offset += numberOfCharacters;\n pos.line += linesCount;\n pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos;\n return pos;\n}\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error(msg || `unexpected compiler condition`);\n }\n}\nfunction findDir(node, name, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (allowEmpty || p.exp) && (isString(name) ? p.name === name : name.test(p.name))) {\n return p;\n }\n }\n}\nfunction findProp(node, name, dynamicOnly = false, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (dynamicOnly) continue;\n if (p.name === name && (p.value || allowEmpty)) {\n return p;\n }\n } else if (p.name === \"bind\" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) {\n return p;\n }\n }\n}\nfunction isStaticArgOf(arg, name) {\n return !!(arg && isStaticExp(arg) && arg.content === name);\n}\nfunction hasDynamicKeyVBind(node) {\n return node.props.some(\n (p) => p.type === 7 && p.name === \"bind\" && (!p.arg || // v-bind=\"obj\"\n p.arg.type !== 4 || // v-bind:[_ctx.foo]\n !p.arg.isStatic)\n // v-bind:[foo]\n );\n}\nfunction isText$1(node) {\n return node.type === 5 || node.type === 2;\n}\nfunction isVSlot(p) {\n return p.type === 7 && p.name === \"slot\";\n}\nfunction isTemplateNode(node) {\n return node.type === 1 && node.tagType === 3;\n}\nfunction isSlotOutlet(node) {\n return node.type === 1 && node.tagType === 2;\n}\nconst propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);\nfunction getUnnormalizedProps(props, callPath = []) {\n if (props && !isString(props) && props.type === 14) {\n const callee = props.callee;\n if (!isString(callee) && propsHelperSet.has(callee)) {\n return getUnnormalizedProps(\n props.arguments[0],\n callPath.concat(props)\n );\n }\n }\n return [props, callPath];\n}\nfunction injectProp(node, prop, context) {\n let propsWithInjection;\n let props = node.type === 13 ? node.props : node.arguments[2];\n let callPath = [];\n let parentCall;\n if (props && !isString(props) && props.type === 14) {\n const ret = getUnnormalizedProps(props);\n props = ret[0];\n callPath = ret[1];\n parentCall = callPath[callPath.length - 1];\n }\n if (props == null || isString(props)) {\n propsWithInjection = createObjectExpression([prop]);\n } else if (props.type === 14) {\n const first = props.arguments[0];\n if (!isString(first) && first.type === 15) {\n if (!hasProp(prop, first)) {\n first.properties.unshift(prop);\n }\n } else {\n if (props.callee === TO_HANDLERS) {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n } else {\n props.arguments.unshift(createObjectExpression([prop]));\n }\n }\n !propsWithInjection && (propsWithInjection = props);\n } else if (props.type === 15) {\n if (!hasProp(prop, props)) {\n props.properties.unshift(prop);\n }\n propsWithInjection = props;\n } else {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {\n parentCall = callPath[callPath.length - 2];\n }\n }\n if (node.type === 13) {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.props = propsWithInjection;\n }\n } else {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.arguments[2] = propsWithInjection;\n }\n }\n}\nfunction hasProp(prop, props) {\n let result = false;\n if (prop.key.type === 4) {\n const propKeyName = prop.key.content;\n result = props.properties.some(\n (p) => p.key.type === 4 && p.key.content === propKeyName\n );\n }\n return result;\n}\nfunction toValidAssetId(name, type) {\n return `_${type}_${name.replace(/[^\\w]/g, (searchValue, replaceValue) => {\n return searchValue === \"-\" ? \"_\" : name.charCodeAt(replaceValue).toString();\n })}`;\n}\nfunction hasScopeRef(node, ids) {\n if (!node || Object.keys(ids).length === 0) {\n return false;\n }\n switch (node.type) {\n case 1:\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {\n return true;\n }\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 11:\n if (hasScopeRef(node.source, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 9:\n return node.branches.some((b) => hasScopeRef(b, ids));\n case 10:\n if (hasScopeRef(node.condition, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 4:\n return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content];\n case 8:\n return node.children.some((c) => isObject(c) && hasScopeRef(c, ids));\n case 5:\n case 12:\n return hasScopeRef(node.content, ids);\n case 2:\n case 3:\n case 20:\n return false;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return false;\n }\n}\nfunction getMemoedVNodeCall(node) {\n if (node.type === 14 && node.callee === WITH_MEMO) {\n return node.arguments[1].returns;\n } else {\n return node;\n }\n}\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+(\\S[\\s\\S]*)/;\n\nconst defaultParserOptions = {\n parseMode: \"base\",\n ns: 0,\n delimiters: [`{{`, `}}`],\n getNamespace: () => 0,\n isVoidTag: NO,\n isPreTag: NO,\n isIgnoreNewlineTag: NO,\n isCustomElement: NO,\n onError: defaultOnError,\n onWarn: defaultOnWarn,\n comments: !!(process.env.NODE_ENV !== \"production\"),\n prefixIdentifiers: false\n};\nlet currentOptions = defaultParserOptions;\nlet currentRoot = null;\nlet currentInput = \"\";\nlet currentOpenTag = null;\nlet currentProp = null;\nlet currentAttrValue = \"\";\nlet currentAttrStartIndex = -1;\nlet currentAttrEndIndex = -1;\nlet inPre = 0;\nlet inVPre = false;\nlet currentVPreBoundary = null;\nconst stack = [];\nconst tokenizer = new Tokenizer(stack, {\n onerr: emitError,\n ontext(start, end) {\n onText(getSlice(start, end), start, end);\n },\n ontextentity(char, start, end) {\n onText(char, start, end);\n },\n oninterpolation(start, end) {\n if (inVPre) {\n return onText(getSlice(start, end), start, end);\n }\n let innerStart = start + tokenizer.delimiterOpen.length;\n let innerEnd = end - tokenizer.delimiterClose.length;\n while (isWhitespace(currentInput.charCodeAt(innerStart))) {\n innerStart++;\n }\n while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) {\n innerEnd--;\n }\n let exp = getSlice(innerStart, innerEnd);\n if (exp.includes(\"&\")) {\n {\n exp = currentOptions.decodeEntities(exp, false);\n }\n }\n addNode({\n type: 5,\n content: createExp(exp, false, getLoc(innerStart, innerEnd)),\n loc: getLoc(start, end)\n });\n },\n onopentagname(start, end) {\n const name = getSlice(start, end);\n currentOpenTag = {\n type: 1,\n tag: name,\n ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns),\n tagType: 0,\n // will be refined on tag close\n props: [],\n children: [],\n loc: getLoc(start - 1, end),\n codegenNode: void 0\n };\n },\n onopentagend(end) {\n endOpenTag(end);\n },\n onclosetag(start, end) {\n const name = getSlice(start, end);\n if (!currentOptions.isVoidTag(name)) {\n let found = false;\n for (let i = 0; i < stack.length; i++) {\n const e = stack[i];\n if (e.tag.toLowerCase() === name.toLowerCase()) {\n found = true;\n if (i > 0) {\n emitError(24, stack[0].loc.start.offset);\n }\n for (let j = 0; j <= i; j++) {\n const el = stack.shift();\n onCloseTag(el, end, j < i);\n }\n break;\n }\n }\n if (!found) {\n emitError(23, backTrack(start, 60));\n }\n }\n },\n onselfclosingtag(end) {\n const name = currentOpenTag.tag;\n currentOpenTag.isSelfClosing = true;\n endOpenTag(end);\n if (stack[0] && stack[0].tag === name) {\n onCloseTag(stack.shift(), end);\n }\n },\n onattribname(start, end) {\n currentProp = {\n type: 6,\n name: getSlice(start, end),\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n },\n ondirname(start, end) {\n const raw = getSlice(start, end);\n const name = raw === \".\" || raw === \":\" ? \"bind\" : raw === \"@\" ? \"on\" : raw === \"#\" ? \"slot\" : raw.slice(2);\n if (!inVPre && name === \"\") {\n emitError(26, start);\n }\n if (inVPre || name === \"\") {\n currentProp = {\n type: 6,\n name: raw,\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n } else {\n currentProp = {\n type: 7,\n name,\n rawName: raw,\n exp: void 0,\n arg: void 0,\n modifiers: raw === \".\" ? [createSimpleExpression(\"prop\")] : [],\n loc: getLoc(start)\n };\n if (name === \"pre\") {\n inVPre = tokenizer.inVPre = true;\n currentVPreBoundary = currentOpenTag;\n const props = currentOpenTag.props;\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7) {\n props[i] = dirToAttr(props[i]);\n }\n }\n }\n }\n },\n ondirarg(start, end) {\n if (start === end) return;\n const arg = getSlice(start, end);\n if (inVPre) {\n currentProp.name += arg;\n setLocEnd(currentProp.nameLoc, end);\n } else {\n const isStatic = arg[0] !== `[`;\n currentProp.arg = createExp(\n isStatic ? arg : arg.slice(1, -1),\n isStatic,\n getLoc(start, end),\n isStatic ? 3 : 0\n );\n }\n },\n ondirmodifier(start, end) {\n const mod = getSlice(start, end);\n if (inVPre) {\n currentProp.name += \".\" + mod;\n setLocEnd(currentProp.nameLoc, end);\n } else if (currentProp.name === \"slot\") {\n const arg = currentProp.arg;\n if (arg) {\n arg.content += \".\" + mod;\n setLocEnd(arg.loc, end);\n }\n } else {\n const exp = createSimpleExpression(mod, true, getLoc(start, end));\n currentProp.modifiers.push(exp);\n }\n },\n onattribdata(start, end) {\n currentAttrValue += getSlice(start, end);\n if (currentAttrStartIndex < 0) currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribentity(char, start, end) {\n currentAttrValue += char;\n if (currentAttrStartIndex < 0) currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribnameend(end) {\n const start = currentProp.loc.start.offset;\n const name = getSlice(start, end);\n if (currentProp.type === 7) {\n currentProp.rawName = name;\n }\n if (currentOpenTag.props.some(\n (p) => (p.type === 7 ? p.rawName : p.name) === name\n )) {\n emitError(2, start);\n }\n },\n onattribend(quote, end) {\n if (currentOpenTag && currentProp) {\n setLocEnd(currentProp.loc, end);\n if (quote !== 0) {\n if (currentAttrValue.includes(\"&\")) {\n currentAttrValue = currentOptions.decodeEntities(\n currentAttrValue,\n true\n );\n }\n if (currentProp.type === 6) {\n if (currentProp.name === \"class\") {\n currentAttrValue = condense(currentAttrValue).trim();\n }\n if (quote === 1 && !currentAttrValue) {\n emitError(13, end);\n }\n currentProp.value = {\n type: 2,\n content: currentAttrValue,\n loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)\n };\n if (tokenizer.inSFCRoot && currentOpenTag.tag === \"template\" && currentProp.name === \"lang\" && currentAttrValue && currentAttrValue !== \"html\") {\n tokenizer.enterRCDATA(toCharCodes(`</template`), 0);\n }\n } else {\n let expParseMode = 0 /* Normal */;\n currentProp.exp = createExp(\n currentAttrValue,\n false,\n getLoc(currentAttrStartIndex, currentAttrEndIndex),\n 0,\n expParseMode\n );\n if (currentProp.name === \"for\") {\n currentProp.forParseResult = parseForExpression(currentProp.exp);\n }\n let syncIndex = -1;\n if (currentProp.name === \"bind\" && (syncIndex = currentProp.modifiers.findIndex(\n (mod) => mod.content === \"sync\"\n )) > -1 && checkCompatEnabled(\n \"COMPILER_V_BIND_SYNC\",\n currentOptions,\n currentProp.loc,\n currentProp.rawName\n )) {\n currentProp.name = \"model\";\n currentProp.modifiers.splice(syncIndex, 1);\n }\n }\n }\n if (currentProp.type !== 7 || currentProp.name !== \"pre\") {\n currentOpenTag.props.push(currentProp);\n }\n }\n currentAttrValue = \"\";\n currentAttrStartIndex = currentAttrEndIndex = -1;\n },\n oncomment(start, end) {\n if (currentOptions.comments) {\n addNode({\n type: 3,\n content: getSlice(start, end),\n loc: getLoc(start - 4, end + 3)\n });\n }\n },\n onend() {\n const end = currentInput.length;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && tokenizer.state !== 1) {\n switch (tokenizer.state) {\n case 5:\n case 8:\n emitError(5, end);\n break;\n case 3:\n case 4:\n emitError(\n 25,\n tokenizer.sectionStart\n );\n break;\n case 28:\n if (tokenizer.currentSequence === Sequences.CdataEnd) {\n emitError(6, end);\n } else {\n emitError(7, end);\n }\n break;\n case 6:\n case 7:\n case 9:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n // \"\n case 20:\n // '\n case 21:\n emitError(9, end);\n break;\n }\n }\n for (let index = 0; index < stack.length; index++) {\n onCloseTag(stack[index], end - 1);\n emitError(24, stack[index].loc.start.offset);\n }\n },\n oncdata(start, end) {\n if (stack[0].ns !== 0) {\n onText(getSlice(start, end), start, end);\n } else {\n emitError(1, start - 9);\n }\n },\n onprocessinginstruction(start) {\n if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n emitError(\n 21,\n start - 1\n );\n }\n }\n});\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nfunction parseForExpression(input) {\n const loc = input.loc;\n const exp = input.content;\n const inMatch = exp.match(forAliasRE);\n if (!inMatch) return;\n const [, LHS, RHS] = inMatch;\n const createAliasExpression = (content, offset, asParam = false) => {\n const start = loc.start.offset + offset;\n const end = start + content.length;\n return createExp(\n content,\n false,\n getLoc(start, end),\n 0,\n asParam ? 1 /* Params */ : 0 /* Normal */\n );\n };\n const result = {\n source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),\n value: void 0,\n key: void 0,\n index: void 0,\n finalized: false\n };\n let valueContent = LHS.trim().replace(stripParensRE, \"\").trim();\n const trimmedOffset = LHS.indexOf(valueContent);\n const iteratorMatch = valueContent.match(forIteratorRE);\n if (iteratorMatch) {\n valueContent = valueContent.replace(forIteratorRE, \"\").trim();\n const keyContent = iteratorMatch[1].trim();\n let keyOffset;\n if (keyContent) {\n keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);\n result.key = createAliasExpression(keyContent, keyOffset, true);\n }\n if (iteratorMatch[2]) {\n const indexContent = iteratorMatch[2].trim();\n if (indexContent) {\n result.index = createAliasExpression(\n indexContent,\n exp.indexOf(\n indexContent,\n result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length\n ),\n true\n );\n }\n }\n }\n if (valueContent) {\n result.value = createAliasExpression(valueContent, trimmedOffset, true);\n }\n return result;\n}\nfunction getSlice(start, end) {\n return currentInput.slice(start, end);\n}\nfunction endOpenTag(end) {\n if (tokenizer.inSFCRoot) {\n currentOpenTag.innerLoc = getLoc(end + 1, end + 1);\n }\n addNode(currentOpenTag);\n const { tag, ns } = currentOpenTag;\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre++;\n }\n if (currentOptions.isVoidTag(tag)) {\n onCloseTag(currentOpenTag, end);\n } else {\n stack.unshift(currentOpenTag);\n if (ns === 1 || ns === 2) {\n tokenizer.inXML = true;\n }\n }\n currentOpenTag = null;\n}\nfunction onText(content, start, end) {\n {\n const tag = stack[0] && stack[0].tag;\n if (tag !== \"script\" && tag !== \"style\" && content.includes(\"&\")) {\n content = currentOptions.decodeEntities(content, false);\n }\n }\n const parent = stack[0] || currentRoot;\n const lastNode = parent.children[parent.children.length - 1];\n if (lastNode && lastNode.type === 2) {\n lastNode.content += content;\n setLocEnd(lastNode.loc, end);\n } else {\n parent.children.push({\n type: 2,\n content,\n loc: getLoc(start, end)\n });\n }\n}\nfunction onCloseTag(el, end, isImplied = false) {\n if (isImplied) {\n setLocEnd(el.loc, backTrack(end, 60));\n } else {\n setLocEnd(el.loc, lookAhead(end, 62) + 1);\n }\n if (tokenizer.inSFCRoot) {\n if (el.children.length) {\n el.innerLoc.end = extend({}, el.children[el.children.length - 1].loc.end);\n } else {\n el.innerLoc.end = extend({}, el.innerLoc.start);\n }\n el.innerLoc.source = getSlice(\n el.innerLoc.start.offset,\n el.innerLoc.end.offset\n );\n }\n const { tag, ns, children } = el;\n if (!inVPre) {\n if (tag === \"slot\") {\n el.tagType = 2;\n } else if (isFragmentTemplate(el)) {\n el.tagType = 3;\n } else if (isComponent(el)) {\n el.tagType = 1;\n }\n }\n if (!tokenizer.inRCDATA) {\n el.children = condenseWhitespace(children);\n }\n if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {\n const first = children[0];\n if (first && first.type === 2) {\n first.content = first.content.replace(/^\\r?\\n/, \"\");\n }\n }\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre--;\n }\n if (currentVPreBoundary === el) {\n inVPre = tokenizer.inVPre = false;\n currentVPreBoundary = null;\n }\n if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n tokenizer.inXML = false;\n }\n {\n const props = el.props;\n if (!!(process.env.NODE_ENV !== \"production\") && isCompatEnabled(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions\n )) {\n let hasIf = false;\n let hasFor = false;\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 7) {\n if (p.name === \"if\") {\n hasIf = true;\n } else if (p.name === \"for\") {\n hasFor = true;\n }\n }\n if (hasIf && hasFor) {\n warnDeprecation(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions,\n el.loc\n );\n break;\n }\n }\n }\n if (!tokenizer.inSFCRoot && isCompatEnabled(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions\n ) && el.tag === \"template\" && !isFragmentTemplate(el)) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions,\n el.loc\n );\n const parent = stack[0] || currentRoot;\n const index = parent.children.indexOf(el);\n parent.children.splice(index, 1, ...el.children);\n }\n const inlineTemplateProp = props.find(\n (p) => p.type === 6 && p.name === \"inline-template\"\n );\n if (inlineTemplateProp && checkCompatEnabled(\n \"COMPILER_INLINE_TEMPLATE\",\n currentOptions,\n inlineTemplateProp.loc\n ) && el.children.length) {\n inlineTemplateProp.value = {\n type: 2,\n content: getSlice(\n el.children[0].loc.start.offset,\n el.children[el.children.length - 1].loc.end.offset\n ),\n loc: inlineTemplateProp.loc\n };\n }\n }\n}\nfunction lookAhead(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++;\n return i;\n}\nfunction backTrack(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i >= 0) i--;\n return i;\n}\nconst specialTemplateDir = /* @__PURE__ */ new Set([\"if\", \"else\", \"else-if\", \"for\", \"slot\"]);\nfunction isFragmentTemplate({ tag, props }) {\n if (tag === \"template\") {\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) {\n return true;\n }\n }\n }\n return false;\n}\nfunction isComponent({ tag, props }) {\n if (currentOptions.isCustomElement(tag)) {\n return false;\n }\n if (tag === \"component\" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {\n return true;\n }\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 6) {\n if (p.name === \"is\" && p.value) {\n if (p.value.content.startsWith(\"vue:\")) {\n return true;\n } else if (checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n } else if (// :is on plain element - only treat as component in compat mode\n p.name === \"bind\" && isStaticArgOf(p.arg, \"is\") && checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n return false;\n}\nfunction isUpperCase(c) {\n return c > 64 && c < 91;\n}\nconst windowsNewlineRE = /\\r\\n/g;\nfunction condenseWhitespace(nodes, tag) {\n const shouldCondense = currentOptions.whitespace !== \"preserve\";\n let removedWhitespace = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.type === 2) {\n if (!inPre) {\n if (isAllWhitespace(node.content)) {\n const prev = nodes[i - 1] && nodes[i - 1].type;\n const next = nodes[i + 1] && nodes[i + 1].type;\n if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {\n removedWhitespace = true;\n nodes[i] = null;\n } else {\n node.content = \" \";\n }\n } else if (shouldCondense) {\n node.content = condense(node.content);\n }\n } else {\n node.content = node.content.replace(windowsNewlineRE, \"\\n\");\n }\n }\n }\n return removedWhitespace ? nodes.filter(Boolean) : nodes;\n}\nfunction isAllWhitespace(str) {\n for (let i = 0; i < str.length; i++) {\n if (!isWhitespace(str.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n}\nfunction hasNewlineChar(str) {\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c === 10 || c === 13) {\n return true;\n }\n }\n return false;\n}\nfunction condense(str) {\n let ret = \"\";\n let prevCharIsWhitespace = false;\n for (let i = 0; i < str.length; i++) {\n if (isWhitespace(str.charCodeAt(i))) {\n if (!prevCharIsWhitespace) {\n ret += \" \";\n prevCharIsWhitespace = true;\n }\n } else {\n ret += str[i];\n prevCharIsWhitespace = false;\n }\n }\n return ret;\n}\nfunction addNode(node) {\n (stack[0] || currentRoot).children.push(node);\n}\nfunction getLoc(start, end) {\n return {\n start: tokenizer.getPos(start),\n // @ts-expect-error allow late attachment\n end: end == null ? end : tokenizer.getPos(end),\n // @ts-expect-error allow late attachment\n source: end == null ? end : getSlice(start, end)\n };\n}\nfunction cloneLoc(loc) {\n return getLoc(loc.start.offset, loc.end.offset);\n}\nfunction setLocEnd(loc, end) {\n loc.end = tokenizer.getPos(end);\n loc.source = getSlice(loc.start.offset, end);\n}\nfunction dirToAttr(dir) {\n const attr = {\n type: 6,\n name: dir.rawName,\n nameLoc: getLoc(\n dir.loc.start.offset,\n dir.loc.start.offset + dir.rawName.length\n ),\n value: void 0,\n loc: dir.loc\n };\n if (dir.exp) {\n const loc = dir.exp.loc;\n if (loc.end.offset < dir.loc.end.offset) {\n loc.start.offset--;\n loc.start.column--;\n loc.end.offset++;\n loc.end.column++;\n }\n attr.value = {\n type: 2,\n content: dir.exp.content,\n loc\n };\n }\n return attr;\n}\nfunction createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) {\n const exp = createSimpleExpression(content, isStatic, loc, constType);\n return exp;\n}\nfunction emitError(code, index, message) {\n currentOptions.onError(\n createCompilerError(code, getLoc(index, index), void 0, message)\n );\n}\nfunction reset() {\n tokenizer.reset();\n currentOpenTag = null;\n currentProp = null;\n currentAttrValue = \"\";\n currentAttrStartIndex = -1;\n currentAttrEndIndex = -1;\n stack.length = 0;\n}\nfunction baseParse(input, options) {\n reset();\n currentInput = input;\n currentOptions = extend({}, defaultParserOptions);\n if (options) {\n let key;\n for (key in options) {\n if (options[key] != null) {\n currentOptions[key] = options[key];\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentOptions.decodeEntities) {\n throw new Error(\n `[@vue/compiler-core] decodeEntities option is required in browser builds.`\n );\n }\n }\n tokenizer.mode = currentOptions.parseMode === \"html\" ? 1 : currentOptions.parseMode === \"sfc\" ? 2 : 0;\n tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;\n const delimiters = options && options.delimiters;\n if (delimiters) {\n tokenizer.delimiterOpen = toCharCodes(delimiters[0]);\n tokenizer.delimiterClose = toCharCodes(delimiters[1]);\n }\n const root = currentRoot = createRoot([], input);\n tokenizer.parse(currentInput);\n root.loc = getLoc(0, input.length);\n root.children = condenseWhitespace(root.children);\n currentRoot = null;\n return root;\n}\n\nfunction cacheStatic(root, context) {\n walk(\n root,\n void 0,\n context,\n // Root node is unfortunately non-hoistable due to potential parent\n // fallthrough attributes.\n isSingleElementRoot(root, root.children[0])\n );\n}\nfunction isSingleElementRoot(root, child) {\n const { children } = root;\n return children.length === 1 && child.type === 1 && !isSlotOutlet(child);\n}\nfunction walk(node, parent, context, doNotHoistNode = false, inFor = false) {\n const { children } = node;\n const toCache = [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.type === 1 && child.tagType === 0) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType > 0) {\n if (constantType >= 2) {\n child.codegenNode.patchFlag = -1;\n toCache.push(child);\n continue;\n }\n } else {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n const flag = codegenNode.patchFlag;\n if ((flag === void 0 || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {\n const props = getNodeProps(child);\n if (props) {\n codegenNode.props = context.hoist(props);\n }\n }\n if (codegenNode.dynamicProps) {\n codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);\n }\n }\n }\n } else if (child.type === 12) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType >= 2) {\n toCache.push(child);\n continue;\n }\n }\n if (child.type === 1) {\n const isComponent = child.tagType === 1;\n if (isComponent) {\n context.scopes.vSlot++;\n }\n walk(child, node, context, false, inFor);\n if (isComponent) {\n context.scopes.vSlot--;\n }\n } else if (child.type === 11) {\n walk(child, node, context, child.children.length === 1, true);\n } else if (child.type === 9) {\n for (let i2 = 0; i2 < child.branches.length; i2++) {\n walk(\n child.branches[i2],\n node,\n context,\n child.branches[i2].children.length === 1,\n inFor\n );\n }\n }\n }\n let cachedAsArray = false;\n if (toCache.length === children.length && node.type === 1) {\n if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {\n node.codegenNode.children = getCacheExpression(\n createArrayExpression(node.codegenNode.children)\n );\n cachedAsArray = true;\n } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {\n const slot = getSlotNode(node.codegenNode, \"default\");\n if (slot) {\n slot.returns = getCacheExpression(\n createArrayExpression(slot.returns)\n );\n cachedAsArray = true;\n }\n } else if (node.tagType === 3 && parent && parent.type === 1 && parent.tagType === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 15) {\n const slotName = findDir(node, \"slot\", true);\n const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg);\n if (slot) {\n slot.returns = getCacheExpression(\n createArrayExpression(slot.returns)\n );\n cachedAsArray = true;\n }\n }\n }\n if (!cachedAsArray) {\n for (const child of toCache) {\n child.codegenNode = context.cache(child.codegenNode);\n }\n }\n function getCacheExpression(value) {\n const exp = context.cache(value);\n if (inFor && context.hmr) {\n exp.needArraySpread = true;\n }\n return exp;\n }\n function getSlotNode(node2, name) {\n if (node2.children && !isArray(node2.children) && node2.children.type === 15) {\n const slot = node2.children.properties.find(\n (p) => p.key === name || p.key.content === name\n );\n return slot && slot.value;\n }\n }\n if (toCache.length && context.transformHoist) {\n context.transformHoist(children, context, node);\n }\n}\nfunction getConstantType(node, context) {\n const { constantCache } = context;\n switch (node.type) {\n case 1:\n if (node.tagType !== 0) {\n return 0;\n }\n const cached = constantCache.get(node);\n if (cached !== void 0) {\n return cached;\n }\n const codegenNode = node.codegenNode;\n if (codegenNode.type !== 13) {\n return 0;\n }\n if (codegenNode.isBlock && node.tag !== \"svg\" && node.tag !== \"foreignObject\" && node.tag !== \"math\") {\n return 0;\n }\n if (codegenNode.patchFlag === void 0) {\n let returnType2 = 3;\n const generatedPropsType = getGeneratedPropsConstantType(node, context);\n if (generatedPropsType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (generatedPropsType < returnType2) {\n returnType2 = generatedPropsType;\n }\n for (let i = 0; i < node.children.length; i++) {\n const childType = getConstantType(node.children[i], context);\n if (childType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (childType < returnType2) {\n returnType2 = childType;\n }\n }\n if (returnType2 > 1) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && p.name === \"bind\" && p.exp) {\n const expType = getConstantType(p.exp, context);\n if (expType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (expType < returnType2) {\n returnType2 = expType;\n }\n }\n }\n }\n if (codegenNode.isBlock) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7) {\n constantCache.set(node, 0);\n return 0;\n }\n }\n context.removeHelper(OPEN_BLOCK);\n context.removeHelper(\n getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)\n );\n codegenNode.isBlock = false;\n context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));\n }\n constantCache.set(node, returnType2);\n return returnType2;\n } else {\n constantCache.set(node, 0);\n return 0;\n }\n case 2:\n case 3:\n return 3;\n case 9:\n case 11:\n case 10:\n return 0;\n case 5:\n case 12:\n return getConstantType(node.content, context);\n case 4:\n return node.constType;\n case 8:\n let returnType = 3;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child) || isSymbol(child)) {\n continue;\n }\n const childType = getConstantType(child, context);\n if (childType === 0) {\n return 0;\n } else if (childType < returnType) {\n returnType = childType;\n }\n }\n return returnType;\n case 20:\n return 2;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return 0;\n }\n}\nconst allowHoistedHelperSet = /* @__PURE__ */ new Set([\n NORMALIZE_CLASS,\n NORMALIZE_STYLE,\n NORMALIZE_PROPS,\n GUARD_REACTIVE_PROPS\n]);\nfunction getConstantTypeOfHelperCall(value, context) {\n if (value.type === 14 && !isString(value.callee) && allowHoistedHelperSet.has(value.callee)) {\n const arg = value.arguments[0];\n if (arg.type === 4) {\n return getConstantType(arg, context);\n } else if (arg.type === 14) {\n return getConstantTypeOfHelperCall(arg, context);\n }\n }\n return 0;\n}\nfunction getGeneratedPropsConstantType(node, context) {\n let returnType = 3;\n const props = getNodeProps(node);\n if (props && props.type === 15) {\n const { properties } = props;\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n const keyType = getConstantType(key, context);\n if (keyType === 0) {\n return keyType;\n }\n if (keyType < returnType) {\n returnType = keyType;\n }\n let valueType;\n if (value.type === 4) {\n valueType = getConstantType(value, context);\n } else if (value.type === 14) {\n valueType = getConstantTypeOfHelperCall(value, context);\n } else {\n valueType = 0;\n }\n if (valueType === 0) {\n return valueType;\n }\n if (valueType < returnType) {\n returnType = valueType;\n }\n }\n }\n return returnType;\n}\nfunction getNodeProps(node) {\n const codegenNode = node.codegenNode;\n if (codegenNode.type === 13) {\n return codegenNode.props;\n }\n}\n\nfunction createTransformContext(root, {\n filename = \"\",\n prefixIdentifiers = false,\n hoistStatic = false,\n hmr = false,\n cacheHandlers = false,\n nodeTransforms = [],\n directiveTransforms = {},\n transformHoist = null,\n isBuiltInComponent = NOOP,\n isCustomElement = NOOP,\n expressionPlugins = [],\n scopeId = null,\n slotted = true,\n ssr = false,\n inSSR = false,\n ssrCssVars = ``,\n bindingMetadata = EMPTY_OBJ,\n inline = false,\n isTS = false,\n onError = defaultOnError,\n onWarn = defaultOnWarn,\n compatConfig\n}) {\n const nameMatch = filename.replace(/\\?.*$/, \"\").match(/([^/\\\\]+)\\.\\w+$/);\n const context = {\n // options\n filename,\n selfName: nameMatch && capitalize(camelize(nameMatch[1])),\n prefixIdentifiers,\n hoistStatic,\n hmr,\n cacheHandlers,\n nodeTransforms,\n directiveTransforms,\n transformHoist,\n isBuiltInComponent,\n isCustomElement,\n expressionPlugins,\n scopeId,\n slotted,\n ssr,\n inSSR,\n ssrCssVars,\n bindingMetadata,\n inline,\n isTS,\n onError,\n onWarn,\n compatConfig,\n // state\n root,\n helpers: /* @__PURE__ */ new Map(),\n components: /* @__PURE__ */ new Set(),\n directives: /* @__PURE__ */ new Set(),\n hoists: [],\n imports: [],\n cached: [],\n constantCache: /* @__PURE__ */ new WeakMap(),\n temps: 0,\n identifiers: /* @__PURE__ */ Object.create(null),\n scopes: {\n vFor: 0,\n vSlot: 0,\n vPre: 0,\n vOnce: 0\n },\n parent: null,\n grandParent: null,\n currentNode: root,\n childIndex: 0,\n inVOnce: false,\n // methods\n helper(name) {\n const count = context.helpers.get(name) || 0;\n context.helpers.set(name, count + 1);\n return name;\n },\n removeHelper(name) {\n const count = context.helpers.get(name);\n if (count) {\n const currentCount = count - 1;\n if (!currentCount) {\n context.helpers.delete(name);\n } else {\n context.helpers.set(name, currentCount);\n }\n }\n },\n helperString(name) {\n return `_${helperNameMap[context.helper(name)]}`;\n },\n replaceNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!context.currentNode) {\n throw new Error(`Node being replaced is already removed.`);\n }\n if (!context.parent) {\n throw new Error(`Cannot replace root node.`);\n }\n }\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\") && !context.parent) {\n throw new Error(`Cannot remove root node.`);\n }\n const list = context.parent.children;\n const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;\n if (!!(process.env.NODE_ENV !== \"production\") && removalIndex < 0) {\n throw new Error(`node being removed is not a child of current parent`);\n }\n if (!node || node === context.currentNode) {\n context.currentNode = null;\n context.onNodeRemoved();\n } else {\n if (context.childIndex > removalIndex) {\n context.childIndex--;\n context.onNodeRemoved();\n }\n }\n context.parent.children.splice(removalIndex, 1);\n },\n onNodeRemoved: NOOP,\n addIdentifiers(exp) {\n },\n removeIdentifiers(exp) {\n },\n hoist(exp) {\n if (isString(exp)) exp = createSimpleExpression(exp);\n context.hoists.push(exp);\n const identifier = createSimpleExpression(\n `_hoisted_${context.hoists.length}`,\n false,\n exp.loc,\n 2\n );\n identifier.hoisted = exp;\n return identifier;\n },\n cache(exp, isVNode = false, inVOnce = false) {\n const cacheExp = createCacheExpression(\n context.cached.length,\n exp,\n isVNode,\n inVOnce\n );\n context.cached.push(cacheExp);\n return cacheExp;\n }\n };\n {\n context.filters = /* @__PURE__ */ new Set();\n }\n return context;\n}\nfunction transform(root, options) {\n const context = createTransformContext(root, options);\n traverseNode(root, context);\n if (options.hoistStatic) {\n cacheStatic(root, context);\n }\n if (!options.ssr) {\n createRootCodegen(root, context);\n }\n root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);\n root.components = [...context.components];\n root.directives = [...context.directives];\n root.imports = context.imports;\n root.hoists = context.hoists;\n root.temps = context.temps;\n root.cached = context.cached;\n root.transformed = true;\n {\n root.filters = [...context.filters];\n }\n}\nfunction createRootCodegen(root, context) {\n const { helper } = context;\n const { children } = root;\n if (children.length === 1) {\n const child = children[0];\n if (isSingleElementRoot(root, child) && child.codegenNode) {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n convertToBlock(codegenNode, context);\n }\n root.codegenNode = codegenNode;\n } else {\n root.codegenNode = child;\n }\n } else if (children.length > 1) {\n let patchFlag = 64;\n if (!!(process.env.NODE_ENV !== \"production\") && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n }\n root.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n root.children,\n patchFlag,\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else ;\n}\nfunction traverseChildren(parent, context) {\n let i = 0;\n const nodeRemoved = () => {\n i--;\n };\n for (; i < parent.children.length; i++) {\n const child = parent.children[i];\n if (isString(child)) continue;\n context.grandParent = context.parent;\n context.parent = parent;\n context.childIndex = i;\n context.onNodeRemoved = nodeRemoved;\n traverseNode(child, context);\n }\n}\nfunction traverseNode(node, context) {\n context.currentNode = node;\n const { nodeTransforms } = context;\n const exitFns = [];\n for (let i2 = 0; i2 < nodeTransforms.length; i2++) {\n const onExit = nodeTransforms[i2](node, context);\n if (onExit) {\n if (isArray(onExit)) {\n exitFns.push(...onExit);\n } else {\n exitFns.push(onExit);\n }\n }\n if (!context.currentNode) {\n return;\n } else {\n node = context.currentNode;\n }\n }\n switch (node.type) {\n case 3:\n if (!context.ssr) {\n context.helper(CREATE_COMMENT);\n }\n break;\n case 5:\n if (!context.ssr) {\n context.helper(TO_DISPLAY_STRING);\n }\n break;\n // for container types, further traverse downwards\n case 9:\n for (let i2 = 0; i2 < node.branches.length; i2++) {\n traverseNode(node.branches[i2], context);\n }\n break;\n case 10:\n case 11:\n case 1:\n case 0:\n traverseChildren(node, context);\n break;\n }\n context.currentNode = node;\n let i = exitFns.length;\n while (i--) {\n exitFns[i]();\n }\n}\nfunction createStructuralDirectiveTransform(name, fn) {\n const matches = isString(name) ? (n) => n === name : (n) => name.test(n);\n return (node, context) => {\n if (node.type === 1) {\n const { props } = node;\n if (node.tagType === 3 && props.some(isVSlot)) {\n return;\n }\n const exitFns = [];\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 7 && matches(prop.name)) {\n props.splice(i, 1);\n i--;\n const onExit = fn(node, prop, context);\n if (onExit) exitFns.push(onExit);\n }\n }\n return exitFns;\n }\n };\n}\n\nconst PURE_ANNOTATION = `/*@__PURE__*/`;\nconst aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;\nfunction createCodegenContext(ast, {\n mode = \"function\",\n prefixIdentifiers = mode === \"module\",\n sourceMap = false,\n filename = `template.vue.html`,\n scopeId = null,\n optimizeImports = false,\n runtimeGlobalName = `Vue`,\n runtimeModuleName = `vue`,\n ssrRuntimeModuleName = \"vue/server-renderer\",\n ssr = false,\n isTS = false,\n inSSR = false\n}) {\n const context = {\n mode,\n prefixIdentifiers,\n sourceMap,\n filename,\n scopeId,\n optimizeImports,\n runtimeGlobalName,\n runtimeModuleName,\n ssrRuntimeModuleName,\n ssr,\n isTS,\n inSSR,\n source: ast.source,\n code: ``,\n column: 1,\n line: 1,\n offset: 0,\n indentLevel: 0,\n pure: false,\n map: void 0,\n helper(key) {\n return `_${helperNameMap[key]}`;\n },\n push(code, newlineIndex = -2 /* None */, node) {\n context.code += code;\n },\n indent() {\n newline(++context.indentLevel);\n },\n deindent(withoutNewLine = false) {\n if (withoutNewLine) {\n --context.indentLevel;\n } else {\n newline(--context.indentLevel);\n }\n },\n newline() {\n newline(context.indentLevel);\n }\n };\n function newline(n) {\n context.push(\"\\n\" + ` `.repeat(n), 0 /* Start */);\n }\n return context;\n}\nfunction generate(ast, options = {}) {\n const context = createCodegenContext(ast, options);\n if (options.onContextCreated) options.onContextCreated(context);\n const {\n mode,\n push,\n prefixIdentifiers,\n indent,\n deindent,\n newline,\n scopeId,\n ssr\n } = context;\n const helpers = Array.from(ast.helpers);\n const hasHelpers = helpers.length > 0;\n const useWithBlock = !prefixIdentifiers && mode !== \"module\";\n const preambleContext = context;\n {\n genFunctionPreamble(ast, preambleContext);\n }\n const functionName = ssr ? `ssrRender` : `render`;\n const args = ssr ? [\"_ctx\", \"_push\", \"_parent\", \"_attrs\"] : [\"_ctx\", \"_cache\"];\n const signature = args.join(\", \");\n {\n push(`function ${functionName}(${signature}) {`);\n }\n indent();\n if (useWithBlock) {\n push(`with (_ctx) {`);\n indent();\n if (hasHelpers) {\n push(\n `const { ${helpers.map(aliasHelper).join(\", \")} } = _Vue\n`,\n -1 /* End */\n );\n newline();\n }\n }\n if (ast.components.length) {\n genAssets(ast.components, \"component\", context);\n if (ast.directives.length || ast.temps > 0) {\n newline();\n }\n }\n if (ast.directives.length) {\n genAssets(ast.directives, \"directive\", context);\n if (ast.temps > 0) {\n newline();\n }\n }\n if (ast.filters && ast.filters.length) {\n newline();\n genAssets(ast.filters, \"filter\", context);\n newline();\n }\n if (ast.temps > 0) {\n push(`let `);\n for (let i = 0; i < ast.temps; i++) {\n push(`${i > 0 ? `, ` : ``}_temp${i}`);\n }\n }\n if (ast.components.length || ast.directives.length || ast.temps) {\n push(`\n`, 0 /* Start */);\n newline();\n }\n if (!ssr) {\n push(`return `);\n }\n if (ast.codegenNode) {\n genNode(ast.codegenNode, context);\n } else {\n push(`null`);\n }\n if (useWithBlock) {\n deindent();\n push(`}`);\n }\n deindent();\n push(`}`);\n return {\n ast,\n code: context.code,\n preamble: ``,\n map: context.map ? context.map.toJSON() : void 0\n };\n}\nfunction genFunctionPreamble(ast, context) {\n const {\n ssr,\n prefixIdentifiers,\n push,\n newline,\n runtimeModuleName,\n runtimeGlobalName,\n ssrRuntimeModuleName\n } = context;\n const VueBinding = runtimeGlobalName;\n const helpers = Array.from(ast.helpers);\n if (helpers.length > 0) {\n {\n push(`const _Vue = ${VueBinding}\n`, -1 /* End */);\n if (ast.hoists.length) {\n const staticHelpers = [\n CREATE_VNODE,\n CREATE_ELEMENT_VNODE,\n CREATE_COMMENT,\n CREATE_TEXT,\n CREATE_STATIC\n ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(\", \");\n push(`const { ${staticHelpers} } = _Vue\n`, -1 /* End */);\n }\n }\n }\n genHoists(ast.hoists, context);\n newline();\n push(`return `);\n}\nfunction genAssets(assets, type, { helper, push, newline, isTS }) {\n const resolver = helper(\n type === \"filter\" ? RESOLVE_FILTER : type === \"component\" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE\n );\n for (let i = 0; i < assets.length; i++) {\n let id = assets[i];\n const maybeSelfReference = id.endsWith(\"__self\");\n if (maybeSelfReference) {\n id = id.slice(0, -6);\n }\n push(\n `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`\n );\n if (i < assets.length - 1) {\n newline();\n }\n }\n}\nfunction genHoists(hoists, context) {\n if (!hoists.length) {\n return;\n }\n context.pure = true;\n const { push, newline } = context;\n newline();\n for (let i = 0; i < hoists.length; i++) {\n const exp = hoists[i];\n if (exp) {\n push(`const _hoisted_${i + 1} = `);\n genNode(exp, context);\n newline();\n }\n }\n context.pure = false;\n}\nfunction isText(n) {\n return isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8;\n}\nfunction genNodeListAsArray(nodes, context) {\n const multilines = nodes.length > 3 || !!(process.env.NODE_ENV !== \"production\") && nodes.some((n) => isArray(n) || !isText(n));\n context.push(`[`);\n multilines && context.indent();\n genNodeList(nodes, context, multilines);\n multilines && context.deindent();\n context.push(`]`);\n}\nfunction genNodeList(nodes, context, multilines = false, comma = true) {\n const { push, newline } = context;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (isString(node)) {\n push(node, -3 /* Unknown */);\n } else if (isArray(node)) {\n genNodeListAsArray(node, context);\n } else {\n genNode(node, context);\n }\n if (i < nodes.length - 1) {\n if (multilines) {\n comma && push(\",\");\n newline();\n } else {\n comma && push(\", \");\n }\n }\n }\n}\nfunction genNode(node, context) {\n if (isString(node)) {\n context.push(node, -3 /* Unknown */);\n return;\n }\n if (isSymbol(node)) {\n context.push(context.helper(node));\n return;\n }\n switch (node.type) {\n case 1:\n case 9:\n case 11:\n !!(process.env.NODE_ENV !== \"production\") && assert(\n node.codegenNode != null,\n `Codegen node is missing for element/if/for node. Apply appropriate transforms first.`\n );\n genNode(node.codegenNode, context);\n break;\n case 2:\n genText(node, context);\n break;\n case 4:\n genExpression(node, context);\n break;\n case 5:\n genInterpolation(node, context);\n break;\n case 12:\n genNode(node.codegenNode, context);\n break;\n case 8:\n genCompoundExpression(node, context);\n break;\n case 3:\n genComment(node, context);\n break;\n case 13:\n genVNodeCall(node, context);\n break;\n case 14:\n genCallExpression(node, context);\n break;\n case 15:\n genObjectExpression(node, context);\n break;\n case 17:\n genArrayExpression(node, context);\n break;\n case 18:\n genFunctionExpression(node, context);\n break;\n case 19:\n genConditionalExpression(node, context);\n break;\n case 20:\n genCacheExpression(node, context);\n break;\n case 21:\n genNodeList(node.body, context, true, false);\n break;\n // SSR only types\n case 22:\n break;\n case 23:\n break;\n case 24:\n break;\n case 25:\n break;\n case 26:\n break;\n /* v8 ignore start */\n case 10:\n break;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assert(false, `unhandled codegen node type: ${node.type}`);\n const exhaustiveCheck = node;\n return exhaustiveCheck;\n }\n }\n}\nfunction genText(node, context) {\n context.push(JSON.stringify(node.content), -3 /* Unknown */, node);\n}\nfunction genExpression(node, context) {\n const { content, isStatic } = node;\n context.push(\n isStatic ? JSON.stringify(content) : content,\n -3 /* Unknown */,\n node\n );\n}\nfunction genInterpolation(node, context) {\n const { push, helper, pure } = context;\n if (pure) push(PURE_ANNOTATION);\n push(`${helper(TO_DISPLAY_STRING)}(`);\n genNode(node.content, context);\n push(`)`);\n}\nfunction genCompoundExpression(node, context) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child)) {\n context.push(child, -3 /* Unknown */);\n } else {\n genNode(child, context);\n }\n }\n}\nfunction genExpressionAsPropertyKey(node, context) {\n const { push } = context;\n if (node.type === 8) {\n push(`[`);\n genCompoundExpression(node, context);\n push(`]`);\n } else if (node.isStatic) {\n const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);\n push(text, -2 /* None */, node);\n } else {\n push(`[${node.content}]`, -3 /* Unknown */, node);\n }\n}\nfunction genComment(node, context) {\n const { push, helper, pure } = context;\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(\n `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`,\n -3 /* Unknown */,\n node\n );\n}\nfunction genVNodeCall(node, context) {\n const { push, helper, pure } = context;\n const {\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent\n } = node;\n let patchFlagString;\n if (patchFlag) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (patchFlag < 0) {\n patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;\n } else {\n const flagNames = Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `);\n patchFlagString = patchFlag + ` /* ${flagNames} */`;\n }\n } else {\n patchFlagString = String(patchFlag);\n }\n }\n if (directives) {\n push(helper(WITH_DIRECTIVES) + `(`);\n }\n if (isBlock) {\n push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);\n }\n if (pure) {\n push(PURE_ANNOTATION);\n }\n const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent);\n push(helper(callHelper) + `(`, -2 /* None */, node);\n genNodeList(\n genNullableArgs([tag, props, children, patchFlagString, dynamicProps]),\n context\n );\n push(`)`);\n if (isBlock) {\n push(`)`);\n }\n if (directives) {\n push(`, `);\n genNode(directives, context);\n push(`)`);\n }\n}\nfunction genNullableArgs(args) {\n let i = args.length;\n while (i--) {\n if (args[i] != null) break;\n }\n return args.slice(0, i + 1).map((arg) => arg || `null`);\n}\nfunction genCallExpression(node, context) {\n const { push, helper, pure } = context;\n const callee = isString(node.callee) ? node.callee : helper(node.callee);\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(callee + `(`, -2 /* None */, node);\n genNodeList(node.arguments, context);\n push(`)`);\n}\nfunction genObjectExpression(node, context) {\n const { push, indent, deindent, newline } = context;\n const { properties } = node;\n if (!properties.length) {\n push(`{}`, -2 /* None */, node);\n return;\n }\n const multilines = properties.length > 1 || !!(process.env.NODE_ENV !== \"production\") && properties.some((p) => p.value.type !== 4);\n push(multilines ? `{` : `{ `);\n multilines && indent();\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n genExpressionAsPropertyKey(key, context);\n push(`: `);\n genNode(value, context);\n if (i < properties.length - 1) {\n push(`,`);\n newline();\n }\n }\n multilines && deindent();\n push(multilines ? `}` : ` }`);\n}\nfunction genArrayExpression(node, context) {\n genNodeListAsArray(node.elements, context);\n}\nfunction genFunctionExpression(node, context) {\n const { push, indent, deindent } = context;\n const { params, returns, body, newline, isSlot } = node;\n if (isSlot) {\n push(`_${helperNameMap[WITH_CTX]}(`);\n }\n push(`(`, -2 /* None */, node);\n if (isArray(params)) {\n genNodeList(params, context);\n } else if (params) {\n genNode(params, context);\n }\n push(`) => `);\n if (newline || body) {\n push(`{`);\n indent();\n }\n if (returns) {\n if (newline) {\n push(`return `);\n }\n if (isArray(returns)) {\n genNodeListAsArray(returns, context);\n } else {\n genNode(returns, context);\n }\n } else if (body) {\n genNode(body, context);\n }\n if (newline || body) {\n deindent();\n push(`}`);\n }\n if (isSlot) {\n if (node.isNonScopedSlot) {\n push(`, undefined, true`);\n }\n push(`)`);\n }\n}\nfunction genConditionalExpression(node, context) {\n const { test, consequent, alternate, newline: needNewline } = node;\n const { push, indent, deindent, newline } = context;\n if (test.type === 4) {\n const needsParens = !isSimpleIdentifier(test.content);\n needsParens && push(`(`);\n genExpression(test, context);\n needsParens && push(`)`);\n } else {\n push(`(`);\n genNode(test, context);\n push(`)`);\n }\n needNewline && indent();\n context.indentLevel++;\n needNewline || push(` `);\n push(`? `);\n genNode(consequent, context);\n context.indentLevel--;\n needNewline && newline();\n needNewline || push(` `);\n push(`: `);\n const isNested = alternate.type === 19;\n if (!isNested) {\n context.indentLevel++;\n }\n genNode(alternate, context);\n if (!isNested) {\n context.indentLevel--;\n }\n needNewline && deindent(\n true\n /* without newline */\n );\n}\nfunction genCacheExpression(node, context) {\n const { push, helper, indent, deindent, newline } = context;\n const { needPauseTracking, needArraySpread } = node;\n if (needArraySpread) {\n push(`[...(`);\n }\n push(`_cache[${node.index}] || (`);\n if (needPauseTracking) {\n indent();\n push(`${helper(SET_BLOCK_TRACKING)}(-1`);\n if (node.inVOnce) push(`, true`);\n push(`),`);\n newline();\n push(`(`);\n }\n push(`_cache[${node.index}] = `);\n genNode(node.value, context);\n if (needPauseTracking) {\n push(`).cacheIndex = ${node.index},`);\n newline();\n push(`${helper(SET_BLOCK_TRACKING)}(1),`);\n newline();\n push(`_cache[${node.index}]`);\n deindent();\n }\n push(`)`);\n if (needArraySpread) {\n push(`)]`);\n }\n}\n\nconst prohibitedKeywordRE = new RegExp(\n \"\\\\b\" + \"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield\".split(\",\").join(\"\\\\b|\\\\b\") + \"\\\\b\"\n);\nconst stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\nfunction validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {\n const exp = node.content;\n if (!exp.trim()) {\n return;\n }\n try {\n new Function(\n asRawStatements ? ` ${exp} ` : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`\n );\n } catch (e) {\n let message = e.message;\n const keywordMatch = exp.replace(stripStringRE, \"\").match(prohibitedKeywordRE);\n if (keywordMatch) {\n message = `avoid using JavaScript keyword as property name: \"${keywordMatch[0]}\"`;\n }\n context.onError(\n createCompilerError(\n 45,\n node.loc,\n void 0,\n message\n )\n );\n }\n}\n\nconst transformExpression = (node, context) => {\n if (node.type === 5) {\n node.content = processExpression(\n node.content,\n context\n );\n } else if (node.type === 1) {\n const memo = findDir(node, \"memo\");\n for (let i = 0; i < node.props.length; i++) {\n const dir = node.props[i];\n if (dir.type === 7 && dir.name !== \"for\") {\n const exp = dir.exp;\n const arg = dir.arg;\n if (exp && exp.type === 4 && !(dir.name === \"on\" && arg) && // key has been processed in transformFor(vMemo + vFor)\n !(memo && arg && arg.type === 4 && arg.content === \"key\")) {\n dir.exp = processExpression(\n exp,\n context,\n // slot args must be processed as function params\n dir.name === \"slot\"\n );\n }\n if (arg && arg.type === 4 && !arg.isStatic) {\n dir.arg = processExpression(arg, context);\n }\n }\n }\n }\n};\nfunction processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) {\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateBrowserExpression(node, context, asParams, asRawStatements);\n }\n return node;\n }\n}\nfunction stringifyExpression(exp) {\n if (isString(exp)) {\n return exp;\n } else if (exp.type === 4) {\n return exp.content;\n } else {\n return exp.children.map(stringifyExpression).join(\"\");\n }\n}\n\nconst transformIf = createStructuralDirectiveTransform(\n /^(if|else|else-if)$/,\n (node, dir, context) => {\n return processIf(node, dir, context, (ifNode, branch, isRoot) => {\n const siblings = context.parent.children;\n let i = siblings.indexOf(ifNode);\n let key = 0;\n while (i-- >= 0) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 9) {\n key += sibling.branches.length;\n }\n }\n return () => {\n if (isRoot) {\n ifNode.codegenNode = createCodegenNodeForBranch(\n branch,\n key,\n context\n );\n } else {\n const parentCondition = getParentCondition(ifNode.codegenNode);\n parentCondition.alternate = createCodegenNodeForBranch(\n branch,\n key + ifNode.branches.length - 1,\n context\n );\n }\n };\n });\n }\n);\nfunction processIf(node, dir, context, processCodegen) {\n if (dir.name !== \"else\" && (!dir.exp || !dir.exp.content.trim())) {\n const loc = dir.exp ? dir.exp.loc : node.loc;\n context.onError(\n createCompilerError(28, dir.loc)\n );\n dir.exp = createSimpleExpression(`true`, false, loc);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true && dir.exp) {\n validateBrowserExpression(dir.exp, context);\n }\n if (dir.name === \"if\") {\n const branch = createIfBranch(node, dir);\n const ifNode = {\n type: 9,\n loc: cloneLoc(node.loc),\n branches: [branch]\n };\n context.replaceNode(ifNode);\n if (processCodegen) {\n return processCodegen(ifNode, branch, true);\n }\n } else {\n const siblings = context.parent.children;\n const comments = [];\n let i = siblings.indexOf(node);\n while (i-- >= -1) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 3) {\n context.removeNode(sibling);\n !!(process.env.NODE_ENV !== \"production\") && comments.unshift(sibling);\n continue;\n }\n if (sibling && sibling.type === 2 && !sibling.content.trim().length) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 9) {\n if (dir.name === \"else-if\" && sibling.branches[sibling.branches.length - 1].condition === void 0) {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n context.removeNode();\n const branch = createIfBranch(node, dir);\n if (!!(process.env.NODE_ENV !== \"production\") && comments.length && // #3619 ignore comments if the v-if is direct child of <transition>\n !(context.parent && context.parent.type === 1 && (context.parent.tag === \"transition\" || context.parent.tag === \"Transition\"))) {\n branch.children = [...comments, ...branch.children];\n }\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n const key = branch.userKey;\n if (key) {\n sibling.branches.forEach(({ userKey }) => {\n if (isSameKey(userKey, key)) {\n context.onError(\n createCompilerError(\n 29,\n branch.userKey.loc\n )\n );\n }\n });\n }\n }\n sibling.branches.push(branch);\n const onExit = processCodegen && processCodegen(sibling, branch, false);\n traverseNode(branch, context);\n if (onExit) onExit();\n context.currentNode = null;\n } else {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n break;\n }\n }\n}\nfunction createIfBranch(node, dir) {\n const isTemplateIf = node.tagType === 3;\n return {\n type: 10,\n loc: node.loc,\n condition: dir.name === \"else\" ? void 0 : dir.exp,\n children: isTemplateIf && !findDir(node, \"for\") ? node.children : [node],\n userKey: findProp(node, `key`),\n isTemplateIf\n };\n}\nfunction createCodegenNodeForBranch(branch, keyIndex, context) {\n if (branch.condition) {\n return createConditionalExpression(\n branch.condition,\n createChildrenCodegenNode(branch, keyIndex, context),\n // make sure to pass in asBlock: true so that the comment node call\n // closes the current block.\n createCallExpression(context.helper(CREATE_COMMENT), [\n !!(process.env.NODE_ENV !== \"production\") ? '\"v-if\"' : '\"\"',\n \"true\"\n ])\n );\n } else {\n return createChildrenCodegenNode(branch, keyIndex, context);\n }\n}\nfunction createChildrenCodegenNode(branch, keyIndex, context) {\n const { helper } = context;\n const keyProperty = createObjectProperty(\n `key`,\n createSimpleExpression(\n `${keyIndex}`,\n false,\n locStub,\n 2\n )\n );\n const { children } = branch;\n const firstChild = children[0];\n const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;\n if (needFragmentWrapper) {\n if (children.length === 1 && firstChild.type === 11) {\n const vnodeCall = firstChild.codegenNode;\n injectProp(vnodeCall, keyProperty, context);\n return vnodeCall;\n } else {\n let patchFlag = 64;\n if (!!(process.env.NODE_ENV !== \"production\") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n }\n return createVNodeCall(\n context,\n helper(FRAGMENT),\n createObjectExpression([keyProperty]),\n children,\n patchFlag,\n void 0,\n void 0,\n true,\n false,\n false,\n branch.loc\n );\n }\n } else {\n const ret = firstChild.codegenNode;\n const vnodeCall = getMemoedVNodeCall(ret);\n if (vnodeCall.type === 13) {\n convertToBlock(vnodeCall, context);\n }\n injectProp(vnodeCall, keyProperty, context);\n return ret;\n }\n}\nfunction isSameKey(a, b) {\n if (!a || a.type !== b.type) {\n return false;\n }\n if (a.type === 6) {\n if (a.value.content !== b.value.content) {\n return false;\n }\n } else {\n const exp = a.exp;\n const branchExp = b.exp;\n if (exp.type !== branchExp.type) {\n return false;\n }\n if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) {\n return false;\n }\n }\n return true;\n}\nfunction getParentCondition(node) {\n while (true) {\n if (node.type === 19) {\n if (node.alternate.type === 19) {\n node = node.alternate;\n } else {\n return node;\n }\n } else if (node.type === 20) {\n node = node.value;\n }\n }\n}\n\nconst transformBind = (dir, _node, context) => {\n const { modifiers, loc } = dir;\n const arg = dir.arg;\n let { exp } = dir;\n if (exp && exp.type === 4 && !exp.content.trim()) {\n {\n exp = void 0;\n }\n }\n if (!exp) {\n if (arg.type !== 4 || !arg.isStatic) {\n context.onError(\n createCompilerError(\n 52,\n arg.loc\n )\n );\n return {\n props: [\n createObjectProperty(arg, createSimpleExpression(\"\", true, loc))\n ]\n };\n }\n transformBindShorthand(dir);\n exp = dir.exp;\n }\n if (arg.type !== 4) {\n arg.children.unshift(`(`);\n arg.children.push(`) || \"\"`);\n } else if (!arg.isStatic) {\n arg.content = `${arg.content} || \"\"`;\n }\n if (modifiers.some((mod) => mod.content === \"camel\")) {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = camelize(arg.content);\n } else {\n arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;\n }\n } else {\n arg.children.unshift(`${context.helperString(CAMELIZE)}(`);\n arg.children.push(`)`);\n }\n }\n if (!context.inSSR) {\n if (modifiers.some((mod) => mod.content === \"prop\")) {\n injectPrefix(arg, \".\");\n }\n if (modifiers.some((mod) => mod.content === \"attr\")) {\n injectPrefix(arg, \"^\");\n }\n }\n return {\n props: [createObjectProperty(arg, exp)]\n };\n};\nconst transformBindShorthand = (dir, context) => {\n const arg = dir.arg;\n const propName = camelize(arg.content);\n dir.exp = createSimpleExpression(propName, false, arg.loc);\n};\nconst injectPrefix = (arg, prefix) => {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = prefix + arg.content;\n } else {\n arg.content = `\\`${prefix}\\${${arg.content}}\\``;\n }\n } else {\n arg.children.unshift(`'${prefix}' + (`);\n arg.children.push(`)`);\n }\n};\n\nconst transformFor = createStructuralDirectiveTransform(\n \"for\",\n (node, dir, context) => {\n const { helper, removeHelper } = context;\n return processFor(node, dir, context, (forNode) => {\n const renderExp = createCallExpression(helper(RENDER_LIST), [\n forNode.source\n ]);\n const isTemplate = isTemplateNode(node);\n const memo = findDir(node, \"memo\");\n const keyProp = findProp(node, `key`, false, true);\n const isDirKey = keyProp && keyProp.type === 7;\n if (isDirKey && !keyProp.exp) {\n transformBindShorthand(keyProp);\n }\n let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);\n const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;\n const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;\n const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;\n forNode.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n renderExp,\n fragmentFlag,\n void 0,\n void 0,\n true,\n !isStableFragment,\n false,\n node.loc\n );\n return () => {\n let childBlock;\n const { children } = forNode;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && isTemplate) {\n node.children.some((c) => {\n if (c.type === 1) {\n const key = findProp(c, \"key\");\n if (key) {\n context.onError(\n createCompilerError(\n 33,\n key.loc\n )\n );\n return true;\n }\n }\n });\n }\n const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;\n const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;\n if (slotOutlet) {\n childBlock = slotOutlet.codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n } else if (needFragmentWrapper) {\n childBlock = createVNodeCall(\n context,\n helper(FRAGMENT),\n keyProperty ? createObjectExpression([keyProperty]) : void 0,\n node.children,\n 64,\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else {\n childBlock = children[0].codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n if (childBlock.isBlock !== !isStableFragment) {\n if (childBlock.isBlock) {\n removeHelper(OPEN_BLOCK);\n removeHelper(\n getVNodeBlockHelper(context.inSSR, childBlock.isComponent)\n );\n } else {\n removeHelper(\n getVNodeHelper(context.inSSR, childBlock.isComponent)\n );\n }\n }\n childBlock.isBlock = !isStableFragment;\n if (childBlock.isBlock) {\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n } else {\n helper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n if (memo) {\n const loop = createFunctionExpression(\n createForLoopParams(forNode.parseResult, [\n createSimpleExpression(`_cached`)\n ])\n );\n loop.body = createBlockStatement([\n createCompoundExpression([`const _memo = (`, memo.exp, `)`]),\n createCompoundExpression([\n `if (_cached`,\n ...keyExp ? [` && _cached.key === `, keyExp] : [],\n ` && ${context.helperString(\n IS_MEMO_SAME\n )}(_cached, _memo)) return _cached`\n ]),\n createCompoundExpression([`const _item = `, childBlock]),\n createSimpleExpression(`_item.memo = _memo`),\n createSimpleExpression(`return _item`)\n ]);\n renderExp.arguments.push(\n loop,\n createSimpleExpression(`_cache`),\n createSimpleExpression(String(context.cached.length))\n );\n context.cached.push(null);\n } else {\n renderExp.arguments.push(\n createFunctionExpression(\n createForLoopParams(forNode.parseResult),\n childBlock,\n true\n )\n );\n }\n };\n });\n }\n);\nfunction processFor(node, dir, context, processCodegen) {\n if (!dir.exp) {\n context.onError(\n createCompilerError(31, dir.loc)\n );\n return;\n }\n const parseResult = dir.forParseResult;\n if (!parseResult) {\n context.onError(\n createCompilerError(32, dir.loc)\n );\n return;\n }\n finalizeForParseResult(parseResult, context);\n const { addIdentifiers, removeIdentifiers, scopes } = context;\n const { source, value, key, index } = parseResult;\n const forNode = {\n type: 11,\n loc: dir.loc,\n source,\n valueAlias: value,\n keyAlias: key,\n objectIndexAlias: index,\n parseResult,\n children: isTemplateNode(node) ? node.children : [node]\n };\n context.replaceNode(forNode);\n scopes.vFor++;\n const onExit = processCodegen && processCodegen(forNode);\n return () => {\n scopes.vFor--;\n if (onExit) onExit();\n };\n}\nfunction finalizeForParseResult(result, context) {\n if (result.finalized) return;\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(result.source, context);\n if (result.key) {\n validateBrowserExpression(\n result.key,\n context,\n true\n );\n }\n if (result.index) {\n validateBrowserExpression(\n result.index,\n context,\n true\n );\n }\n if (result.value) {\n validateBrowserExpression(\n result.value,\n context,\n true\n );\n }\n }\n result.finalized = true;\n}\nfunction createForLoopParams({ value, key, index }, memoArgs = []) {\n return createParamsList([value, key, index, ...memoArgs]);\n}\nfunction createParamsList(args) {\n let i = args.length;\n while (i--) {\n if (args[i]) break;\n }\n return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));\n}\n\nconst defaultFallback = createSimpleExpression(`undefined`, false);\nconst trackSlotScopes = (node, context) => {\n if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {\n const vSlot = findDir(node, \"slot\");\n if (vSlot) {\n vSlot.exp;\n context.scopes.vSlot++;\n return () => {\n context.scopes.vSlot--;\n };\n }\n }\n};\nconst trackVForSlotScopes = (node, context) => {\n let vFor;\n if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, \"for\"))) {\n const result = vFor.forParseResult;\n if (result) {\n finalizeForParseResult(result, context);\n const { value, key, index } = result;\n const { addIdentifiers, removeIdentifiers } = context;\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n return () => {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n };\n }\n }\n};\nconst buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression(\n props,\n children,\n false,\n true,\n children.length ? children[0].loc : loc\n);\nfunction buildSlots(node, context, buildSlotFn = buildClientSlotFn) {\n context.helper(WITH_CTX);\n const { children, loc } = node;\n const slotsProperties = [];\n const dynamicSlots = [];\n let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;\n const onComponentSlot = findDir(node, \"slot\", true);\n if (onComponentSlot) {\n const { arg, exp } = onComponentSlot;\n if (arg && !isStaticExp(arg)) {\n hasDynamicSlots = true;\n }\n slotsProperties.push(\n createObjectProperty(\n arg || createSimpleExpression(\"default\", true),\n buildSlotFn(exp, void 0, children, loc)\n )\n );\n }\n let hasTemplateSlots = false;\n let hasNamedDefaultSlot = false;\n const implicitDefaultChildren = [];\n const seenSlotNames = /* @__PURE__ */ new Set();\n let conditionalBranchIndex = 0;\n for (let i = 0; i < children.length; i++) {\n const slotElement = children[i];\n let slotDir;\n if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, \"slot\", true))) {\n if (slotElement.type !== 3) {\n implicitDefaultChildren.push(slotElement);\n }\n continue;\n }\n if (onComponentSlot) {\n context.onError(\n createCompilerError(37, slotDir.loc)\n );\n break;\n }\n hasTemplateSlots = true;\n const { children: slotChildren, loc: slotLoc } = slotElement;\n const {\n arg: slotName = createSimpleExpression(`default`, true),\n exp: slotProps,\n loc: dirLoc\n } = slotDir;\n let staticSlotName;\n if (isStaticExp(slotName)) {\n staticSlotName = slotName ? slotName.content : `default`;\n } else {\n hasDynamicSlots = true;\n }\n const vFor = findDir(slotElement, \"for\");\n const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc);\n let vIf;\n let vElse;\n if (vIf = findDir(slotElement, \"if\")) {\n hasDynamicSlots = true;\n dynamicSlots.push(\n createConditionalExpression(\n vIf.exp,\n buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),\n defaultFallback\n )\n );\n } else if (vElse = findDir(\n slotElement,\n /^else(-if)?$/,\n true\n /* allowEmpty */\n )) {\n let j = i;\n let prev;\n while (j--) {\n prev = children[j];\n if (prev.type !== 3) {\n break;\n }\n }\n if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {\n let conditional = dynamicSlots[dynamicSlots.length - 1];\n while (conditional.alternate.type === 19) {\n conditional = conditional.alternate;\n }\n conditional.alternate = vElse.exp ? createConditionalExpression(\n vElse.exp,\n buildDynamicSlot(\n slotName,\n slotFunction,\n conditionalBranchIndex++\n ),\n defaultFallback\n ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);\n } else {\n context.onError(\n createCompilerError(30, vElse.loc)\n );\n }\n } else if (vFor) {\n hasDynamicSlots = true;\n const parseResult = vFor.forParseResult;\n if (parseResult) {\n finalizeForParseResult(parseResult, context);\n dynamicSlots.push(\n createCallExpression(context.helper(RENDER_LIST), [\n parseResult.source,\n createFunctionExpression(\n createForLoopParams(parseResult),\n buildDynamicSlot(slotName, slotFunction),\n true\n )\n ])\n );\n } else {\n context.onError(\n createCompilerError(\n 32,\n vFor.loc\n )\n );\n }\n } else {\n if (staticSlotName) {\n if (seenSlotNames.has(staticSlotName)) {\n context.onError(\n createCompilerError(\n 38,\n dirLoc\n )\n );\n continue;\n }\n seenSlotNames.add(staticSlotName);\n if (staticSlotName === \"default\") {\n hasNamedDefaultSlot = true;\n }\n }\n slotsProperties.push(createObjectProperty(slotName, slotFunction));\n }\n }\n if (!onComponentSlot) {\n const buildDefaultSlotProperty = (props, children2) => {\n const fn = buildSlotFn(props, void 0, children2, loc);\n if (context.compatConfig) {\n fn.isNonScopedSlot = true;\n }\n return createObjectProperty(`default`, fn);\n };\n if (!hasTemplateSlots) {\n slotsProperties.push(buildDefaultSlotProperty(void 0, children));\n } else if (implicitDefaultChildren.length && // #3766\n // with whitespace: 'preserve', whitespaces between slots will end up in\n // implicitDefaultChildren. Ignore if all implicit children are whitespaces.\n implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {\n if (hasNamedDefaultSlot) {\n context.onError(\n createCompilerError(\n 39,\n implicitDefaultChildren[0].loc\n )\n );\n } else {\n slotsProperties.push(\n buildDefaultSlotProperty(void 0, implicitDefaultChildren)\n );\n }\n }\n }\n const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;\n let slots = createObjectExpression(\n slotsProperties.concat(\n createObjectProperty(\n `_`,\n // 2 = compiled but dynamic = can skip normalization, but must run diff\n // 1 = compiled and static = can skip normalization AND diff as optimized\n createSimpleExpression(\n slotFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${slotFlagsText[slotFlag]} */` : ``),\n false\n )\n )\n ),\n loc\n );\n if (dynamicSlots.length) {\n slots = createCallExpression(context.helper(CREATE_SLOTS), [\n slots,\n createArrayExpression(dynamicSlots)\n ]);\n }\n return {\n slots,\n hasDynamicSlots\n };\n}\nfunction buildDynamicSlot(name, fn, index) {\n const props = [\n createObjectProperty(`name`, name),\n createObjectProperty(`fn`, fn)\n ];\n if (index != null) {\n props.push(\n createObjectProperty(`key`, createSimpleExpression(String(index), true))\n );\n }\n return createObjectExpression(props);\n}\nfunction hasForwardedSlots(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n switch (child.type) {\n case 1:\n if (child.tagType === 2 || hasForwardedSlots(child.children)) {\n return true;\n }\n break;\n case 9:\n if (hasForwardedSlots(child.branches)) return true;\n break;\n case 10:\n case 11:\n if (hasForwardedSlots(child.children)) return true;\n break;\n }\n }\n return false;\n}\nfunction isNonWhitespaceContent(node) {\n if (node.type !== 2 && node.type !== 12)\n return true;\n return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);\n}\n\nconst directiveImportMap = /* @__PURE__ */ new WeakMap();\nconst transformElement = (node, context) => {\n return function postTransformElement() {\n node = context.currentNode;\n if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {\n return;\n }\n const { tag, props } = node;\n const isComponent = node.tagType === 1;\n let vnodeTag = isComponent ? resolveComponentType(node, context) : `\"${tag}\"`;\n const isDynamicComponent = isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;\n let vnodeProps;\n let vnodeChildren;\n let patchFlag = 0;\n let vnodeDynamicProps;\n let dynamicPropNames;\n let vnodeDirectives;\n let shouldUseBlock = (\n // dynamic component may resolve to plain elements\n isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block\n // updates inside get proper isSVG flag at runtime. (#639, #643)\n // This is technically web-specific, but splitting the logic out of core\n // leads to too much unnecessary complexity.\n (tag === \"svg\" || tag === \"foreignObject\" || tag === \"math\")\n );\n if (props.length > 0) {\n const propsBuildResult = buildProps(\n node,\n context,\n void 0,\n isComponent,\n isDynamicComponent\n );\n vnodeProps = propsBuildResult.props;\n patchFlag = propsBuildResult.patchFlag;\n dynamicPropNames = propsBuildResult.dynamicPropNames;\n const directives = propsBuildResult.directives;\n vnodeDirectives = directives && directives.length ? createArrayExpression(\n directives.map((dir) => buildDirectiveArgs(dir, context))\n ) : void 0;\n if (propsBuildResult.shouldUseBlock) {\n shouldUseBlock = true;\n }\n }\n if (node.children.length > 0) {\n if (vnodeTag === KEEP_ALIVE) {\n shouldUseBlock = true;\n patchFlag |= 1024;\n if (!!(process.env.NODE_ENV !== \"production\") && node.children.length > 1) {\n context.onError(\n createCompilerError(46, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n })\n );\n }\n }\n const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling\n vnodeTag !== TELEPORT && // explained above.\n vnodeTag !== KEEP_ALIVE;\n if (shouldBuildAsSlots) {\n const { slots, hasDynamicSlots } = buildSlots(node, context);\n vnodeChildren = slots;\n if (hasDynamicSlots) {\n patchFlag |= 1024;\n }\n } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {\n const child = node.children[0];\n const type = child.type;\n const hasDynamicTextChild = type === 5 || type === 8;\n if (hasDynamicTextChild && getConstantType(child, context) === 0) {\n patchFlag |= 1;\n }\n if (hasDynamicTextChild || type === 2) {\n vnodeChildren = child;\n } else {\n vnodeChildren = node.children;\n }\n } else {\n vnodeChildren = node.children;\n }\n }\n if (dynamicPropNames && dynamicPropNames.length) {\n vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);\n }\n node.codegenNode = createVNodeCall(\n context,\n vnodeTag,\n vnodeProps,\n vnodeChildren,\n patchFlag === 0 ? void 0 : patchFlag,\n vnodeDynamicProps,\n vnodeDirectives,\n !!shouldUseBlock,\n false,\n isComponent,\n node.loc\n );\n };\n};\nfunction resolveComponentType(node, context, ssr = false) {\n let { tag } = node;\n const isExplicitDynamic = isComponentTag(tag);\n const isProp = findProp(\n node,\n \"is\",\n false,\n true\n /* allow empty */\n );\n if (isProp) {\n if (isExplicitDynamic || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n )) {\n let exp;\n if (isProp.type === 6) {\n exp = isProp.value && createSimpleExpression(isProp.value.content, true);\n } else {\n exp = isProp.exp;\n if (!exp) {\n exp = createSimpleExpression(`is`, false, isProp.arg.loc);\n }\n }\n if (exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n exp\n ]);\n }\n } else if (isProp.type === 6 && isProp.value.content.startsWith(\"vue:\")) {\n tag = isProp.value.content.slice(4);\n }\n }\n const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);\n if (builtIn) {\n if (!ssr) context.helper(builtIn);\n return builtIn;\n }\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag);\n return toValidAssetId(tag, `component`);\n}\nfunction buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {\n const { tag, loc: elementLoc, children } = node;\n let properties = [];\n const mergeArgs = [];\n const runtimeDirectives = [];\n const hasChildren = children.length > 0;\n let shouldUseBlock = false;\n let patchFlag = 0;\n let hasRef = false;\n let hasClassBinding = false;\n let hasStyleBinding = false;\n let hasHydrationEventBinding = false;\n let hasDynamicKeys = false;\n let hasVnodeHook = false;\n const dynamicPropNames = [];\n const pushMergeArg = (arg) => {\n if (properties.length) {\n mergeArgs.push(\n createObjectExpression(dedupeProperties(properties), elementLoc)\n );\n properties = [];\n }\n if (arg) mergeArgs.push(arg);\n };\n const pushRefVForMarker = () => {\n if (context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n };\n const analyzePatchFlag = ({ key, value }) => {\n if (isStaticExp(key)) {\n const name = key.content;\n const isEventHandler = isOn(name);\n if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click\n // dedicated fast path.\n name.toLowerCase() !== \"onclick\" && // omit v-model handlers\n name !== \"onUpdate:modelValue\" && // omit onVnodeXXX hooks\n !isReservedProp(name)) {\n hasHydrationEventBinding = true;\n }\n if (isEventHandler && isReservedProp(name)) {\n hasVnodeHook = true;\n }\n if (isEventHandler && value.type === 14) {\n value = value.arguments[0];\n }\n if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {\n return;\n }\n if (name === \"ref\") {\n hasRef = true;\n } else if (name === \"class\") {\n hasClassBinding = true;\n } else if (name === \"style\") {\n hasStyleBinding = true;\n } else if (name !== \"key\" && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n if (isComponent && (name === \"class\" || name === \"style\") && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n } else {\n hasDynamicKeys = true;\n }\n };\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 6) {\n const { loc, name, nameLoc, value } = prop;\n let isStatic = true;\n if (name === \"ref\") {\n hasRef = true;\n pushRefVForMarker();\n }\n if (name === \"is\" && (isComponentTag(tag) || value && value.content.startsWith(\"vue:\") || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n properties.push(\n createObjectProperty(\n createSimpleExpression(name, true, nameLoc),\n createSimpleExpression(\n value ? value.content : \"\",\n isStatic,\n value ? value.loc : loc\n )\n )\n );\n } else {\n const { name, arg, exp, loc, modifiers } = prop;\n const isVBind = name === \"bind\";\n const isVOn = name === \"on\";\n if (name === \"slot\") {\n if (!isComponent) {\n context.onError(\n createCompilerError(40, loc)\n );\n }\n continue;\n }\n if (name === \"once\" || name === \"memo\") {\n continue;\n }\n if (name === \"is\" || isVBind && isStaticArgOf(arg, \"is\") && (isComponentTag(tag) || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n if (isVOn && ssr) {\n continue;\n }\n if (\n // #938: elements with dynamic keys should be forced into blocks\n isVBind && isStaticArgOf(arg, \"key\") || // inline before-update hooks need to force block so that it is invoked\n // before children\n isVOn && hasChildren && isStaticArgOf(arg, \"vue:before-update\")\n ) {\n shouldUseBlock = true;\n }\n if (isVBind && isStaticArgOf(arg, \"ref\")) {\n pushRefVForMarker();\n }\n if (!arg && (isVBind || isVOn)) {\n hasDynamicKeys = true;\n if (exp) {\n if (isVBind) {\n pushRefVForMarker();\n pushMergeArg();\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const hasOverridableKeys = mergeArgs.some((arg2) => {\n if (arg2.type === 15) {\n return arg2.properties.some(({ key }) => {\n if (key.type !== 4 || !key.isStatic) {\n return true;\n }\n return key.content !== \"class\" && key.content !== \"style\" && !isOn(key.content);\n });\n } else {\n return true;\n }\n });\n if (hasOverridableKeys) {\n checkCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context,\n loc\n );\n }\n }\n if (isCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context\n )) {\n mergeArgs.unshift(exp);\n continue;\n }\n }\n mergeArgs.push(exp);\n } else {\n pushMergeArg({\n type: 14,\n loc,\n callee: context.helper(TO_HANDLERS),\n arguments: isComponent ? [exp] : [exp, `true`]\n });\n }\n } else {\n context.onError(\n createCompilerError(\n isVBind ? 34 : 35,\n loc\n )\n );\n }\n continue;\n }\n if (isVBind && modifiers.some((mod) => mod.content === \"prop\")) {\n patchFlag |= 32;\n }\n const directiveTransform = context.directiveTransforms[name];\n if (directiveTransform) {\n const { props: props2, needRuntime } = directiveTransform(prop, node, context);\n !ssr && props2.forEach(analyzePatchFlag);\n if (isVOn && arg && !isStaticExp(arg)) {\n pushMergeArg(createObjectExpression(props2, elementLoc));\n } else {\n properties.push(...props2);\n }\n if (needRuntime) {\n runtimeDirectives.push(prop);\n if (isSymbol(needRuntime)) {\n directiveImportMap.set(prop, needRuntime);\n }\n }\n } else if (!isBuiltInDirective(name)) {\n runtimeDirectives.push(prop);\n if (hasChildren) {\n shouldUseBlock = true;\n }\n }\n }\n }\n let propsExpression = void 0;\n if (mergeArgs.length) {\n pushMergeArg();\n if (mergeArgs.length > 1) {\n propsExpression = createCallExpression(\n context.helper(MERGE_PROPS),\n mergeArgs,\n elementLoc\n );\n } else {\n propsExpression = mergeArgs[0];\n }\n } else if (properties.length) {\n propsExpression = createObjectExpression(\n dedupeProperties(properties),\n elementLoc\n );\n }\n if (hasDynamicKeys) {\n patchFlag |= 16;\n } else {\n if (hasClassBinding && !isComponent) {\n patchFlag |= 2;\n }\n if (hasStyleBinding && !isComponent) {\n patchFlag |= 4;\n }\n if (dynamicPropNames.length) {\n patchFlag |= 8;\n }\n if (hasHydrationEventBinding) {\n patchFlag |= 32;\n }\n }\n if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {\n patchFlag |= 512;\n }\n if (!context.inSSR && propsExpression) {\n switch (propsExpression.type) {\n case 15:\n let classKeyIndex = -1;\n let styleKeyIndex = -1;\n let hasDynamicKey = false;\n for (let i = 0; i < propsExpression.properties.length; i++) {\n const key = propsExpression.properties[i].key;\n if (isStaticExp(key)) {\n if (key.content === \"class\") {\n classKeyIndex = i;\n } else if (key.content === \"style\") {\n styleKeyIndex = i;\n }\n } else if (!key.isHandlerKey) {\n hasDynamicKey = true;\n }\n }\n const classProp = propsExpression.properties[classKeyIndex];\n const styleProp = propsExpression.properties[styleKeyIndex];\n if (!hasDynamicKey) {\n if (classProp && !isStaticExp(classProp.value)) {\n classProp.value = createCallExpression(\n context.helper(NORMALIZE_CLASS),\n [classProp.value]\n );\n }\n if (styleProp && // the static style is compiled into an object,\n // so use `hasStyleBinding` to ensure that it is a dynamic style binding\n (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,\n // v-bind:style with static literal object\n styleProp.value.type === 17)) {\n styleProp.value = createCallExpression(\n context.helper(NORMALIZE_STYLE),\n [styleProp.value]\n );\n }\n } else {\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [propsExpression]\n );\n }\n break;\n case 14:\n break;\n default:\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [\n createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [\n propsExpression\n ])\n ]\n );\n break;\n }\n }\n return {\n props: propsExpression,\n directives: runtimeDirectives,\n patchFlag,\n dynamicPropNames,\n shouldUseBlock\n };\n}\nfunction dedupeProperties(properties) {\n const knownProps = /* @__PURE__ */ new Map();\n const deduped = [];\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n if (prop.key.type === 8 || !prop.key.isStatic) {\n deduped.push(prop);\n continue;\n }\n const name = prop.key.content;\n const existing = knownProps.get(name);\n if (existing) {\n if (name === \"style\" || name === \"class\" || isOn(name)) {\n mergeAsArray(existing, prop);\n }\n } else {\n knownProps.set(name, prop);\n deduped.push(prop);\n }\n }\n return deduped;\n}\nfunction mergeAsArray(existing, incoming) {\n if (existing.value.type === 17) {\n existing.value.elements.push(incoming.value);\n } else {\n existing.value = createArrayExpression(\n [existing.value, incoming.value],\n existing.loc\n );\n }\n}\nfunction buildDirectiveArgs(dir, context) {\n const dirArgs = [];\n const runtime = directiveImportMap.get(dir);\n if (runtime) {\n dirArgs.push(context.helperString(runtime));\n } else {\n {\n context.helper(RESOLVE_DIRECTIVE);\n context.directives.add(dir.name);\n dirArgs.push(toValidAssetId(dir.name, `directive`));\n }\n }\n const { loc } = dir;\n if (dir.exp) dirArgs.push(dir.exp);\n if (dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(dir.arg);\n }\n if (Object.keys(dir.modifiers).length) {\n if (!dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(`void 0`);\n }\n const trueExpression = createSimpleExpression(`true`, false, loc);\n dirArgs.push(\n createObjectExpression(\n dir.modifiers.map(\n (modifier) => createObjectProperty(modifier, trueExpression)\n ),\n loc\n )\n );\n }\n return createArrayExpression(dirArgs, dir.loc);\n}\nfunction stringifyDynamicPropNames(props) {\n let propsNamesString = `[`;\n for (let i = 0, l = props.length; i < l; i++) {\n propsNamesString += JSON.stringify(props[i]);\n if (i < l - 1) propsNamesString += \", \";\n }\n return propsNamesString + `]`;\n}\nfunction isComponentTag(tag) {\n return tag === \"component\" || tag === \"Component\";\n}\n\nconst transformSlotOutlet = (node, context) => {\n if (isSlotOutlet(node)) {\n const { children, loc } = node;\n const { slotName, slotProps } = processSlotOutlet(node, context);\n const slotArgs = [\n context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,\n slotName,\n \"{}\",\n \"undefined\",\n \"true\"\n ];\n let expectedLen = 2;\n if (slotProps) {\n slotArgs[2] = slotProps;\n expectedLen = 3;\n }\n if (children.length) {\n slotArgs[3] = createFunctionExpression([], children, false, false, loc);\n expectedLen = 4;\n }\n if (context.scopeId && !context.slotted) {\n expectedLen = 5;\n }\n slotArgs.splice(expectedLen);\n node.codegenNode = createCallExpression(\n context.helper(RENDER_SLOT),\n slotArgs,\n loc\n );\n }\n};\nfunction processSlotOutlet(node, context) {\n let slotName = `\"default\"`;\n let slotProps = void 0;\n const nonNameProps = [];\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (p.value) {\n if (p.name === \"name\") {\n slotName = JSON.stringify(p.value.content);\n } else {\n p.name = camelize(p.name);\n nonNameProps.push(p);\n }\n }\n } else {\n if (p.name === \"bind\" && isStaticArgOf(p.arg, \"name\")) {\n if (p.exp) {\n slotName = p.exp;\n } else if (p.arg && p.arg.type === 4) {\n const name = camelize(p.arg.content);\n slotName = p.exp = createSimpleExpression(name, false, p.arg.loc);\n }\n } else {\n if (p.name === \"bind\" && p.arg && isStaticExp(p.arg)) {\n p.arg.content = camelize(p.arg.content);\n }\n nonNameProps.push(p);\n }\n }\n }\n if (nonNameProps.length > 0) {\n const { props, directives } = buildProps(\n node,\n context,\n nonNameProps,\n false,\n false\n );\n slotProps = props;\n if (directives.length) {\n context.onError(\n createCompilerError(\n 36,\n directives[0].loc\n )\n );\n }\n }\n return {\n slotName,\n slotProps\n };\n}\n\nconst transformOn = (dir, node, context, augmentor) => {\n const { loc, modifiers, arg } = dir;\n if (!dir.exp && !modifiers.length) {\n context.onError(createCompilerError(35, loc));\n }\n let eventName;\n if (arg.type === 4) {\n if (arg.isStatic) {\n let rawName = arg.content;\n if (!!(process.env.NODE_ENV !== \"production\") && rawName.startsWith(\"vnode\")) {\n context.onError(createCompilerError(51, arg.loc));\n }\n if (rawName.startsWith(\"vue:\")) {\n rawName = `vnode-${rawName.slice(4)}`;\n }\n const eventString = node.tagType !== 0 || rawName.startsWith(\"vnode\") || !/[A-Z]/.test(rawName) ? (\n // for non-element and vnode lifecycle event listeners, auto convert\n // it to camelCase. See issue #2249\n toHandlerKey(camelize(rawName))\n ) : (\n // preserve case for plain element listeners that have uppercase\n // letters, as these may be custom elements' custom events\n `on:${rawName}`\n );\n eventName = createSimpleExpression(eventString, true, arg.loc);\n } else {\n eventName = createCompoundExpression([\n `${context.helperString(TO_HANDLER_KEY)}(`,\n arg,\n `)`\n ]);\n }\n } else {\n eventName = arg;\n eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);\n eventName.children.push(`)`);\n }\n let exp = dir.exp;\n if (exp && !exp.content.trim()) {\n exp = void 0;\n }\n let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;\n if (exp) {\n const isMemberExp = isMemberExpression(exp);\n const isInlineStatement = !(isMemberExp || isFnExpression(exp));\n const hasMultipleStatements = exp.content.includes(`;`);\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n exp,\n context,\n false,\n hasMultipleStatements\n );\n }\n if (isInlineStatement || shouldCache && isMemberExp) {\n exp = createCompoundExpression([\n `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,\n exp,\n hasMultipleStatements ? `}` : `)`\n ]);\n }\n }\n let ret = {\n props: [\n createObjectProperty(\n eventName,\n exp || createSimpleExpression(`() => {}`, false, loc)\n )\n ]\n };\n if (augmentor) {\n ret = augmentor(ret);\n }\n if (shouldCache) {\n ret.props[0].value = context.cache(ret.props[0].value);\n }\n ret.props.forEach((p) => p.key.isHandlerKey = true);\n return ret;\n};\n\nconst transformText = (node, context) => {\n if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {\n return () => {\n const children = node.children;\n let currentContainer = void 0;\n let hasText = false;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child)) {\n hasText = true;\n for (let j = i + 1; j < children.length; j++) {\n const next = children[j];\n if (isText$1(next)) {\n if (!currentContainer) {\n currentContainer = children[i] = createCompoundExpression(\n [child],\n child.loc\n );\n }\n currentContainer.children.push(` + `, next);\n children.splice(j, 1);\n j--;\n } else {\n currentContainer = void 0;\n break;\n }\n }\n }\n }\n if (!hasText || // if this is a plain element with a single text child, leave it\n // as-is since the runtime has dedicated fast path for this by directly\n // setting textContent of the element.\n // for component root it's always normalized anyway.\n children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756\n // custom directives can potentially add DOM elements arbitrarily,\n // we need to avoid setting textContent of the element at runtime\n // to avoid accidentally overwriting the DOM elements added\n // by the user through custom directives.\n !node.props.find(\n (p) => p.type === 7 && !context.directiveTransforms[p.name]\n ) && // in compat mode, <template> tags with no special directives\n // will be rendered as a fragment so its children must be\n // converted into vnodes.\n !(node.tag === \"template\"))) {\n return;\n }\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child) || child.type === 8) {\n const callArgs = [];\n if (child.type !== 2 || child.content !== \" \") {\n callArgs.push(child);\n }\n if (!context.ssr && getConstantType(child, context) === 0) {\n callArgs.push(\n 1 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[1]} */` : ``)\n );\n }\n children[i] = {\n type: 12,\n content: child,\n loc: child.loc,\n codegenNode: createCallExpression(\n context.helper(CREATE_TEXT),\n callArgs\n )\n };\n }\n }\n };\n }\n};\n\nconst seen$1 = /* @__PURE__ */ new WeakSet();\nconst transformOnce = (node, context) => {\n if (node.type === 1 && findDir(node, \"once\", true)) {\n if (seen$1.has(node) || context.inVOnce || context.inSSR) {\n return;\n }\n seen$1.add(node);\n context.inVOnce = true;\n context.helper(SET_BLOCK_TRACKING);\n return () => {\n context.inVOnce = false;\n const cur = context.currentNode;\n if (cur.codegenNode) {\n cur.codegenNode = context.cache(\n cur.codegenNode,\n true,\n true\n );\n }\n };\n }\n};\n\nconst transformModel = (dir, node, context) => {\n const { exp, arg } = dir;\n if (!exp) {\n context.onError(\n createCompilerError(41, dir.loc)\n );\n return createTransformProps();\n }\n const rawExp = exp.loc.source.trim();\n const expString = exp.type === 4 ? exp.content : rawExp;\n const bindingType = context.bindingMetadata[rawExp];\n if (bindingType === \"props\" || bindingType === \"props-aliased\") {\n context.onError(createCompilerError(44, exp.loc));\n return createTransformProps();\n }\n const maybeRef = false;\n if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {\n context.onError(\n createCompilerError(42, exp.loc)\n );\n return createTransformProps();\n }\n const propName = arg ? arg : createSimpleExpression(\"modelValue\", true);\n const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['\"onUpdate:\" + ', arg]) : `onUpdate:modelValue`;\n let assignmentExp;\n const eventArg = context.isTS ? `($event: any)` : `$event`;\n {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n exp,\n `) = $event)`\n ]);\n }\n const props = [\n // modelValue: foo\n createObjectProperty(propName, dir.exp),\n // \"onUpdate:modelValue\": $event => (foo = $event)\n createObjectProperty(eventName, assignmentExp)\n ];\n if (dir.modifiers.length && node.tagType === 1) {\n const modifiers = dir.modifiers.map((m) => m.content).map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);\n const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + \"Modifiers\"']) : `modelModifiers`;\n props.push(\n createObjectProperty(\n modifiersKey,\n createSimpleExpression(\n `{ ${modifiers} }`,\n false,\n dir.loc,\n 2\n )\n )\n );\n }\n return createTransformProps(props);\n};\nfunction createTransformProps(props = []) {\n return { props };\n}\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\nconst transformFilter = (node, context) => {\n if (!isCompatEnabled(\"COMPILER_FILTERS\", context)) {\n return;\n }\n if (node.type === 5) {\n rewriteFilter(node.content, context);\n } else if (node.type === 1) {\n node.props.forEach((prop) => {\n if (prop.type === 7 && prop.name !== \"for\" && prop.exp) {\n rewriteFilter(prop.exp, context);\n }\n });\n }\n};\nfunction rewriteFilter(node, context) {\n if (node.type === 4) {\n parseFilter(node, context);\n } else {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (typeof child !== \"object\") continue;\n if (child.type === 4) {\n parseFilter(child, context);\n } else if (child.type === 8) {\n rewriteFilter(node, context);\n } else if (child.type === 5) {\n rewriteFilter(child.content, context);\n }\n }\n }\n}\nfunction parseFilter(node, context) {\n const exp = node.content;\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters = [];\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 39 && prev !== 92) inSingle = false;\n } else if (inDouble) {\n if (c === 34 && prev !== 92) inDouble = false;\n } else if (inTemplateString) {\n if (c === 96 && prev !== 92) inTemplateString = false;\n } else if (inRegex) {\n if (c === 47 && prev !== 92) inRegex = false;\n } else if (c === 124 && // pipe\n exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {\n if (expression === void 0) {\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 34:\n inDouble = true;\n break;\n // \"\n case 39:\n inSingle = true;\n break;\n // '\n case 96:\n inTemplateString = true;\n break;\n // `\n case 40:\n paren++;\n break;\n // (\n case 41:\n paren--;\n break;\n // )\n case 91:\n square++;\n break;\n // [\n case 93:\n square--;\n break;\n // ]\n case 123:\n curly++;\n break;\n // {\n case 125:\n curly--;\n break;\n }\n if (c === 47) {\n let j = i - 1;\n let p;\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== \" \") break;\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n if (expression === void 0) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n function pushFilter() {\n filters.push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n if (filters.length) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_FILTERS\",\n context,\n node.loc\n );\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i], context);\n }\n node.content = expression;\n node.ast = void 0;\n }\n}\nfunction wrapFilter(exp, filter, context) {\n context.helper(RESOLVE_FILTER);\n const i = filter.indexOf(\"(\");\n if (i < 0) {\n context.filters.add(filter);\n return `${toValidAssetId(filter, \"filter\")}(${exp})`;\n } else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n context.filters.add(name);\n return `${toValidAssetId(name, \"filter\")}(${exp}${args !== \")\" ? \",\" + args : args}`;\n }\n}\n\nconst seen = /* @__PURE__ */ new WeakSet();\nconst transformMemo = (node, context) => {\n if (node.type === 1) {\n const dir = findDir(node, \"memo\");\n if (!dir || seen.has(node)) {\n return;\n }\n seen.add(node);\n return () => {\n const codegenNode = node.codegenNode || context.currentNode.codegenNode;\n if (codegenNode && codegenNode.type === 13) {\n if (node.tagType !== 1) {\n convertToBlock(codegenNode, context);\n }\n node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [\n dir.exp,\n createFunctionExpression(void 0, codegenNode),\n `_cache`,\n String(context.cached.length)\n ]);\n context.cached.push(null);\n }\n };\n }\n};\n\nfunction getBaseTransformPreset(prefixIdentifiers) {\n return [\n [\n transformOnce,\n transformIf,\n transformMemo,\n transformFor,\n ...[transformFilter] ,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformExpression] : [],\n transformSlotOutlet,\n transformElement,\n trackSlotScopes,\n transformText\n ],\n {\n on: transformOn,\n bind: transformBind,\n model: transformModel\n }\n ];\n}\nfunction baseCompile(source, options = {}) {\n const onError = options.onError || defaultOnError;\n const isModuleMode = options.mode === \"module\";\n {\n if (options.prefixIdentifiers === true) {\n onError(createCompilerError(47));\n } else if (isModuleMode) {\n onError(createCompilerError(48));\n }\n }\n const prefixIdentifiers = false;\n if (options.cacheHandlers) {\n onError(createCompilerError(49));\n }\n if (options.scopeId && !isModuleMode) {\n onError(createCompilerError(50));\n }\n const resolvedOptions = extend({}, options, {\n prefixIdentifiers\n });\n const ast = isString(source) ? baseParse(source, resolvedOptions) : source;\n const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();\n transform(\n ast,\n extend({}, resolvedOptions, {\n nodeTransforms: [\n ...nodeTransforms,\n ...options.nodeTransforms || []\n // user transforms\n ],\n directiveTransforms: extend(\n {},\n directiveTransforms,\n options.directiveTransforms || {}\n // user transforms\n )\n })\n );\n return generate(ast, resolvedOptions);\n}\n\nconst BindingTypes = {\n \"DATA\": \"data\",\n \"PROPS\": \"props\",\n \"PROPS_ALIASED\": \"props-aliased\",\n \"SETUP_LET\": \"setup-let\",\n \"SETUP_CONST\": \"setup-const\",\n \"SETUP_REACTIVE_CONST\": \"setup-reactive-const\",\n \"SETUP_MAYBE_REF\": \"setup-maybe-ref\",\n \"SETUP_REF\": \"setup-ref\",\n \"OPTIONS\": \"options\",\n \"LITERAL_CONST\": \"literal-const\"\n};\n\nconst noopDirectiveTransform = () => ({ props: [] });\n\nexport { BASE_TRANSITION, BindingTypes, CAMELIZE, CAPITALIZE, CREATE_BLOCK, CREATE_COMMENT, CREATE_ELEMENT_BLOCK, CREATE_ELEMENT_VNODE, CREATE_SLOTS, CREATE_STATIC, CREATE_TEXT, CREATE_VNODE, CompilerDeprecationTypes, ConstantTypes, ElementTypes, ErrorCodes, FRAGMENT, GUARD_REACTIVE_PROPS, IS_MEMO_SAME, IS_REF, KEEP_ALIVE, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_PROPS, NORMALIZE_STYLE, Namespaces, NodeTypes, OPEN_BLOCK, POP_SCOPE_ID, PUSH_SCOPE_ID, RENDER_LIST, RENDER_SLOT, RESOLVE_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_FILTER, SET_BLOCK_TRACKING, SUSPENSE, TELEPORT, TO_DISPLAY_STRING, TO_HANDLERS, TO_HANDLER_KEY, TS_NODE_TYPES, UNREF, WITH_CTX, WITH_DIRECTIVES, WITH_MEMO, advancePositionWithClone, advancePositionWithMutation, assert, baseCompile, baseParse, buildDirectiveArgs, buildProps, buildSlots, checkCompatEnabled, convertToBlock, createArrayExpression, createAssignmentExpression, createBlockStatement, createCacheExpression, createCallExpression, createCompilerError, createCompoundExpression, createConditionalExpression, createForLoopParams, createFunctionExpression, createIfStatement, createInterpolation, createObjectExpression, createObjectProperty, createReturnStatement, createRoot, createSequenceExpression, createSimpleExpression, createStructuralDirectiveTransform, createTemplateLiteral, createTransformContext, createVNodeCall, errorMessages, extractIdentifiers, findDir, findProp, forAliasRE, generate, getBaseTransformPreset, getConstantType, getMemoedVNodeCall, getVNodeBlockHelper, getVNodeHelper, hasDynamicKeyVBind, hasScopeRef, helperNameMap, injectProp, isCoreComponent, isFnExpression, isFnExpressionBrowser, isFnExpressionNode, isFunctionType, isInDestructureAssignment, isInNewExpression, isMemberExpression, isMemberExpressionBrowser, isMemberExpressionNode, isReferencedIdentifier, isSimpleIdentifier, isSlotOutlet, isStaticArgOf, isStaticExp, isStaticProperty, isStaticPropertyKey, isTemplateNode, isText$1 as isText, isVSlot, locStub, noopDirectiveTransform, processExpression, processFor, processIf, processSlotOutlet, registerRuntimeHelpers, resolveComponentType, stringifyExpression, toValidAssetId, trackSlotScopes, trackVForSlotScopes, transform, transformBind, transformElement, transformExpression, transformModel, transformOn, traverseNode, unwrapTSNode, walkBlockDeclarations, walkFunctionParams, walkIdentifiers, warnDeprecation };\n","/**\n* @vue/compiler-dom v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { registerRuntimeHelpers, createSimpleExpression, createCompilerError, createObjectProperty, getConstantType, createCallExpression, TO_DISPLAY_STRING, transformModel as transformModel$1, findProp, hasDynamicKeyVBind, findDir, isStaticArgOf, transformOn as transformOn$1, isStaticExp, createCompoundExpression, checkCompatEnabled, noopDirectiveTransform, baseCompile, baseParse } from '@vue/compiler-core';\nexport * from '@vue/compiler-core';\nimport { isVoidTag, isHTMLTag, isSVGTag, isMathMLTag, parseStringStyle, capitalize, makeMap, extend } from '@vue/shared';\n\nconst V_MODEL_RADIO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelRadio` : ``);\nconst V_MODEL_CHECKBOX = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `vModelCheckbox` : ``\n);\nconst V_MODEL_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelText` : ``);\nconst V_MODEL_SELECT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `vModelSelect` : ``\n);\nconst V_MODEL_DYNAMIC = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `vModelDynamic` : ``\n);\nconst V_ON_WITH_MODIFIERS = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `vOnModifiersGuard` : ``\n);\nconst V_ON_WITH_KEYS = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `vOnKeysGuard` : ``\n);\nconst V_SHOW = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vShow` : ``);\nconst TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Transition` : ``);\nconst TRANSITION_GROUP = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `TransitionGroup` : ``\n);\nregisterRuntimeHelpers({\n [V_MODEL_RADIO]: `vModelRadio`,\n [V_MODEL_CHECKBOX]: `vModelCheckbox`,\n [V_MODEL_TEXT]: `vModelText`,\n [V_MODEL_SELECT]: `vModelSelect`,\n [V_MODEL_DYNAMIC]: `vModelDynamic`,\n [V_ON_WITH_MODIFIERS]: `withModifiers`,\n [V_ON_WITH_KEYS]: `withKeys`,\n [V_SHOW]: `vShow`,\n [TRANSITION]: `Transition`,\n [TRANSITION_GROUP]: `TransitionGroup`\n});\n\nlet decoder;\nfunction decodeHtmlBrowser(raw, asAttr = false) {\n if (!decoder) {\n decoder = document.createElement(\"div\");\n }\n if (asAttr) {\n decoder.innerHTML = `<div foo=\"${raw.replace(/\"/g, \""\")}\">`;\n return decoder.children[0].getAttribute(\"foo\");\n } else {\n decoder.innerHTML = raw;\n return decoder.textContent;\n }\n}\n\nconst parserOptions = {\n parseMode: \"html\",\n isVoidTag,\n isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),\n isPreTag: (tag) => tag === \"pre\",\n isIgnoreNewlineTag: (tag) => tag === \"pre\" || tag === \"textarea\",\n decodeEntities: decodeHtmlBrowser ,\n isBuiltInComponent: (tag) => {\n if (tag === \"Transition\" || tag === \"transition\") {\n return TRANSITION;\n } else if (tag === \"TransitionGroup\" || tag === \"transition-group\") {\n return TRANSITION_GROUP;\n }\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher\n getNamespace(tag, parent, rootNamespace) {\n let ns = parent ? parent.ns : rootNamespace;\n if (parent && ns === 2) {\n if (parent.tag === \"annotation-xml\") {\n if (tag === \"svg\") {\n return 1;\n }\n if (parent.props.some(\n (a) => a.type === 6 && a.name === \"encoding\" && a.value != null && (a.value.content === \"text/html\" || a.value.content === \"application/xhtml+xml\")\n )) {\n ns = 0;\n }\n } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== \"mglyph\" && tag !== \"malignmark\") {\n ns = 0;\n }\n } else if (parent && ns === 1) {\n if (parent.tag === \"foreignObject\" || parent.tag === \"desc\" || parent.tag === \"title\") {\n ns = 0;\n }\n }\n if (ns === 0) {\n if (tag === \"svg\") {\n return 1;\n }\n if (tag === \"math\") {\n return 2;\n }\n }\n return ns;\n }\n};\n\nconst transformStyle = (node) => {\n if (node.type === 1) {\n node.props.forEach((p, i) => {\n if (p.type === 6 && p.name === \"style\" && p.value) {\n node.props[i] = {\n type: 7,\n name: `bind`,\n arg: createSimpleExpression(`style`, true, p.loc),\n exp: parseInlineCSS(p.value.content, p.loc),\n modifiers: [],\n loc: p.loc\n };\n }\n });\n }\n};\nconst parseInlineCSS = (cssText, loc) => {\n const normalized = parseStringStyle(cssText);\n return createSimpleExpression(\n JSON.stringify(normalized),\n false,\n loc,\n 3\n );\n};\n\nfunction createDOMCompilerError(code, loc) {\n return createCompilerError(\n code,\n loc,\n !!(process.env.NODE_ENV !== \"production\") || false ? DOMErrorMessages : void 0\n );\n}\nconst DOMErrorCodes = {\n \"X_V_HTML_NO_EXPRESSION\": 53,\n \"53\": \"X_V_HTML_NO_EXPRESSION\",\n \"X_V_HTML_WITH_CHILDREN\": 54,\n \"54\": \"X_V_HTML_WITH_CHILDREN\",\n \"X_V_TEXT_NO_EXPRESSION\": 55,\n \"55\": \"X_V_TEXT_NO_EXPRESSION\",\n \"X_V_TEXT_WITH_CHILDREN\": 56,\n \"56\": \"X_V_TEXT_WITH_CHILDREN\",\n \"X_V_MODEL_ON_INVALID_ELEMENT\": 57,\n \"57\": \"X_V_MODEL_ON_INVALID_ELEMENT\",\n \"X_V_MODEL_ARG_ON_ELEMENT\": 58,\n \"58\": \"X_V_MODEL_ARG_ON_ELEMENT\",\n \"X_V_MODEL_ON_FILE_INPUT_ELEMENT\": 59,\n \"59\": \"X_V_MODEL_ON_FILE_INPUT_ELEMENT\",\n \"X_V_MODEL_UNNECESSARY_VALUE\": 60,\n \"60\": \"X_V_MODEL_UNNECESSARY_VALUE\",\n \"X_V_SHOW_NO_EXPRESSION\": 61,\n \"61\": \"X_V_SHOW_NO_EXPRESSION\",\n \"X_TRANSITION_INVALID_CHILDREN\": 62,\n \"62\": \"X_TRANSITION_INVALID_CHILDREN\",\n \"X_IGNORED_SIDE_EFFECT_TAG\": 63,\n \"63\": \"X_IGNORED_SIDE_EFFECT_TAG\",\n \"__EXTEND_POINT__\": 64,\n \"64\": \"__EXTEND_POINT__\"\n};\nconst DOMErrorMessages = {\n [53]: `v-html is missing expression.`,\n [54]: `v-html will override element children.`,\n [55]: `v-text is missing expression.`,\n [56]: `v-text will override element children.`,\n [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,\n [58]: `v-model argument is not supported on plain elements.`,\n [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,\n [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,\n [61]: `v-show is missing expression.`,\n [62]: `<Transition> expects exactly one child element or component.`,\n [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`\n};\n\nconst transformVHtml = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(53, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(54, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`innerHTML`, true, loc),\n exp || createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformVText = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(55, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(56, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`textContent`, true),\n exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(\n context.helperString(TO_DISPLAY_STRING),\n [exp],\n loc\n ) : createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformModel = (dir, node, context) => {\n const baseResult = transformModel$1(dir, node, context);\n if (!baseResult.props.length || node.tagType === 1) {\n return baseResult;\n }\n if (dir.arg) {\n context.onError(\n createDOMCompilerError(\n 58,\n dir.arg.loc\n )\n );\n }\n function checkDuplicatedValue() {\n const value = findDir(node, \"bind\");\n if (value && isStaticArgOf(value.arg, \"value\")) {\n context.onError(\n createDOMCompilerError(\n 60,\n value.loc\n )\n );\n }\n }\n const { tag } = node;\n const isCustomElement = context.isCustomElement(tag);\n if (tag === \"input\" || tag === \"textarea\" || tag === \"select\" || isCustomElement) {\n let directiveToUse = V_MODEL_TEXT;\n let isInvalidType = false;\n if (tag === \"input\" || isCustomElement) {\n const type = findProp(node, `type`);\n if (type) {\n if (type.type === 7) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else if (type.value) {\n switch (type.value.content) {\n case \"radio\":\n directiveToUse = V_MODEL_RADIO;\n break;\n case \"checkbox\":\n directiveToUse = V_MODEL_CHECKBOX;\n break;\n case \"file\":\n isInvalidType = true;\n context.onError(\n createDOMCompilerError(\n 59,\n dir.loc\n )\n );\n break;\n default:\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n break;\n }\n }\n } else if (hasDynamicKeyVBind(node)) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n } else if (tag === \"select\") {\n directiveToUse = V_MODEL_SELECT;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n if (!isInvalidType) {\n baseResult.needRuntime = context.helper(directiveToUse);\n }\n } else {\n context.onError(\n createDOMCompilerError(\n 57,\n dir.loc\n )\n );\n }\n baseResult.props = baseResult.props.filter(\n (p) => !(p.key.type === 4 && p.key.content === \"modelValue\")\n );\n return baseResult;\n};\n\nconst isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);\nconst isNonKeyModifier = /* @__PURE__ */ makeMap(\n // event propagation management\n `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`\n);\nconst maybeKeyModifier = /* @__PURE__ */ makeMap(\"left,right\");\nconst isKeyboardEvent = /* @__PURE__ */ makeMap(`onkeyup,onkeydown,onkeypress`);\nconst resolveModifiers = (key, modifiers, context, loc) => {\n const keyModifiers = [];\n const nonKeyModifiers = [];\n const eventOptionModifiers = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i].content;\n if (modifier === \"native\" && checkCompatEnabled(\n \"COMPILER_V_ON_NATIVE\",\n context,\n loc\n )) {\n eventOptionModifiers.push(modifier);\n } else if (isEventOptionModifier(modifier)) {\n eventOptionModifiers.push(modifier);\n } else {\n if (maybeKeyModifier(modifier)) {\n if (isStaticExp(key)) {\n if (isKeyboardEvent(key.content.toLowerCase())) {\n keyModifiers.push(modifier);\n } else {\n nonKeyModifiers.push(modifier);\n }\n } else {\n keyModifiers.push(modifier);\n nonKeyModifiers.push(modifier);\n }\n } else {\n if (isNonKeyModifier(modifier)) {\n nonKeyModifiers.push(modifier);\n } else {\n keyModifiers.push(modifier);\n }\n }\n }\n }\n return {\n keyModifiers,\n nonKeyModifiers,\n eventOptionModifiers\n };\n};\nconst transformClick = (key, event) => {\n const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === \"onclick\";\n return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([\n `(`,\n key,\n `) === \"onClick\" ? \"${event}\" : (`,\n key,\n `)`\n ]) : key;\n};\nconst transformOn = (dir, node, context) => {\n return transformOn$1(dir, node, context, (baseResult) => {\n const { modifiers } = dir;\n if (!modifiers.length) return baseResult;\n let { key, value: handlerExp } = baseResult.props[0];\n const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);\n if (nonKeyModifiers.includes(\"right\")) {\n key = transformClick(key, `onContextmenu`);\n }\n if (nonKeyModifiers.includes(\"middle\")) {\n key = transformClick(key, `onMouseup`);\n }\n if (nonKeyModifiers.length) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [\n handlerExp,\n JSON.stringify(nonKeyModifiers)\n ]);\n }\n if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard\n (!isStaticExp(key) || isKeyboardEvent(key.content.toLowerCase()))) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [\n handlerExp,\n JSON.stringify(keyModifiers)\n ]);\n }\n if (eventOptionModifiers.length) {\n const modifierPostfix = eventOptionModifiers.map(capitalize).join(\"\");\n key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + \"${modifierPostfix}\"`]);\n }\n return {\n props: [createObjectProperty(key, handlerExp)]\n };\n });\n};\n\nconst transformShow = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(61, loc)\n );\n }\n return {\n props: [],\n needRuntime: context.helper(V_SHOW)\n };\n};\n\nconst transformTransition = (node, context) => {\n if (node.type === 1 && node.tagType === 1) {\n const component = context.isBuiltInComponent(node.tag);\n if (component === TRANSITION) {\n return () => {\n if (!node.children.length) {\n return;\n }\n if (hasMultipleChildren(node)) {\n context.onError(\n createDOMCompilerError(\n 62,\n {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n }\n )\n );\n }\n const child = node.children[0];\n if (child.type === 1) {\n for (const p of child.props) {\n if (p.type === 7 && p.name === \"show\") {\n node.props.push({\n type: 6,\n name: \"persisted\",\n nameLoc: node.loc,\n value: void 0,\n loc: node.loc\n });\n }\n }\n }\n };\n }\n }\n};\nfunction hasMultipleChildren(node) {\n const children = node.children = node.children.filter(\n (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())\n );\n const child = children[0];\n return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);\n}\n\nconst ignoreSideEffectTags = (node, context) => {\n if (node.type === 1 && node.tagType === 0 && (node.tag === \"script\" || node.tag === \"style\")) {\n !!(process.env.NODE_ENV !== \"production\") && context.onError(\n createDOMCompilerError(\n 63,\n node.loc\n )\n );\n context.removeNode();\n }\n};\n\nfunction isValidHTMLNesting(parent, child) {\n if (parent in onlyValidChildren) {\n return onlyValidChildren[parent].has(child);\n }\n if (child in onlyValidParents) {\n return onlyValidParents[child].has(parent);\n }\n if (parent in knownInvalidChildren) {\n if (knownInvalidChildren[parent].has(child)) return false;\n }\n if (child in knownInvalidParents) {\n if (knownInvalidParents[child].has(parent)) return false;\n }\n return true;\n}\nconst headings = /* @__PURE__ */ new Set([\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"]);\nconst emptySet = /* @__PURE__ */ new Set([]);\nconst onlyValidChildren = {\n head: /* @__PURE__ */ new Set([\n \"base\",\n \"basefront\",\n \"bgsound\",\n \"link\",\n \"meta\",\n \"title\",\n \"noscript\",\n \"noframes\",\n \"style\",\n \"script\",\n \"template\"\n ]),\n optgroup: /* @__PURE__ */ new Set([\"option\"]),\n select: /* @__PURE__ */ new Set([\"optgroup\", \"option\", \"hr\"]),\n // table\n table: /* @__PURE__ */ new Set([\"caption\", \"colgroup\", \"tbody\", \"tfoot\", \"thead\"]),\n tr: /* @__PURE__ */ new Set([\"td\", \"th\"]),\n colgroup: /* @__PURE__ */ new Set([\"col\"]),\n tbody: /* @__PURE__ */ new Set([\"tr\"]),\n thead: /* @__PURE__ */ new Set([\"tr\"]),\n tfoot: /* @__PURE__ */ new Set([\"tr\"]),\n // these elements can not have any children elements\n script: emptySet,\n iframe: emptySet,\n option: emptySet,\n textarea: emptySet,\n style: emptySet,\n title: emptySet\n};\nconst onlyValidParents = {\n // sections\n html: emptySet,\n body: /* @__PURE__ */ new Set([\"html\"]),\n head: /* @__PURE__ */ new Set([\"html\"]),\n // table\n td: /* @__PURE__ */ new Set([\"tr\"]),\n colgroup: /* @__PURE__ */ new Set([\"table\"]),\n caption: /* @__PURE__ */ new Set([\"table\"]),\n tbody: /* @__PURE__ */ new Set([\"table\"]),\n tfoot: /* @__PURE__ */ new Set([\"table\"]),\n col: /* @__PURE__ */ new Set([\"colgroup\"]),\n th: /* @__PURE__ */ new Set([\"tr\"]),\n thead: /* @__PURE__ */ new Set([\"table\"]),\n tr: /* @__PURE__ */ new Set([\"tbody\", \"thead\", \"tfoot\"]),\n // data list\n dd: /* @__PURE__ */ new Set([\"dl\", \"div\"]),\n dt: /* @__PURE__ */ new Set([\"dl\", \"div\"]),\n // other\n figcaption: /* @__PURE__ */ new Set([\"figure\"]),\n // li: new Set([\"ul\", \"ol\"]),\n summary: /* @__PURE__ */ new Set([\"details\"]),\n area: /* @__PURE__ */ new Set([\"map\"])\n};\nconst knownInvalidChildren = {\n p: /* @__PURE__ */ new Set([\n \"address\",\n \"article\",\n \"aside\",\n \"blockquote\",\n \"center\",\n \"details\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"fieldset\",\n \"figure\",\n \"footer\",\n \"form\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"header\",\n \"hgroup\",\n \"hr\",\n \"li\",\n \"main\",\n \"nav\",\n \"menu\",\n \"ol\",\n \"p\",\n \"pre\",\n \"section\",\n \"table\",\n \"ul\"\n ]),\n svg: /* @__PURE__ */ new Set([\n \"b\",\n \"blockquote\",\n \"br\",\n \"code\",\n \"dd\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"hr\",\n \"i\",\n \"img\",\n \"li\",\n \"menu\",\n \"meta\",\n \"ol\",\n \"p\",\n \"pre\",\n \"ruby\",\n \"s\",\n \"small\",\n \"span\",\n \"strong\",\n \"sub\",\n \"sup\",\n \"table\",\n \"u\",\n \"ul\",\n \"var\"\n ])\n};\nconst knownInvalidParents = {\n a: /* @__PURE__ */ new Set([\"a\"]),\n button: /* @__PURE__ */ new Set([\"button\"]),\n dd: /* @__PURE__ */ new Set([\"dd\", \"dt\"]),\n dt: /* @__PURE__ */ new Set([\"dd\", \"dt\"]),\n form: /* @__PURE__ */ new Set([\"form\"]),\n li: /* @__PURE__ */ new Set([\"li\"]),\n h1: headings,\n h2: headings,\n h3: headings,\n h4: headings,\n h5: headings,\n h6: headings\n};\n\nconst validateHtmlNesting = (node, context) => {\n if (node.type === 1 && node.tagType === 0 && context.parent && context.parent.type === 1 && context.parent.tagType === 0 && !isValidHTMLNesting(context.parent.tag, node.tag)) {\n const error = new SyntaxError(\n `<${node.tag}> cannot be child of <${context.parent.tag}>, according to HTML specifications. This can cause hydration errors or potentially disrupt future functionality.`\n );\n error.loc = node.loc;\n context.onWarn(error);\n }\n};\n\nconst DOMNodeTransforms = [\n transformStyle,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformTransition, validateHtmlNesting] : []\n];\nconst DOMDirectiveTransforms = {\n cloak: noopDirectiveTransform,\n html: transformVHtml,\n text: transformVText,\n model: transformModel,\n // override compiler-core\n on: transformOn,\n // override compiler-core\n show: transformShow\n};\nfunction compile(src, options = {}) {\n return baseCompile(\n src,\n extend({}, parserOptions, options, {\n nodeTransforms: [\n // ignore <script> and <tag>\n // this is not put inside DOMNodeTransforms because that list is used\n // by compiler-ssr to generate vnode fallback branches\n ignoreSideEffectTags,\n ...DOMNodeTransforms,\n ...options.nodeTransforms || []\n ],\n directiveTransforms: extend(\n {},\n DOMDirectiveTransforms,\n options.directiveTransforms || {}\n ),\n transformHoist: null \n })\n );\n}\nfunction parse(template, options = {}) {\n return baseParse(template, extend({}, parserOptions, options));\n}\n\nexport { DOMDirectiveTransforms, DOMErrorCodes, DOMErrorMessages, DOMNodeTransforms, TRANSITION, TRANSITION_GROUP, V_MODEL_CHECKBOX, V_MODEL_DYNAMIC, V_MODEL_RADIO, V_MODEL_SELECT, V_MODEL_TEXT, V_ON_WITH_KEYS, V_ON_WITH_MODIFIERS, V_SHOW, compile, createDOMCompilerError, parse, parserOptions, transformStyle };\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid <transition> mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \"<transition> can only be used on a single element or component. Use <transition-group> for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate <script setup> binding \"${key}\" from Options API.`);\n return false;\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n data[key] = value;\n return true;\n } else if (hasOwn(instance.props, key)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Attempting to mutate prop \"${key}\". Props are readonly.`);\n return false;\n }\n if (key[0] === \"$\" && key.slice(1) in instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Attempting to mutate public property \"${key}\". Properties starting with $ are reserved and readonly.`\n );\n return false;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && key in instance.appContext.config.globalProperties) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n value\n });\n } else {\n ctx[key] = value;\n }\n }\n return true;\n },\n has({\n _: { data, setupState, accessCache, ctx, appContext, propsOptions }\n }, key) {\n let normalizedProps;\n return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);\n },\n defineProperty(target, key, descriptor) {\n if (descriptor.get != null) {\n target._.accessCache[key] = 0;\n } else if (hasOwn(descriptor, \"value\")) {\n this.set(target, key, descriptor.value, null);\n }\n return Reflect.defineProperty(target, key, descriptor);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\") && true) {\n PublicInstanceProxyHandlers.ownKeys = (target) => {\n warn$1(\n `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`\n );\n return Reflect.ownKeys(target);\n };\n}\nconst RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {\n get(target, key) {\n if (key === Symbol.unscopables) {\n return;\n }\n return PublicInstanceProxyHandlers.get(target, key, target);\n },\n has(_, key) {\n const has = key[0] !== \"_\" && !isGloballyAllowed(key);\n if (!!(process.env.NODE_ENV !== \"production\") && !has && PublicInstanceProxyHandlers.has(_, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} should not start with _ which is a reserved prefix for Vue internals.`\n );\n }\n return has;\n }\n});\nfunction createDevRenderContext(instance) {\n const target = {};\n Object.defineProperty(target, `_`, {\n configurable: true,\n enumerable: false,\n get: () => instance\n });\n Object.keys(publicPropertiesMap).forEach((key) => {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: false,\n get: () => publicPropertiesMap[key](instance),\n // intercepted by the proxy so no need for implementation,\n // but needed to prevent set errors\n set: NOOP\n });\n });\n return target;\n}\nfunction exposePropsOnRenderContext(instance) {\n const {\n ctx,\n propsOptions: [propsOptions]\n } = instance;\n if (propsOptions) {\n Object.keys(propsOptions).forEach((key) => {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => instance.props[key],\n set: NOOP\n });\n });\n }\n}\nfunction exposeSetupStateOnRenderContext(instance) {\n const { ctx, setupState } = instance;\n Object.keys(toRaw(setupState)).forEach((key) => {\n if (!setupState.__isScriptSetup) {\n if (isReservedPrefix(key[0])) {\n warn$1(\n `setup() return property ${JSON.stringify(\n key\n )} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`\n );\n return;\n }\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => setupState[key],\n set: NOOP\n });\n }\n });\n}\n\nconst warnRuntimeUsage = (method) => warn$1(\n `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`\n);\nfunction defineProps() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineProps`);\n }\n return null;\n}\nfunction defineEmits() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineEmits`);\n }\n return null;\n}\nfunction defineExpose(exposed) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineExpose`);\n }\n}\nfunction defineOptions(options) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineOptions`);\n }\n}\nfunction defineSlots() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineSlots`);\n }\n return null;\n}\nfunction defineModel() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(\"defineModel\");\n }\n}\nfunction withDefaults(props, defaults) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`withDefaults`);\n }\n return null;\n}\nfunction useSlots() {\n return getContext().slots;\n}\nfunction useAttrs() {\n return getContext().attrs;\n}\nfunction getContext() {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn$1(`useContext() called without active instance.`);\n }\n return i.setupContext || (i.setupContext = createSetupContext(i));\n}\nfunction normalizePropsOrEmits(props) {\n return isArray(props) ? props.reduce(\n (normalized, p) => (normalized[p] = null, normalized),\n {}\n ) : props;\n}\nfunction mergeDefaults(raw, defaults) {\n const props = normalizePropsOrEmits(raw);\n for (const key in defaults) {\n if (key.startsWith(\"__skip\")) continue;\n let opt = props[key];\n if (opt) {\n if (isArray(opt) || isFunction(opt)) {\n opt = props[key] = { type: opt, default: defaults[key] };\n } else {\n opt.default = defaults[key];\n }\n } else if (opt === null) {\n opt = props[key] = { default: defaults[key] };\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`props default key \"${key}\" has no corresponding declaration.`);\n }\n if (opt && defaults[`__skip_${key}`]) {\n opt.skipFactory = true;\n }\n }\n return props;\n}\nfunction mergeModels(a, b) {\n if (!a || !b) return a || b;\n if (isArray(a) && isArray(b)) return a.concat(b);\n return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));\n}\nfunction createPropsRestProxy(props, excludedKeys) {\n const ret = {};\n for (const key in props) {\n if (!excludedKeys.includes(key)) {\n Object.defineProperty(ret, key, {\n enumerable: true,\n get: () => props[key]\n });\n }\n }\n return ret;\n}\nfunction withAsyncContext(getAwaitable) {\n const ctx = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !ctx) {\n warn$1(\n `withAsyncContext called without active current instance. This is likely a bug.`\n );\n }\n let awaitable = getAwaitable();\n unsetCurrentInstance();\n if (isPromise(awaitable)) {\n awaitable = awaitable.catch((e) => {\n setCurrentInstance(ctx);\n throw e;\n });\n }\n return [awaitable, () => setCurrentInstance(ctx)];\n}\n\nfunction createDuplicateChecker() {\n const cache = /* @__PURE__ */ Object.create(null);\n return (type, key) => {\n if (cache[key]) {\n warn$1(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\n } else {\n cache[key] = type;\n }\n };\n}\nlet shouldCacheAccess = true;\nfunction applyOptions(instance) {\n const options = resolveMergedOptions(instance);\n const publicThis = instance.proxy;\n const ctx = instance.ctx;\n shouldCacheAccess = false;\n if (options.beforeCreate) {\n callHook(options.beforeCreate, instance, \"bc\");\n }\n const {\n // state\n data: dataOptions,\n computed: computedOptions,\n methods,\n watch: watchOptions,\n provide: provideOptions,\n inject: injectOptions,\n // lifecycle\n created,\n beforeMount,\n mounted,\n beforeUpdate,\n updated,\n activated,\n deactivated,\n beforeDestroy,\n beforeUnmount,\n destroyed,\n unmounted,\n render,\n renderTracked,\n renderTriggered,\n errorCaptured,\n serverPrefetch,\n // public API\n expose,\n inheritAttrs,\n // assets\n components,\n directives,\n filters\n } = options;\n const checkDuplicateProperties = !!(process.env.NODE_ENV !== \"production\") ? createDuplicateChecker() : null;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const [propsOptions] = instance.propsOptions;\n if (propsOptions) {\n for (const key in propsOptions) {\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\n }\n }\n }\n if (injectOptions) {\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\n }\n if (methods) {\n for (const key in methods) {\n const methodHandler = methods[key];\n if (isFunction(methodHandler)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n Object.defineProperty(ctx, key, {\n value: methodHandler.bind(publicThis),\n configurable: true,\n enumerable: true,\n writable: true\n });\n } else {\n ctx[key] = methodHandler.bind(publicThis);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. Did you reference the function correctly?`\n );\n }\n }\n }\n if (dataOptions) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(dataOptions)) {\n warn$1(\n `The data option must be a function. Plain object usage is no longer supported.`\n );\n }\n const data = dataOptions.call(publicThis, publicThis);\n if (!!(process.env.NODE_ENV !== \"production\") && isPromise(data)) {\n warn$1(\n `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`\n );\n }\n if (!isObject(data)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`data() should return an object.`);\n } else {\n instance.data = reactive(data);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (const key in data) {\n checkDuplicateProperties(\"Data\" /* DATA */, key);\n if (!isReservedPrefix(key[0])) {\n Object.defineProperty(ctx, key, {\n configurable: true,\n enumerable: true,\n get: () => data[key],\n set: NOOP\n });\n }\n }\n }\n }\n }\n shouldCacheAccess = true;\n if (computedOptions) {\n for (const key in computedOptions) {\n const opt = computedOptions[key];\n const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;\n if (!!(process.env.NODE_ENV !== \"production\") && get === NOOP) {\n warn$1(`Computed property \"${key}\" has no getter.`);\n }\n const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$1(\n `Write operation failed: computed property \"${key}\" is readonly.`\n );\n } : NOOP;\n const c = computed({\n get,\n set\n });\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => c.value,\n set: (v) => c.value = v\n });\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\n }\n }\n }\n if (watchOptions) {\n for (const key in watchOptions) {\n createWatcher(watchOptions[key], ctx, publicThis, key);\n }\n }\n if (provideOptions) {\n const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;\n Reflect.ownKeys(provides).forEach((key) => {\n provide(key, provides[key]);\n });\n }\n if (created) {\n callHook(created, instance, \"c\");\n }\n function registerLifecycleHook(register, hook) {\n if (isArray(hook)) {\n hook.forEach((_hook) => register(_hook.bind(publicThis)));\n } else if (hook) {\n register(hook.bind(publicThis));\n }\n }\n registerLifecycleHook(onBeforeMount, beforeMount);\n registerLifecycleHook(onMounted, mounted);\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\n registerLifecycleHook(onUpdated, updated);\n registerLifecycleHook(onActivated, activated);\n registerLifecycleHook(onDeactivated, deactivated);\n registerLifecycleHook(onErrorCaptured, errorCaptured);\n registerLifecycleHook(onRenderTracked, renderTracked);\n registerLifecycleHook(onRenderTriggered, renderTriggered);\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\n registerLifecycleHook(onUnmounted, unmounted);\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\n if (isArray(expose)) {\n if (expose.length) {\n const exposed = instance.exposed || (instance.exposed = {});\n expose.forEach((key) => {\n Object.defineProperty(exposed, key, {\n get: () => publicThis[key],\n set: (val) => publicThis[key] = val\n });\n });\n } else if (!instance.exposed) {\n instance.exposed = {};\n }\n }\n if (render && instance.render === NOOP) {\n instance.render = render;\n }\n if (inheritAttrs != null) {\n instance.inheritAttrs = inheritAttrs;\n }\n if (components) instance.components = components;\n if (directives) instance.directives = directives;\n if (serverPrefetch) {\n markAsyncBoundary(instance);\n }\n}\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\n if (isArray(injectOptions)) {\n injectOptions = normalizeInject(injectOptions);\n }\n for (const key in injectOptions) {\n const opt = injectOptions[key];\n let injected;\n if (isObject(opt)) {\n if (\"default\" in opt) {\n injected = inject(\n opt.from || key,\n opt.default,\n true\n );\n } else {\n injected = inject(opt.from || key);\n }\n } else {\n injected = inject(opt);\n }\n if (isRef(injected)) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => injected.value,\n set: (v) => injected.value = v\n });\n } else {\n ctx[key] = injected;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\n }\n }\n}\nfunction callHook(hook, instance, type) {\n callWithAsyncErrorHandling(\n isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),\n instance,\n type\n );\n}\nfunction createWatcher(raw, ctx, publicThis, key) {\n let getter = key.includes(\".\") ? createPathGetter(publicThis, key) : () => publicThis[key];\n if (isString(raw)) {\n const handler = ctx[raw];\n if (isFunction(handler)) {\n {\n watch(getter, handler);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch handler specified by key \"${raw}\"`, handler);\n }\n } else if (isFunction(raw)) {\n {\n watch(getter, raw.bind(publicThis));\n }\n } else if (isObject(raw)) {\n if (isArray(raw)) {\n raw.forEach((r) => createWatcher(r, ctx, publicThis, key));\n } else {\n const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];\n if (isFunction(handler)) {\n watch(getter, handler, raw);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\n }\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch option: \"${key}\"`, raw);\n }\n}\nfunction resolveMergedOptions(instance) {\n const base = instance.type;\n const { mixins, extends: extendsOptions } = base;\n const {\n mixins: globalMixins,\n optionsCache: cache,\n config: { optionMergeStrategies }\n } = instance.appContext;\n const cached = cache.get(base);\n let resolved;\n if (cached) {\n resolved = cached;\n } else if (!globalMixins.length && !mixins && !extendsOptions) {\n {\n resolved = base;\n }\n } else {\n resolved = {};\n if (globalMixins.length) {\n globalMixins.forEach(\n (m) => mergeOptions(resolved, m, optionMergeStrategies, true)\n );\n }\n mergeOptions(resolved, base, optionMergeStrategies);\n }\n if (isObject(base)) {\n cache.set(base, resolved);\n }\n return resolved;\n}\nfunction mergeOptions(to, from, strats, asMixin = false) {\n const { mixins, extends: extendsOptions } = from;\n if (extendsOptions) {\n mergeOptions(to, extendsOptions, strats, true);\n }\n if (mixins) {\n mixins.forEach(\n (m) => mergeOptions(to, m, strats, true)\n );\n }\n for (const key in from) {\n if (asMixin && key === \"expose\") {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`\n );\n } else {\n const strat = internalOptionMergeStrats[key] || strats && strats[key];\n to[key] = strat ? strat(to[key], from[key]) : from[key];\n }\n }\n return to;\n}\nconst internalOptionMergeStrats = {\n data: mergeDataFn,\n props: mergeEmitsOrPropsOptions,\n emits: mergeEmitsOrPropsOptions,\n // objects\n methods: mergeObjectOptions,\n computed: mergeObjectOptions,\n // lifecycle\n beforeCreate: mergeAsArray,\n created: mergeAsArray,\n beforeMount: mergeAsArray,\n mounted: mergeAsArray,\n beforeUpdate: mergeAsArray,\n updated: mergeAsArray,\n beforeDestroy: mergeAsArray,\n beforeUnmount: mergeAsArray,\n destroyed: mergeAsArray,\n unmounted: mergeAsArray,\n activated: mergeAsArray,\n deactivated: mergeAsArray,\n errorCaptured: mergeAsArray,\n serverPrefetch: mergeAsArray,\n // assets\n components: mergeObjectOptions,\n directives: mergeObjectOptions,\n // watch\n watch: mergeWatchOptions,\n // provide / inject\n provide: mergeDataFn,\n inject: mergeInject\n};\nfunction mergeDataFn(to, from) {\n if (!from) {\n return to;\n }\n if (!to) {\n return from;\n }\n return function mergedDataFn() {\n return (extend)(\n isFunction(to) ? to.call(this, this) : to,\n isFunction(from) ? from.call(this, this) : from\n );\n };\n}\nfunction mergeInject(to, from) {\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\n}\nfunction normalizeInject(raw) {\n if (isArray(raw)) {\n const res = {};\n for (let i = 0; i < raw.length; i++) {\n res[raw[i]] = raw[i];\n }\n return res;\n }\n return raw;\n}\nfunction mergeAsArray(to, from) {\n return to ? [...new Set([].concat(to, from))] : from;\n}\nfunction mergeObjectOptions(to, from) {\n return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;\n}\nfunction mergeEmitsOrPropsOptions(to, from) {\n if (to) {\n if (isArray(to) && isArray(from)) {\n return [.../* @__PURE__ */ new Set([...to, ...from])];\n }\n return extend(\n /* @__PURE__ */ Object.create(null),\n normalizePropsOrEmits(to),\n normalizePropsOrEmits(from != null ? from : {})\n );\n } else {\n return from;\n }\n}\nfunction mergeWatchOptions(to, from) {\n if (!to) return from;\n if (!from) return to;\n const merged = extend(/* @__PURE__ */ Object.create(null), to);\n for (const key in from) {\n merged[key] = mergeAsArray(to[key], from[key]);\n }\n return merged;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const pluginCleanupFns = [];\n let isMounted = false;\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n mount(rootContainer, isHydrate, namespace) {\n if (!isMounted) {\n if (!!(process.env.NODE_ENV !== \"production\") && rootContainer.__vue_app__) {\n warn$1(\n `There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling \\`app.unmount()\\` first.`\n );\n }\n const vnode = app._ceVNode || createVNode(rootComponent, rootProps);\n vnode.appContext = context;\n if (namespace === true) {\n namespace = \"svg\";\n } else if (namespace === false) {\n namespace = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n context.reload = () => {\n render(\n cloneVNode(vnode),\n rootContainer,\n namespace\n );\n };\n }\n if (isHydrate && hydrate) {\n hydrate(vnode, rootContainer);\n } else {\n render(vnode, rootContainer, namespace);\n }\n isMounted = true;\n app._container = rootContainer;\n rootContainer.__vue_app__ = app;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = vnode.component;\n devtoolsInitApp(app, version);\n }\n return getComponentPublicInstance(vnode.component);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \\`const createMyApp = () => createApp(App)\\``\n );\n }\n },\n onUnmount(cleanupFn) {\n if (!!(process.env.NODE_ENV !== \"production\") && typeof cleanupFn !== \"function\") {\n warn$1(\n `Expected function as first argument to app.onUnmount(), but got ${typeof cleanupFn}`\n );\n }\n pluginCleanupFns.push(cleanupFn);\n },\n unmount() {\n if (isMounted) {\n callWithAsyncErrorHandling(\n pluginCleanupFns,\n app._instance,\n 16\n );\n render(null, app._container);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = null;\n devtoolsUnmountApp(app);\n }\n delete app._container.__vue_app__;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Cannot unmount an app that is not mounted.`);\n }\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\nconst internalObjectProto = {};\nconst createInternalObject = () => Object.create(internalObjectProto);\nconst isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;\n\nfunction initProps(instance, rawProps, isStateful, isSSR = false) {\n const props = {};\n const attrs = createInternalObject();\n instance.propsDefaults = /* @__PURE__ */ Object.create(null);\n setFullProps(instance, rawProps, props, attrs);\n for (const key in instance.propsOptions[0]) {\n if (!(key in props)) {\n props[key] = void 0;\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n if (isStateful) {\n instance.props = isSSR ? props : shallowReactive(props);\n } else {\n if (!instance.type.props) {\n instance.props = attrs;\n } else {\n instance.props = props;\n }\n }\n instance.attrs = attrs;\n}\nfunction isInHmrContext(instance) {\n while (instance) {\n if (instance.type.__hmrId) return true;\n instance = instance.parent;\n }\n}\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\n const {\n props,\n attrs,\n vnode: { patchFlag }\n } = instance;\n const rawCurrentProps = toRaw(props);\n const [options] = instance.propsOptions;\n let hasAttrsChanged = false;\n if (\n // always force full diff in dev\n // - #1942 if hmr is enabled with sfc component\n // - vite#872 non-sfc component used by sfc component\n !(!!(process.env.NODE_ENV !== \"production\") && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)\n ) {\n if (patchFlag & 8) {\n const propsToUpdate = instance.vnode.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n let key = propsToUpdate[i];\n if (isEmitListener(instance.emitsOptions, key)) {\n continue;\n }\n const value = rawProps[key];\n if (options) {\n if (hasOwn(attrs, key)) {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n } else {\n const camelizedKey = camelize(key);\n props[camelizedKey] = resolvePropValue(\n options,\n rawCurrentProps,\n camelizedKey,\n value,\n instance,\n false\n );\n }\n } else {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n } else {\n if (setFullProps(instance, rawProps, props, attrs)) {\n hasAttrsChanged = true;\n }\n let kebabKey;\n for (const key in rawCurrentProps) {\n if (!rawProps || // for camelCase\n !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case\n // and converted to camelCase (#955)\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {\n if (options) {\n if (rawPrevProps && // for camelCase\n (rawPrevProps[key] !== void 0 || // for kebab-case\n rawPrevProps[kebabKey] !== void 0)) {\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n void 0,\n instance,\n true\n );\n }\n } else {\n delete props[key];\n }\n }\n }\n if (attrs !== rawCurrentProps) {\n for (const key in attrs) {\n if (!rawProps || !hasOwn(rawProps, key) && true) {\n delete attrs[key];\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (hasAttrsChanged) {\n trigger(instance.attrs, \"set\", \"\");\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n}\nfunction setFullProps(instance, rawProps, props, attrs) {\n const [options, needCastKeys] = instance.propsOptions;\n let hasAttrsChanged = false;\n let rawCastValues;\n if (rawProps) {\n for (let key in rawProps) {\n if (isReservedProp(key)) {\n continue;\n }\n const value = rawProps[key];\n let camelKey;\n if (options && hasOwn(options, camelKey = camelize(key))) {\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\n props[camelKey] = value;\n } else {\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\n }\n } else if (!isEmitListener(instance.emitsOptions, key)) {\n if (!(key in attrs) || value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (needCastKeys) {\n const rawCurrentProps = toRaw(props);\n const castValues = rawCastValues || EMPTY_OBJ;\n for (let i = 0; i < needCastKeys.length; i++) {\n const key = needCastKeys[i];\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n castValues[key],\n instance,\n !hasOwn(castValues, key)\n );\n }\n }\n return hasAttrsChanged;\n}\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\n const opt = options[key];\n if (opt != null) {\n const hasDefault = hasOwn(opt, \"default\");\n if (hasDefault && value === void 0) {\n const defaultValue = opt.default;\n if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {\n const { propsDefaults } = instance;\n if (key in propsDefaults) {\n value = propsDefaults[key];\n } else {\n const reset = setCurrentInstance(instance);\n value = propsDefaults[key] = defaultValue.call(\n null,\n props\n );\n reset();\n }\n } else {\n value = defaultValue;\n }\n if (instance.ce) {\n instance.ce._setProp(key, value);\n }\n }\n if (opt[0 /* shouldCast */]) {\n if (isAbsent && !hasDefault) {\n value = false;\n } else if (opt[1 /* shouldCastTrue */] && (value === \"\" || value === hyphenate(key))) {\n value = true;\n }\n }\n }\n return value;\n}\nconst mixinPropsCache = /* @__PURE__ */ new WeakMap();\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\n const cache = __VUE_OPTIONS_API__ && asMixin ? mixinPropsCache : appContext.propsCache;\n const cached = cache.get(comp);\n if (cached) {\n return cached;\n }\n const raw = comp.props;\n const normalized = {};\n const needCastKeys = [];\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendProps = (raw2) => {\n hasExtends = true;\n const [props, keys] = normalizePropsOptions(raw2, appContext, true);\n extend(normalized, props);\n if (keys) needCastKeys.push(...keys);\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendProps);\n }\n if (comp.extends) {\n extendProps(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendProps);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, EMPTY_ARR);\n }\n return EMPTY_ARR;\n }\n if (isArray(raw)) {\n for (let i = 0; i < raw.length; i++) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isString(raw[i])) {\n warn$1(`props must be strings when using array syntax.`, raw[i]);\n }\n const normalizedKey = camelize(raw[i]);\n if (validatePropName(normalizedKey)) {\n normalized[normalizedKey] = EMPTY_OBJ;\n }\n }\n } else if (raw) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(raw)) {\n warn$1(`invalid props options`, raw);\n }\n for (const key in raw) {\n const normalizedKey = camelize(key);\n if (validatePropName(normalizedKey)) {\n const opt = raw[key];\n const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);\n const propType = prop.type;\n let shouldCast = false;\n let shouldCastTrue = true;\n if (isArray(propType)) {\n for (let index = 0; index < propType.length; ++index) {\n const type = propType[index];\n const typeName = isFunction(type) && type.name;\n if (typeName === \"Boolean\") {\n shouldCast = true;\n break;\n } else if (typeName === \"String\") {\n shouldCastTrue = false;\n }\n }\n } else {\n shouldCast = isFunction(propType) && propType.name === \"Boolean\";\n }\n prop[0 /* shouldCast */] = shouldCast;\n prop[1 /* shouldCastTrue */] = shouldCastTrue;\n if (shouldCast || hasOwn(prop, \"default\")) {\n needCastKeys.push(normalizedKey);\n }\n }\n }\n }\n const res = [normalized, needCastKeys];\n if (isObject(comp)) {\n cache.set(comp, res);\n }\n return res;\n}\nfunction validatePropName(key) {\n if (key[0] !== \"$\" && !isReservedProp(key)) {\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid prop name: \"${key}\" is a reserved property.`);\n }\n return false;\n}\nfunction getType(ctor) {\n if (ctor === null) {\n return \"null\";\n }\n if (typeof ctor === \"function\") {\n return ctor.name || \"\";\n } else if (typeof ctor === \"object\") {\n const name = ctor.constructor && ctor.constructor.name;\n return name || \"\";\n }\n return \"\";\n}\nfunction validateProps(rawProps, props, instance) {\n const resolvedValues = toRaw(props);\n const options = instance.propsOptions[0];\n const camelizePropsKey = Object.keys(rawProps).map((key) => camelize(key));\n for (const key in options) {\n let opt = options[key];\n if (opt == null) continue;\n validateProp(\n key,\n resolvedValues[key],\n opt,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(resolvedValues) : resolvedValues,\n !camelizePropsKey.includes(key)\n );\n }\n}\nfunction validateProp(name, value, prop, props, isAbsent) {\n const { type, required, validator, skipCheck } = prop;\n if (required && isAbsent) {\n warn$1('Missing required prop: \"' + name + '\"');\n return;\n }\n if (value == null && !required) {\n return;\n }\n if (type != null && type !== true && !skipCheck) {\n let isValid = false;\n const types = isArray(type) ? type : [type];\n const expectedTypes = [];\n for (let i = 0; i < types.length && !isValid; i++) {\n const { valid, expectedType } = assertType(value, types[i]);\n expectedTypes.push(expectedType || \"\");\n isValid = valid;\n }\n if (!isValid) {\n warn$1(getInvalidTypeMessage(name, value, expectedTypes));\n return;\n }\n }\n if (validator && !validator(value, props)) {\n warn$1('Invalid prop: custom validator check failed for prop \"' + name + '\".');\n }\n}\nconst isSimpleType = /* @__PURE__ */ makeMap(\n \"String,Number,Boolean,Function,Symbol,BigInt\"\n);\nfunction assertType(value, type) {\n let valid;\n const expectedType = getType(type);\n if (expectedType === \"null\") {\n valid = value === null;\n } else if (isSimpleType(expectedType)) {\n const t = typeof value;\n valid = t === expectedType.toLowerCase();\n if (!valid && t === \"object\") {\n valid = value instanceof type;\n }\n } else if (expectedType === \"Object\") {\n valid = isObject(value);\n } else if (expectedType === \"Array\") {\n valid = isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid,\n expectedType\n };\n}\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\n if (expectedTypes.length === 0) {\n return `Prop type [] for prop \"${name}\" won't match anything. Did you mean to use type Array instead?`;\n }\n let message = `Invalid prop: type check failed for prop \"${name}\". Expected ${expectedTypes.map(capitalize).join(\" | \")}`;\n const expectedType = expectedTypes[0];\n const receivedType = toRawType(value);\n const expectedValue = styleValue(value, expectedType);\n const receivedValue = styleValue(value, receivedType);\n if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {\n message += ` with value ${expectedValue}`;\n }\n message += `, got ${receivedType} `;\n if (isExplicable(receivedType)) {\n message += `with value ${receivedValue}.`;\n }\n return message;\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}\nfunction isExplicable(type) {\n const explicitTypes = [\"string\", \"number\", \"boolean\"];\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\n}\nfunction isBoolean(...args) {\n return args.some((elem) => elem.toLowerCase() === \"boolean\");\n}\n\nconst isInternalKey = (key) => key[0] === \"_\" || key === \"$stable\";\nconst normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];\nconst normalizeSlot = (key, rawSlot, ctx) => {\n if (rawSlot._n) {\n return rawSlot;\n }\n const normalized = withCtx((...args) => {\n if (!!(process.env.NODE_ENV !== \"production\") && currentInstance && (!ctx || ctx.root === currentInstance.root)) {\n warn$1(\n `Slot \"${key}\" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`\n );\n }\n return normalizeSlotValue(rawSlot(...args));\n }, ctx);\n normalized._c = false;\n return normalized;\n};\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\n const ctx = rawSlots._ctx;\n for (const key in rawSlots) {\n if (isInternalKey(key)) continue;\n const value = rawSlots[key];\n if (isFunction(value)) {\n slots[key] = normalizeSlot(key, value, ctx);\n } else if (value != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n warn$1(\n `Non-function value encountered for slot \"${key}\". Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(value);\n slots[key] = () => normalized;\n }\n }\n};\nconst normalizeVNodeSlots = (instance, children) => {\n if (!!(process.env.NODE_ENV !== \"production\") && !isKeepAlive(instance.vnode) && true) {\n warn$1(\n `Non-function value encountered for default slot. Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(children);\n instance.slots.default = () => normalized;\n};\nconst assignSlots = (slots, children, optimized) => {\n for (const key in children) {\n if (optimized || key !== \"_\") {\n slots[key] = children[key];\n }\n }\n};\nconst initSlots = (instance, children, optimized) => {\n const slots = instance.slots = createInternalObject();\n if (instance.vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n assignSlots(slots, children, optimized);\n if (optimized) {\n def(slots, \"_\", type, true);\n }\n } else {\n normalizeObjectSlots(children, slots);\n }\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n }\n};\nconst updateSlots = (instance, children, optimized) => {\n const { vnode, slots } = instance;\n let needDeletionCheck = true;\n let deletionComparisonTarget = EMPTY_OBJ;\n if (vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n assignSlots(slots, children, optimized);\n trigger(instance, \"set\", \"$slots\");\n } else if (optimized && type === 1) {\n needDeletionCheck = false;\n } else {\n assignSlots(slots, children, optimized);\n }\n } else {\n needDeletionCheck = !children.$stable;\n normalizeObjectSlots(children, slots);\n }\n deletionComparisonTarget = children;\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n deletionComparisonTarget = { default: 1 };\n }\n if (needDeletionCheck) {\n for (const key in slots) {\n if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {\n delete slots[key];\n }\n }\n }\n};\n\nlet supported;\nlet perf;\nfunction startMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n perf.mark(`vue-${type}-${instance.uid}`);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction endMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n const startTag = `vue-${type}-${instance.uid}`;\n const endTag = startTag + `:end`;\n perf.mark(endTag);\n perf.measure(\n `<${formatComponentName(instance, instance.type)}> ${type}`,\n startTag,\n endTag\n );\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction isSupported() {\n if (supported !== void 0) {\n return supported;\n }\n if (typeof window !== \"undefined\" && window.performance) {\n supported = true;\n perf = window.performance;\n } else {\n supported = false;\n }\n return supported;\n}\n\nfunction initFeatureFlags() {\n const needWarn = [];\n if (typeof __VUE_OPTIONS_API__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_OPTIONS_API__`);\n getGlobalThis().__VUE_OPTIONS_API__ = true;\n }\n if (typeof __VUE_PROD_DEVTOOLS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_DEVTOOLS__`);\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\n }\n if (typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_HYDRATION_MISMATCH_DETAILS__`);\n getGlobalThis().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = false;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && needWarn.length) {\n const multi = needWarn.length > 1;\n console.warn(\n `Feature flag${multi ? `s` : ``} ${needWarn.join(\", \")} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.\n\nFor more details, see https://link.vuejs.org/feature-flags.`\n );\n }\n}\n\nconst queuePostRenderEffect = queueEffectWithSuspense ;\nfunction createRenderer(options) {\n return baseCreateRenderer(options);\n}\nfunction createHydrationRenderer(options) {\n return baseCreateRenderer(options, createHydrationFunctions);\n}\nfunction baseCreateRenderer(options, createHydrationFns) {\n {\n initFeatureFlags();\n }\n const target = getGlobalThis();\n target.__VUE__ = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n setDevtoolsHook$1(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\n }\n const {\n insert: hostInsert,\n remove: hostRemove,\n patchProp: hostPatchProp,\n createElement: hostCreateElement,\n createText: hostCreateText,\n createComment: hostCreateComment,\n setText: hostSetText,\n setElementText: hostSetElementText,\n parentNode: hostParentNode,\n nextSibling: hostNextSibling,\n setScopeId: hostSetScopeId = NOOP,\n insertStaticContent: hostInsertStaticContent\n } = options;\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!(process.env.NODE_ENV !== \"production\") && isHmrUpdating ? false : !!n2.dynamicChildren) => {\n if (n1 === n2) {\n return;\n }\n if (n1 && !isSameVNodeType(n1, n2)) {\n anchor = getNextHostNode(n1);\n unmount(n1, parentComponent, parentSuspense, true);\n n1 = null;\n }\n if (n2.patchFlag === -2) {\n optimized = false;\n n2.dynamicChildren = null;\n }\n const { type, ref, shapeFlag } = n2;\n switch (type) {\n case Text:\n processText(n1, n2, container, anchor);\n break;\n case Comment:\n processCommentNode(n1, n2, container, anchor);\n break;\n case Static:\n if (n1 == null) {\n mountStaticNode(n2, container, anchor, namespace);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n patchStaticNode(n1, n2, container, namespace);\n }\n break;\n case Fragment:\n processFragment(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n break;\n default:\n if (shapeFlag & 1) {\n processElement(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 6) {\n processComponent(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 64) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (shapeFlag & 128) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid VNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null && parentComponent) {\n setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);\n }\n };\n const processText = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateText(n2.children),\n container,\n anchor\n );\n } else {\n const el = n2.el = n1.el;\n if (n2.children !== n1.children) {\n hostSetText(el, n2.children);\n }\n }\n };\n const processCommentNode = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateComment(n2.children || \"\"),\n container,\n anchor\n );\n } else {\n n2.el = n1.el;\n }\n };\n const mountStaticNode = (n2, container, anchor, namespace) => {\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n namespace,\n n2.el,\n n2.anchor\n );\n };\n const patchStaticNode = (n1, n2, container, namespace) => {\n if (n2.children !== n1.children) {\n const anchor = hostNextSibling(n1.anchor);\n removeStaticNode(n1);\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n namespace\n );\n } else {\n n2.el = n1.el;\n n2.anchor = n1.anchor;\n }\n };\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostInsert(el, container, nextSibling);\n el = next;\n }\n hostInsert(anchor, container, nextSibling);\n };\n const removeStaticNode = ({ el, anchor }) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostRemove(el);\n el = next;\n }\n hostRemove(anchor);\n };\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n if (n2.type === \"svg\") {\n namespace = \"svg\";\n } else if (n2.type === \"math\") {\n namespace = \"mathml\";\n }\n if (n1 == null) {\n mountElement(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n patchElement(\n n1,\n n2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n let el;\n let vnodeHook;\n const { props, shapeFlag, transition, dirs } = vnode;\n el = vnode.el = hostCreateElement(\n vnode.type,\n namespace,\n props && props.is,\n props\n );\n if (shapeFlag & 8) {\n hostSetElementText(el, vnode.children);\n } else if (shapeFlag & 16) {\n mountChildren(\n vnode.children,\n el,\n null,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(vnode, namespace),\n slotScopeIds,\n optimized\n );\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);\n if (props) {\n for (const key in props) {\n if (key !== \"value\" && !isReservedProp(key)) {\n hostPatchProp(el, key, null, props[key], namespace, parentComponent);\n }\n }\n if (\"value\" in props) {\n hostPatchProp(el, \"value\", null, props.value, namespace);\n }\n if (vnodeHook = props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(el, \"__vnode\", vnode, true);\n def(el, \"__vueParentComponent\", parentComponent, true);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n const needCallTransitionHooks = needTransition(parentSuspense, transition);\n if (needCallTransitionHooks) {\n transition.beforeEnter(el);\n }\n hostInsert(el, container, anchor);\n if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n };\n const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {\n if (scopeId) {\n hostSetScopeId(el, scopeId);\n }\n if (slotScopeIds) {\n for (let i = 0; i < slotScopeIds.length; i++) {\n hostSetScopeId(el, slotScopeIds[i]);\n }\n }\n if (parentComponent) {\n let subTree = parentComponent.subTree;\n if (!!(process.env.NODE_ENV !== \"production\") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {\n subTree = filterSingleRoot(subTree.children) || subTree;\n }\n if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {\n const parentVNode = parentComponent.vnode;\n setScopeId(\n el,\n parentVNode,\n parentVNode.scopeId,\n parentVNode.slotScopeIds,\n parentComponent.parent\n );\n }\n }\n };\n const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {\n for (let i = start; i < children.length; i++) {\n const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);\n patch(\n null,\n child,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n const el = n2.el = n1.el;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n el.__vnode = n2;\n }\n let { patchFlag, dynamicChildren, dirs } = n2;\n patchFlag |= n1.patchFlag & 16;\n const oldProps = n1.props || EMPTY_OBJ;\n const newProps = n2.props || EMPTY_OBJ;\n let vnodeHook;\n parentComponent && toggleRecurse(parentComponent, false);\n if (vnodeHook = newProps.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n }\n if (dirs) {\n invokeDirectiveHook(n2, n1, parentComponent, \"beforeUpdate\");\n }\n parentComponent && toggleRecurse(parentComponent, true);\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) {\n hostSetElementText(el, \"\");\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n el,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(n2, namespace),\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n }\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n el,\n null,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(n2, namespace),\n slotScopeIds,\n false\n );\n }\n if (patchFlag > 0) {\n if (patchFlag & 16) {\n patchProps(el, oldProps, newProps, parentComponent, namespace);\n } else {\n if (patchFlag & 2) {\n if (oldProps.class !== newProps.class) {\n hostPatchProp(el, \"class\", null, newProps.class, namespace);\n }\n }\n if (patchFlag & 4) {\n hostPatchProp(el, \"style\", oldProps.style, newProps.style, namespace);\n }\n if (patchFlag & 8) {\n const propsToUpdate = n2.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n const key = propsToUpdate[i];\n const prev = oldProps[key];\n const next = newProps[key];\n if (next !== prev || key === \"value\") {\n hostPatchProp(el, key, prev, next, namespace, parentComponent);\n }\n }\n }\n }\n if (patchFlag & 1) {\n if (n1.children !== n2.children) {\n hostSetElementText(el, n2.children);\n }\n }\n } else if (!optimized && dynamicChildren == null) {\n patchProps(el, oldProps, newProps, parentComponent, namespace);\n }\n if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n dirs && invokeDirectiveHook(n2, n1, parentComponent, \"updated\");\n }, parentSuspense);\n }\n };\n const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => {\n for (let i = 0; i < newChildren.length; i++) {\n const oldVNode = oldChildren[i];\n const newVNode = newChildren[i];\n const container = (\n // oldVNode may be an errored async setup() component inside Suspense\n // which will not have a mounted element\n oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent\n // of the Fragment itself so it can move its children.\n (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement\n // which also requires the correct parent container\n !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.\n oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (\n // In other cases, the parent container is not actually used so we\n // just pass the block element here to avoid a DOM parentNode call.\n fallbackContainer\n )\n );\n patch(\n oldVNode,\n newVNode,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n true\n );\n }\n };\n const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {\n if (oldProps !== newProps) {\n if (oldProps !== EMPTY_OBJ) {\n for (const key in oldProps) {\n if (!isReservedProp(key) && !(key in newProps)) {\n hostPatchProp(\n el,\n key,\n oldProps[key],\n null,\n namespace,\n parentComponent\n );\n }\n }\n }\n for (const key in newProps) {\n if (isReservedProp(key)) continue;\n const next = newProps[key];\n const prev = oldProps[key];\n if (next !== prev && key !== \"value\") {\n hostPatchProp(el, key, prev, next, namespace, parentComponent);\n }\n }\n if (\"value\" in newProps) {\n hostPatchProp(el, \"value\", oldProps.value, newProps.value, namespace);\n }\n }\n };\n const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(\"\");\n const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(\"\");\n let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && // #5523 dev root fragment may inherit directives\n (isHmrUpdating || patchFlag & 2048)) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n if (n1 == null) {\n hostInsert(fragmentStartAnchor, container, anchor);\n hostInsert(fragmentEndAnchor, container, anchor);\n mountChildren(\n // #10007\n // such fragment like `<></>` will be compiled into\n // a fragment which doesn't have a children.\n // In this case fallback to an empty array\n n2.children || [],\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result\n // of renderSlot() with no valid children\n n1.dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n container,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n } else if (\n // #2080 if the stable fragment has a key, it's a <template v-for> that may\n // get moved around. Make sure all root level vnodes inherit el.\n // #2134 or if it's a component root, it may also get moved around\n // as the component is being moved.\n n2.key != null || parentComponent && n2 === parentComponent.subTree\n ) {\n traverseStaticChildren(\n n1,\n n2,\n true\n /* shallow */\n );\n }\n } else {\n patchChildren(\n n1,\n n2,\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n }\n };\n const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n n2.slotScopeIds = slotScopeIds;\n if (n1 == null) {\n if (n2.shapeFlag & 512) {\n parentComponent.ctx.activate(\n n2,\n container,\n anchor,\n namespace,\n optimized\n );\n } else {\n mountComponent(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n optimized\n );\n }\n } else {\n updateComponent(n1, n2, optimized);\n }\n };\n const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {\n const instance = (initialVNode.component = createComponentInstance(\n initialVNode,\n parentComponent,\n parentSuspense\n ));\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n registerHMR(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(initialVNode);\n startMeasure(instance, `mount`);\n }\n if (isKeepAlive(initialVNode)) {\n instance.ctx.renderer = internals;\n }\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `init`);\n }\n setupComponent(instance, false, optimized);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `init`);\n }\n }\n if (instance.asyncDep) {\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) initialVNode.el = null;\n parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);\n if (!initialVNode.el) {\n const placeholder = instance.subTree = createVNode(Comment);\n processCommentNode(null, placeholder, container, anchor);\n }\n } else {\n setupRenderEffect(\n instance,\n initialVNode,\n container,\n anchor,\n parentSuspense,\n namespace,\n optimized\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n endMeasure(instance, `mount`);\n }\n };\n const updateComponent = (n1, n2, optimized) => {\n const instance = n2.component = n1.component;\n if (shouldUpdateComponent(n1, n2, optimized)) {\n if (instance.asyncDep && !instance.asyncResolved) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(n2);\n }\n updateComponentPreRender(instance, n2, optimized);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n return;\n } else {\n instance.next = n2;\n instance.update();\n }\n } else {\n n2.el = n1.el;\n instance.vnode = n2;\n }\n };\n const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => {\n const componentUpdateFn = () => {\n if (!instance.isMounted) {\n let vnodeHook;\n const { el, props } = initialVNode;\n const { bm, m, parent, root, type } = instance;\n const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);\n toggleRecurse(instance, false);\n if (bm) {\n invokeArrayFns(bm);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHook, parent, initialVNode);\n }\n toggleRecurse(instance, true);\n if (el && hydrateNode) {\n const hydrateSubTree = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `hydrate`);\n }\n hydrateNode(\n el,\n instance.subTree,\n instance,\n parentSuspense,\n null\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `hydrate`);\n }\n };\n if (isAsyncWrapperVNode && type.__asyncHydrate) {\n type.__asyncHydrate(\n el,\n instance,\n hydrateSubTree\n );\n } else {\n hydrateSubTree();\n }\n } else {\n if (root.ce) {\n root.ce._injectChildStyle(type);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const subTree = instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n null,\n subTree,\n container,\n anchor,\n instance,\n parentSuspense,\n namespace\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n initialVNode.el = subTree.el;\n }\n if (m) {\n queuePostRenderEffect(m, parentSuspense);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {\n const scopedInitialVNode = initialVNode;\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),\n parentSuspense\n );\n }\n if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {\n instance.a && queuePostRenderEffect(instance.a, parentSuspense);\n }\n instance.isMounted = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance);\n }\n initialVNode = container = anchor = null;\n } else {\n let { next, bu, u, parent, vnode } = instance;\n {\n const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance);\n if (nonHydratedAsyncRoot) {\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n }\n nonHydratedAsyncRoot.asyncDep.then(() => {\n if (!instance.isUnmounted) {\n componentUpdateFn();\n }\n });\n return;\n }\n }\n let originNext = next;\n let vnodeHook;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(next || instance.vnode);\n }\n toggleRecurse(instance, false);\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n } else {\n next = vnode;\n }\n if (bu) {\n invokeArrayFns(bu);\n }\n if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parent, next, vnode);\n }\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const nextTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n const prevTree = instance.subTree;\n instance.subTree = nextTree;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n prevTree,\n nextTree,\n // parent may have changed if it's in a teleport\n hostParentNode(prevTree.el),\n // anchor may have changed if it's in a fragment\n getNextHostNode(prevTree),\n instance,\n parentSuspense,\n namespace\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n next.el = nextTree.el;\n if (originNext === null) {\n updateHOCHostEl(instance, nextTree.el);\n }\n if (u) {\n queuePostRenderEffect(u, parentSuspense);\n }\n if (vnodeHook = next.props && next.props.onVnodeUpdated) {\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, next, vnode),\n parentSuspense\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n }\n };\n instance.scope.on();\n const effect = instance.effect = new ReactiveEffect(componentUpdateFn);\n instance.scope.off();\n const update = instance.update = effect.run.bind(effect);\n const job = instance.job = effect.runIfDirty.bind(effect);\n job.i = instance;\n job.id = instance.uid;\n effect.scheduler = () => queueJob(job);\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;\n effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;\n }\n update();\n };\n const updateComponentPreRender = (instance, nextVNode, optimized) => {\n nextVNode.component = instance;\n const prevProps = instance.vnode.props;\n instance.vnode = nextVNode;\n instance.next = null;\n updateProps(instance, nextVNode.props, prevProps, optimized);\n updateSlots(instance, nextVNode.children, optimized);\n pauseTracking();\n flushPreFlushCbs(instance);\n resetTracking();\n };\n const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => {\n const c1 = n1 && n1.children;\n const prevShapeFlag = n1 ? n1.shapeFlag : 0;\n const c2 = n2.children;\n const { patchFlag, shapeFlag } = n2;\n if (patchFlag > 0) {\n if (patchFlag & 128) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n return;\n } else if (patchFlag & 256) {\n patchUnkeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n return;\n }\n }\n if (shapeFlag & 8) {\n if (prevShapeFlag & 16) {\n unmountChildren(c1, parentComponent, parentSuspense);\n }\n if (c2 !== c1) {\n hostSetElementText(container, c2);\n }\n } else {\n if (prevShapeFlag & 16) {\n if (shapeFlag & 16) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n unmountChildren(c1, parentComponent, parentSuspense, true);\n }\n } else {\n if (prevShapeFlag & 8) {\n hostSetElementText(container, \"\");\n }\n if (shapeFlag & 16) {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n }\n }\n };\n const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n c1 = c1 || EMPTY_ARR;\n c2 = c2 || EMPTY_ARR;\n const oldLength = c1.length;\n const newLength = c2.length;\n const commonLength = Math.min(oldLength, newLength);\n let i;\n for (i = 0; i < commonLength; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n patch(\n c1[i],\n nextChild,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n if (oldLength > newLength) {\n unmountChildren(\n c1,\n parentComponent,\n parentSuspense,\n true,\n false,\n commonLength\n );\n } else {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n commonLength\n );\n }\n };\n const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n let i = 0;\n const l2 = c2.length;\n let e1 = c1.length - 1;\n let e2 = l2 - 1;\n while (i <= e1 && i <= e2) {\n const n1 = c1[i];\n const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n i++;\n }\n while (i <= e1 && i <= e2) {\n const n1 = c1[e1];\n const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n e1--;\n e2--;\n }\n if (i > e1) {\n if (i <= e2) {\n const nextPos = e2 + 1;\n const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;\n while (i <= e2) {\n patch(\n null,\n c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n i++;\n }\n }\n } else if (i > e2) {\n while (i <= e1) {\n unmount(c1[i], parentComponent, parentSuspense, true);\n i++;\n }\n } else {\n const s1 = i;\n const s2 = i;\n const keyToNewIndexMap = /* @__PURE__ */ new Map();\n for (i = s2; i <= e2; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (nextChild.key != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && keyToNewIndexMap.has(nextChild.key)) {\n warn$1(\n `Duplicate keys found during update:`,\n JSON.stringify(nextChild.key),\n `Make sure keys are unique.`\n );\n }\n keyToNewIndexMap.set(nextChild.key, i);\n }\n }\n let j;\n let patched = 0;\n const toBePatched = e2 - s2 + 1;\n let moved = false;\n let maxNewIndexSoFar = 0;\n const newIndexToOldIndexMap = new Array(toBePatched);\n for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0;\n for (i = s1; i <= e1; i++) {\n const prevChild = c1[i];\n if (patched >= toBePatched) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n continue;\n }\n let newIndex;\n if (prevChild.key != null) {\n newIndex = keyToNewIndexMap.get(prevChild.key);\n } else {\n for (j = s2; j <= e2; j++) {\n if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {\n newIndex = j;\n break;\n }\n }\n }\n if (newIndex === void 0) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n } else {\n newIndexToOldIndexMap[newIndex - s2] = i + 1;\n if (newIndex >= maxNewIndexSoFar) {\n maxNewIndexSoFar = newIndex;\n } else {\n moved = true;\n }\n patch(\n prevChild,\n c2[newIndex],\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n patched++;\n }\n }\n const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;\n j = increasingNewIndexSequence.length - 1;\n for (i = toBePatched - 1; i >= 0; i--) {\n const nextIndex = s2 + i;\n const nextChild = c2[nextIndex];\n const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;\n if (newIndexToOldIndexMap[i] === 0) {\n patch(\n null,\n nextChild,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (moved) {\n if (j < 0 || i !== increasingNewIndexSequence[j]) {\n move(nextChild, container, anchor, 2);\n } else {\n j--;\n }\n }\n }\n }\n };\n const move = (vnode, container, anchor, moveType, parentSuspense = null) => {\n const { el, type, transition, children, shapeFlag } = vnode;\n if (shapeFlag & 6) {\n move(vnode.component.subTree, container, anchor, moveType);\n return;\n }\n if (shapeFlag & 128) {\n vnode.suspense.move(container, anchor, moveType);\n return;\n }\n if (shapeFlag & 64) {\n type.move(vnode, container, anchor, internals);\n return;\n }\n if (type === Fragment) {\n hostInsert(el, container, anchor);\n for (let i = 0; i < children.length; i++) {\n move(children[i], container, anchor, moveType);\n }\n hostInsert(vnode.anchor, container, anchor);\n return;\n }\n if (type === Static) {\n moveStaticNode(vnode, container, anchor);\n return;\n }\n const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;\n if (needTransition2) {\n if (moveType === 0) {\n transition.beforeEnter(el);\n hostInsert(el, container, anchor);\n queuePostRenderEffect(() => transition.enter(el), parentSuspense);\n } else {\n const { leave, delayLeave, afterLeave } = transition;\n const remove2 = () => hostInsert(el, container, anchor);\n const performLeave = () => {\n leave(el, () => {\n remove2();\n afterLeave && afterLeave();\n });\n };\n if (delayLeave) {\n delayLeave(el, remove2, performLeave);\n } else {\n performLeave();\n }\n }\n } else {\n hostInsert(el, container, anchor);\n }\n };\n const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {\n const {\n type,\n props,\n ref,\n children,\n dynamicChildren,\n shapeFlag,\n patchFlag,\n dirs,\n cacheIndex\n } = vnode;\n if (patchFlag === -2) {\n optimized = false;\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode, true);\n }\n if (cacheIndex != null) {\n parentComponent.renderCache[cacheIndex] = void 0;\n }\n if (shapeFlag & 256) {\n parentComponent.ctx.deactivate(vnode);\n return;\n }\n const shouldInvokeDirs = shapeFlag & 1 && dirs;\n const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);\n let vnodeHook;\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n if (shapeFlag & 6) {\n unmountComponent(vnode.component, parentSuspense, doRemove);\n } else {\n if (shapeFlag & 128) {\n vnode.suspense.unmount(parentSuspense, doRemove);\n return;\n }\n if (shouldInvokeDirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeUnmount\");\n }\n if (shapeFlag & 64) {\n vnode.type.remove(\n vnode,\n parentComponent,\n parentSuspense,\n internals,\n doRemove\n );\n } else if (dynamicChildren && // #5154\n // when v-once is used inside a block, setBlockTracking(-1) marks the\n // parent block with hasOnce: true\n // so that it doesn't take the fast path during unmount - otherwise\n // components nested in v-once are never unmounted.\n !dynamicChildren.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments\n (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {\n unmountChildren(\n dynamicChildren,\n parentComponent,\n parentSuspense,\n false,\n true\n );\n } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {\n unmountChildren(children, parentComponent, parentSuspense);\n }\n if (doRemove) {\n remove(vnode);\n }\n }\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, \"unmounted\");\n }, parentSuspense);\n }\n };\n const remove = (vnode) => {\n const { type, el, anchor, transition } = vnode;\n if (type === Fragment) {\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {\n vnode.children.forEach((child) => {\n if (child.type === Comment) {\n hostRemove(child.el);\n } else {\n remove(child);\n }\n });\n } else {\n removeFragment(el, anchor);\n }\n return;\n }\n if (type === Static) {\n removeStaticNode(vnode);\n return;\n }\n const performRemove = () => {\n hostRemove(el);\n if (transition && !transition.persisted && transition.afterLeave) {\n transition.afterLeave();\n }\n };\n if (vnode.shapeFlag & 1 && transition && !transition.persisted) {\n const { leave, delayLeave } = transition;\n const performLeave = () => leave(el, performRemove);\n if (delayLeave) {\n delayLeave(vnode.el, performRemove, performLeave);\n } else {\n performLeave();\n }\n } else {\n performRemove();\n }\n };\n const removeFragment = (cur, end) => {\n let next;\n while (cur !== end) {\n next = hostNextSibling(cur);\n hostRemove(cur);\n cur = next;\n }\n hostRemove(end);\n };\n const unmountComponent = (instance, parentSuspense, doRemove) => {\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n unregisterHMR(instance);\n }\n const { bum, scope, job, subTree, um, m, a } = instance;\n invalidateMount(m);\n invalidateMount(a);\n if (bum) {\n invokeArrayFns(bum);\n }\n scope.stop();\n if (job) {\n job.flags |= 8;\n unmount(subTree, instance, parentSuspense, doRemove);\n }\n if (um) {\n queuePostRenderEffect(um, parentSuspense);\n }\n queuePostRenderEffect(() => {\n instance.isUnmounted = true;\n }, parentSuspense);\n if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0) {\n parentSuspense.resolve();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentRemoved(instance);\n }\n };\n const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {\n for (let i = start; i < children.length; i++) {\n unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);\n }\n };\n const getNextHostNode = (vnode) => {\n if (vnode.shapeFlag & 6) {\n return getNextHostNode(vnode.component.subTree);\n }\n if (vnode.shapeFlag & 128) {\n return vnode.suspense.next();\n }\n const el = hostNextSibling(vnode.anchor || vnode.el);\n const teleportEnd = el && el[TeleportEndKey];\n return teleportEnd ? hostNextSibling(teleportEnd) : el;\n };\n let isFlushing = false;\n const render = (vnode, container, namespace) => {\n if (vnode == null) {\n if (container._vnode) {\n unmount(container._vnode, null, null, true);\n }\n } else {\n patch(\n container._vnode || null,\n vnode,\n container,\n null,\n null,\n null,\n namespace\n );\n }\n container._vnode = vnode;\n if (!isFlushing) {\n isFlushing = true;\n flushPreFlushCbs();\n flushPostFlushCbs();\n isFlushing = false;\n }\n };\n const internals = {\n p: patch,\n um: unmount,\n m: move,\n r: remove,\n mt: mountComponent,\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n n: getNextHostNode,\n o: options\n };\n let hydrate;\n let hydrateNode;\n if (createHydrationFns) {\n [hydrate, hydrateNode] = createHydrationFns(\n internals\n );\n }\n return {\n render,\n hydrate,\n createApp: createAppAPI(render, hydrate)\n };\n}\nfunction resolveChildrenNamespace({ type, props }, currentNamespace) {\n return currentNamespace === \"svg\" && type === \"foreignObject\" || currentNamespace === \"mathml\" && type === \"annotation-xml\" && props && props.encoding && props.encoding.includes(\"html\") ? void 0 : currentNamespace;\n}\nfunction toggleRecurse({ effect, job }, allowed) {\n if (allowed) {\n effect.flags |= 32;\n job.flags |= 4;\n } else {\n effect.flags &= ~32;\n job.flags &= ~4;\n }\n}\nfunction needTransition(parentSuspense, transition) {\n return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;\n}\nfunction traverseStaticChildren(n1, n2, shallow = false) {\n const ch1 = n1.children;\n const ch2 = n2.children;\n if (isArray(ch1) && isArray(ch2)) {\n for (let i = 0; i < ch1.length; i++) {\n const c1 = ch1[i];\n let c2 = ch2[i];\n if (c2.shapeFlag & 1 && !c2.dynamicChildren) {\n if (c2.patchFlag <= 0 || c2.patchFlag === 32) {\n c2 = ch2[i] = cloneIfMounted(ch2[i]);\n c2.el = c1.el;\n }\n if (!shallow && c2.patchFlag !== -2)\n traverseStaticChildren(c1, c2);\n }\n if (c2.type === Text) {\n c2.el = c1.el;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && c2.type === Comment && !c2.el) {\n c2.el = c1.el;\n }\n }\n }\n}\nfunction getSequence(arr) {\n const p = arr.slice();\n const result = [0];\n let i, j, u, v, c;\n const len = arr.length;\n for (i = 0; i < len; i++) {\n const arrI = arr[i];\n if (arrI !== 0) {\n j = result[result.length - 1];\n if (arr[j] < arrI) {\n p[i] = j;\n result.push(i);\n continue;\n }\n u = 0;\n v = result.length - 1;\n while (u < v) {\n c = u + v >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n } else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = result.length;\n v = result[u - 1];\n while (u-- > 0) {\n result[u] = v;\n v = p[v];\n }\n return result;\n}\nfunction locateNonHydratedAsyncRoot(instance) {\n const subComponent = instance.subTree.component;\n if (subComponent) {\n if (subComponent.asyncDep && !subComponent.asyncResolved) {\n return subComponent;\n } else {\n return locateNonHydratedAsyncRoot(subComponent);\n }\n }\n}\nfunction invalidateMount(hooks) {\n if (hooks) {\n for (let i = 0; i < hooks.length; i++)\n hooks[i].flags |= 8;\n }\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, flush, once } = options;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const baseWatchOptions = extend({}, options);\n if (!!(process.env.NODE_ENV !== \"production\")) baseWatchOptions.onWarn = warn$1;\n const runsImmediately = cb && immediate || !cb && flush !== \"post\";\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else if (!runsImmediately) {\n const watchStopHandle = () => {\n };\n watchStopHandle.stop = NOOP;\n watchStopHandle.resume = NOOP;\n watchStopHandle.pause = NOOP;\n return watchStopHandle;\n }\n }\n const instance = currentInstance;\n baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);\n let isPre = false;\n if (flush === \"post\") {\n baseWatchOptions.scheduler = (job) => {\n queuePostRenderEffect(job, instance && instance.suspense);\n };\n } else if (flush !== \"sync\") {\n isPre = true;\n baseWatchOptions.scheduler = (job, isFirstRun) => {\n if (isFirstRun) {\n job();\n } else {\n queueJob(job);\n }\n };\n }\n baseWatchOptions.augmentJob = (job) => {\n if (cb) {\n job.flags |= 4;\n }\n if (isPre) {\n job.flags |= 2;\n if (instance) {\n job.id = instance.uid;\n job.i = instance;\n }\n }\n };\n const watchHandle = watch$1(source, cb, baseWatchOptions);\n if (isInSSRComponentSetup) {\n if (ssrCleanup) {\n ssrCleanup.push(watchHandle);\n } else if (runsImmediately) {\n watchHandle();\n }\n }\n return watchHandle;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\n\nfunction useModel(props, name, options = EMPTY_OBJ) {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn$1(`useModel() called without active instance.`);\n return ref();\n }\n const camelizedName = camelize(name);\n if (!!(process.env.NODE_ENV !== \"production\") && !i.propsOptions[0][camelizedName]) {\n warn$1(`useModel() called with prop \"${name}\" which is not declared.`);\n return ref();\n }\n const hyphenatedName = hyphenate(name);\n const modifiers = getModelModifiers(props, camelizedName);\n const res = customRef((track, trigger) => {\n let localValue;\n let prevSetValue = EMPTY_OBJ;\n let prevEmittedValue;\n watchSyncEffect(() => {\n const propValue = props[camelizedName];\n if (hasChanged(localValue, propValue)) {\n localValue = propValue;\n trigger();\n }\n });\n return {\n get() {\n track();\n return options.get ? options.get(localValue) : localValue;\n },\n set(value) {\n const emittedValue = options.set ? options.set(value) : value;\n if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {\n return;\n }\n const rawProps = i.vnode.props;\n if (!(rawProps && // check if parent has passed v-model\n (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps))) {\n localValue = value;\n trigger();\n }\n i.emit(`update:${name}`, emittedValue);\n if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {\n trigger();\n }\n prevSetValue = value;\n prevEmittedValue = emittedValue;\n }\n };\n });\n res[Symbol.iterator] = () => {\n let i2 = 0;\n return {\n next() {\n if (i2 < 2) {\n return { value: i2++ ? modifiers || EMPTY_OBJ : res, done: false };\n } else {\n return { done: true };\n }\n }\n };\n };\n return res;\n}\nconst getModelModifiers = (props, modelName) => {\n return modelName === \"modelValue\" || modelName === \"model-value\" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];\n};\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted) return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(camelize(event)) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(camelize(event))}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modifiers = isModelListener && getModelModifiers(props, event.slice(7));\n if (modifiers) {\n if (modifiers.trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (modifiers.number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n props,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n const prev = setCurrentRenderingInstance(instance);\n let result;\n let fallthroughAttrs;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return shallowReadonly(attrs);\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n null\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs, false, true);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root, null, false, true);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Component inside <Transition> renders non-element root node that cannot be animated.`\n );\n }\n setTransitionHooks(root, vnode.transition);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n `<Suspense> is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) === container2) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect, optimized2) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace,\n optimized2\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(`<Suspense> slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n const suspensible = vnode.props && vnode.props.suspensible;\n return suspensible != null && suspensible !== false;\n}\n\nconst Fragment = Symbol.for(\"v-fgt\");\nconst Text = Symbol.for(\"v-txt\");\nconst Comment = Symbol.for(\"v-cmt\");\nconst Static = Symbol.for(\"v-stc\");\nconst blockStack = [];\nlet currentBlock = null;\nfunction openBlock(disableTracking = false) {\n blockStack.push(currentBlock = disableTracking ? null : []);\n}\nfunction closeBlock() {\n blockStack.pop();\n currentBlock = blockStack[blockStack.length - 1] || null;\n}\nlet isBlockTreeEnabled = 1;\nfunction setBlockTracking(value, inVOnce = false) {\n isBlockTreeEnabled += value;\n if (value < 0 && currentBlock && inVOnce) {\n currentBlock.hasOnce = true;\n }\n}\nfunction setupBlock(vnode) {\n vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;\n closeBlock();\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nfunction createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {\n return setupBlock(\n createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n true\n )\n );\n}\nfunction createBlock(type, props, children, patchFlag, dynamicProps) {\n return setupBlock(\n createVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n true\n )\n );\n}\nfunction isVNode(value) {\n return value ? value.__v_isVNode === true : false;\n}\nfunction isSameVNodeType(n1, n2) {\n if (!!(process.env.NODE_ENV !== \"production\") && n2.shapeFlag & 6 && n1.component) {\n const dirtyInstances = hmrDirtyComponents.get(n2.type);\n if (dirtyInstances && dirtyInstances.has(n1.component)) {\n n1.shapeFlag &= ~256;\n n2.shapeFlag &= ~512;\n return false;\n }\n }\n return n1.type === n2.type && n1.key === n2.key;\n}\nlet vnodeArgsTransformer;\nfunction transformVNodeArgs(transformer) {\n vnodeArgsTransformer = transformer;\n}\nconst createVNodeWithArgsTransform = (...args) => {\n return _createVNode(\n ...vnodeArgsTransformer ? vnodeArgsTransformer(args, currentRenderingInstance) : args\n );\n};\nconst normalizeKey = ({ key }) => key != null ? key : null;\nconst normalizeRef = ({\n ref,\n ref_key,\n ref_for\n}) => {\n if (typeof ref === \"number\") {\n ref = \"\" + ref;\n }\n return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;\n};\nfunction createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {\n const vnode = {\n __v_isVNode: true,\n __v_skip: true,\n type,\n props,\n key: props && normalizeKey(props),\n ref: props && normalizeRef(props),\n scopeId: currentScopeId,\n slotScopeIds: null,\n children,\n component: null,\n suspense: null,\n ssContent: null,\n ssFallback: null,\n dirs: null,\n transition: null,\n el: null,\n anchor: null,\n target: null,\n targetStart: null,\n targetAnchor: null,\n staticCount: 0,\n shapeFlag,\n patchFlag,\n dynamicProps,\n dynamicChildren: null,\n appContext: null,\n ctx: currentRenderingInstance\n };\n if (needFullChildrenNormalization) {\n normalizeChildren(vnode, children);\n if (shapeFlag & 128) {\n type.normalize(vnode);\n }\n } else if (children) {\n vnode.shapeFlag |= isString(children) ? 8 : 16;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.key !== vnode.key) {\n warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\n }\n if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself\n !isBlockNode && // has current parent block\n currentBlock && // presence of a patch flag indicates this node needs patching on updates.\n // component nodes also should always be patched, because even if the\n // component doesn't need to update, it needs to persist the instance on to\n // the next vnode so that it can be properly unmounted later.\n (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the\n // vnode should not be considered dynamic due to handler caching.\n vnode.patchFlag !== 32) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nconst createVNode = !!(process.env.NODE_ENV !== \"production\") ? createVNodeWithArgsTransform : _createVNode;\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\n if (!!(process.env.NODE_ENV !== \"production\") && !type) {\n warn$1(`Invalid vnode type when creating vnode: ${type}.`);\n }\n type = Comment;\n }\n if (isVNode(type)) {\n const cloned = cloneVNode(\n type,\n props,\n true\n /* mergeRef: true */\n );\n if (children) {\n normalizeChildren(cloned, children);\n }\n if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {\n if (cloned.shapeFlag & 6) {\n currentBlock[currentBlock.indexOf(type)] = cloned;\n } else {\n currentBlock.push(cloned);\n }\n }\n cloned.patchFlag = -2;\n return cloned;\n }\n if (isClassComponent(type)) {\n type = type.__vccOpts;\n }\n if (props) {\n props = guardReactiveProps(props);\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (isObject(style)) {\n if (isProxy(style) && !isArray(style)) {\n style = extend({}, style);\n }\n props.style = normalizeStyle(style);\n }\n }\n const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;\n if (!!(process.env.NODE_ENV !== \"production\") && shapeFlag & 4 && isProxy(type)) {\n type = toRaw(type);\n warn$1(\n `Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \\`markRaw\\` or using \\`shallowRef\\` instead of \\`ref\\`.`,\n `\nComponent that was made reactive: `,\n type\n );\n }\n return createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n isBlockNode,\n true\n );\n}\nfunction guardReactiveProps(props) {\n if (!props) return null;\n return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;\n}\nfunction cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {\n const { props, ref, patchFlag, children, transition } = vnode;\n const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;\n const cloned = {\n __v_isVNode: true,\n __v_skip: true,\n type: vnode.type,\n props: mergedProps,\n key: mergedProps && normalizeKey(mergedProps),\n ref: extraProps && extraProps.ref ? (\n // #2078 in the case of <component :is=\"vnode\" ref=\"extra\"/>\n // if the vnode itself already has a ref, cloneVNode will need to merge\n // the refs so the single vnode can be set on multiple refs\n mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)\n ) : ref,\n scopeId: vnode.scopeId,\n slotScopeIds: vnode.slotScopeIds,\n children: !!(process.env.NODE_ENV !== \"production\") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,\n target: vnode.target,\n targetStart: vnode.targetStart,\n targetAnchor: vnode.targetAnchor,\n staticCount: vnode.staticCount,\n shapeFlag: vnode.shapeFlag,\n // if the vnode is cloned with extra props, we can no longer assume its\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\n // note: preserve flag for fragments since they use the flag for children\n // fast paths only.\n patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,\n dynamicProps: vnode.dynamicProps,\n dynamicChildren: vnode.dynamicChildren,\n appContext: vnode.appContext,\n dirs: vnode.dirs,\n transition,\n // These should technically only be non-null on mounted VNodes. However,\n // they *should* be copied for kept-alive vnodes. So we just always copy\n // them since them being non-null during a mount doesn't affect the logic as\n // they will simply be overwritten.\n component: vnode.component,\n suspense: vnode.suspense,\n ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),\n ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),\n el: vnode.el,\n anchor: vnode.anchor,\n ctx: vnode.ctx,\n ce: vnode.ce\n };\n if (transition && cloneTransition) {\n setTransitionHooks(\n cloned,\n transition.clone(cloned)\n );\n }\n return cloned;\n}\nfunction deepCloneVNode(vnode) {\n const cloned = cloneVNode(vnode);\n if (isArray(vnode.children)) {\n cloned.children = vnode.children.map(deepCloneVNode);\n }\n return cloned;\n}\nfunction createTextVNode(text = \" \", flag = 0) {\n return createVNode(Text, null, text, flag);\n}\nfunction createStaticVNode(content, numberOfNodes) {\n const vnode = createVNode(Static, null, content);\n vnode.staticCount = numberOfNodes;\n return vnode;\n}\nfunction createCommentVNode(text = \"\", asBlock = false) {\n return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);\n}\nfunction normalizeVNode(child) {\n if (child == null || typeof child === \"boolean\") {\n return createVNode(Comment);\n } else if (isArray(child)) {\n return createVNode(\n Fragment,\n null,\n // #3666, avoid reference pollution when reusing vnode\n child.slice()\n );\n } else if (isVNode(child)) {\n return cloneIfMounted(child);\n } else {\n return createVNode(Text, null, String(child));\n }\n}\nfunction cloneIfMounted(child) {\n return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);\n}\nfunction normalizeChildren(vnode, children) {\n let type = 0;\n const { shapeFlag } = vnode;\n if (children == null) {\n children = null;\n } else if (isArray(children)) {\n type = 16;\n } else if (typeof children === \"object\") {\n if (shapeFlag & (1 | 64)) {\n const slot = children.default;\n if (slot) {\n slot._c && (slot._d = false);\n normalizeChildren(vnode, slot());\n slot._c && (slot._d = true);\n }\n return;\n } else {\n type = 32;\n const slotFlag = children._;\n if (!slotFlag && !isInternalObject(children)) {\n children._ctx = currentRenderingInstance;\n } else if (slotFlag === 3 && currentRenderingInstance) {\n if (currentRenderingInstance.slots._ === 1) {\n children._ = 1;\n } else {\n children._ = 2;\n vnode.patchFlag |= 1024;\n }\n }\n }\n } else if (isFunction(children)) {\n children = { default: children, _ctx: currentRenderingInstance };\n type = 32;\n } else {\n children = String(children);\n if (shapeFlag & 64) {\n type = 16;\n children = [createTextVNode(children)];\n } else {\n type = 8;\n }\n }\n vnode.children = children;\n vnode.shapeFlag |= type;\n}\nfunction mergeProps(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n const toMerge = args[i];\n for (const key in toMerge) {\n if (key === \"class\") {\n if (ret.class !== toMerge.class) {\n ret.class = normalizeClass([ret.class, toMerge.class]);\n }\n } else if (key === \"style\") {\n ret.style = normalizeStyle([ret.style, toMerge.style]);\n } else if (isOn(key)) {\n const existing = ret[key];\n const incoming = toMerge[key];\n if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {\n ret[key] = existing ? [].concat(existing, incoming) : incoming;\n }\n } else if (key !== \"\") {\n ret[key] = toMerge[key];\n }\n }\n }\n return ret;\n}\nfunction invokeVNodeHook(hook, instance, vnode, prevVNode = null) {\n callWithAsyncErrorHandling(hook, instance, 7, [\n vnode,\n prevVNode\n ]);\n}\n\nconst emptyAppContext = createAppContext();\nlet uid = 0;\nfunction createComponentInstance(vnode, parent, suspense) {\n const type = vnode.type;\n const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;\n const instance = {\n uid: uid++,\n vnode,\n type,\n parent,\n appContext,\n root: null,\n // to be immediately set\n next: null,\n subTree: null,\n // will be set synchronously right after creation\n effect: null,\n update: null,\n // will be set synchronously right after creation\n job: null,\n scope: new EffectScope(\n true\n /* detached */\n ),\n render: null,\n proxy: null,\n exposed: null,\n exposeProxy: null,\n withProxy: null,\n provides: parent ? parent.provides : Object.create(appContext.provides),\n ids: parent ? parent.ids : [\"\", 0, 0],\n accessCache: null,\n renderCache: [],\n // local resolved assets\n components: null,\n directives: null,\n // resolved props and emits options\n propsOptions: normalizePropsOptions(type, appContext),\n emitsOptions: normalizeEmitsOptions(type, appContext),\n // emit\n emit: null,\n // to be set immediately\n emitted: null,\n // props default value\n propsDefaults: EMPTY_OBJ,\n // inheritAttrs\n inheritAttrs: type.inheritAttrs,\n // state\n ctx: EMPTY_OBJ,\n data: EMPTY_OBJ,\n props: EMPTY_OBJ,\n attrs: EMPTY_OBJ,\n slots: EMPTY_OBJ,\n refs: EMPTY_OBJ,\n setupState: EMPTY_OBJ,\n setupContext: null,\n // suspense related\n suspense,\n suspenseId: suspense ? suspense.pendingId : 0,\n asyncDep: null,\n asyncResolved: false,\n // lifecycle hooks\n // not using enums here because it results in computed properties\n isMounted: false,\n isUnmounted: false,\n isDeactivated: false,\n bc: null,\n c: null,\n bm: null,\n m: null,\n bu: null,\n u: null,\n um: null,\n bum: null,\n da: null,\n a: null,\n rtg: null,\n rtc: null,\n ec: null,\n sp: null\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ctx = createDevRenderContext(instance);\n } else {\n instance.ctx = { _: instance };\n }\n instance.root = parent ? parent.root : instance;\n instance.emit = emit.bind(null, instance);\n if (vnode.ce) {\n vnode.ce(instance);\n }\n return instance;\n}\nlet currentInstance = null;\nconst getCurrentInstance = () => currentInstance || currentRenderingInstance;\nlet internalSetCurrentInstance;\nlet setInSSRSetupState;\n{\n const g = getGlobalThis();\n const registerGlobalSetter = (key, setter) => {\n let setters;\n if (!(setters = g[key])) setters = g[key] = [];\n setters.push(setter);\n return (v) => {\n if (setters.length > 1) setters.forEach((set) => set(v));\n else setters[0](v);\n };\n };\n internalSetCurrentInstance = registerGlobalSetter(\n `__VUE_INSTANCE_SETTERS__`,\n (v) => currentInstance = v\n );\n setInSSRSetupState = registerGlobalSetter(\n `__VUE_SSR_SETTERS__`,\n (v) => isInSSRComponentSetup = v\n );\n}\nconst setCurrentInstance = (instance) => {\n const prev = currentInstance;\n internalSetCurrentInstance(instance);\n instance.scope.on();\n return () => {\n instance.scope.off();\n internalSetCurrentInstance(prev);\n };\n};\nconst unsetCurrentInstance = () => {\n currentInstance && currentInstance.scope.off();\n internalSetCurrentInstance(null);\n};\nconst isBuiltInTag = /* @__PURE__ */ makeMap(\"slot,component\");\nfunction validateComponentName(name, { isNativeTag }) {\n if (isBuiltInTag(name) || isNativeTag(name)) {\n warn$1(\n \"Do not use built-in or reserved HTML elements as component id: \" + name\n );\n }\n}\nfunction isStatefulComponent(instance) {\n return instance.vnode.shapeFlag & 4;\n}\nlet isInSSRComponentSetup = false;\nfunction setupComponent(instance, isSSR = false, optimized = false) {\n isSSR && setInSSRSetupState(isSSR);\n const { props, children } = instance.vnode;\n const isStateful = isStatefulComponent(instance);\n initProps(instance, props, isStateful, isSSR);\n initSlots(instance, children, optimized);\n const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;\n isSSR && setInSSRSetupState(false);\n return setupResult;\n}\nfunction setupStatefulComponent(instance, isSSR) {\n var _a;\n const Component = instance.type;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (Component.name) {\n validateComponentName(Component.name, instance.appContext.config);\n }\n if (Component.components) {\n const names = Object.keys(Component.components);\n for (let i = 0; i < names.length; i++) {\n validateComponentName(names[i], instance.appContext.config);\n }\n }\n if (Component.directives) {\n const names = Object.keys(Component.directives);\n for (let i = 0; i < names.length; i++) {\n validateDirectiveName(names[i]);\n }\n }\n if (Component.compilerOptions && isRuntimeOnly()) {\n warn$1(\n `\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`\n );\n }\n }\n instance.accessCache = /* @__PURE__ */ Object.create(null);\n instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposePropsOnRenderContext(instance);\n }\n const { setup } = Component;\n if (setup) {\n pauseTracking();\n const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;\n const reset = setCurrentInstance(instance);\n const setupResult = callWithErrorHandling(\n setup,\n instance,\n 0,\n [\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(instance.props) : instance.props,\n setupContext\n ]\n );\n const isAsyncSetup = isPromise(setupResult);\n resetTracking();\n reset();\n if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) {\n markAsyncBoundary(instance);\n }\n if (isAsyncSetup) {\n setupResult.then(unsetCurrentInstance, unsetCurrentInstance);\n if (isSSR) {\n return setupResult.then((resolvedResult) => {\n handleSetupResult(instance, resolvedResult, isSSR);\n }).catch((e) => {\n handleError(e, instance, 0);\n });\n } else {\n instance.asyncDep = setupResult;\n if (!!(process.env.NODE_ENV !== \"production\") && !instance.suspense) {\n const name = (_a = Component.name) != null ? _a : \"Anonymous\";\n warn$1(\n `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`\n );\n }\n }\n } else {\n handleSetupResult(instance, setupResult, isSSR);\n }\n } else {\n finishComponentSetup(instance, isSSR);\n }\n}\nfunction handleSetupResult(instance, setupResult, isSSR) {\n if (isFunction(setupResult)) {\n if (instance.type.__ssrInlineRender) {\n instance.ssrRender = setupResult;\n } else {\n instance.render = setupResult;\n }\n } else if (isObject(setupResult)) {\n if (!!(process.env.NODE_ENV !== \"production\") && isVNode(setupResult)) {\n warn$1(\n `setup() should not return VNodes directly - return a render function instead.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.devtoolsRawSetupState = setupResult;\n }\n instance.setupState = proxyRefs(setupResult);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposeSetupStateOnRenderContext(instance);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupResult !== void 0) {\n warn$1(\n `setup() should return an object. Received: ${setupResult === null ? \"null\" : typeof setupResult}`\n );\n }\n finishComponentSetup(instance, isSSR);\n}\nlet compile;\nlet installWithProxy;\nfunction registerRuntimeCompiler(_compile) {\n compile = _compile;\n installWithProxy = (i) => {\n if (i.render._rc) {\n i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);\n }\n };\n}\nconst isRuntimeOnly = () => !compile;\nfunction finishComponentSetup(instance, isSSR, skipOptions) {\n const Component = instance.type;\n if (!instance.render) {\n if (!isSSR && compile && !Component.render) {\n const template = Component.template || __VUE_OPTIONS_API__ && resolveMergedOptions(instance).template;\n if (template) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `compile`);\n }\n const { isCustomElement, compilerOptions } = instance.appContext.config;\n const { delimiters, compilerOptions: componentCompilerOptions } = Component;\n const finalCompilerOptions = extend(\n extend(\n {\n isCustomElement,\n delimiters\n },\n compilerOptions\n ),\n componentCompilerOptions\n );\n Component.render = compile(template, finalCompilerOptions);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `compile`);\n }\n }\n }\n instance.render = Component.render || NOOP;\n if (installWithProxy) {\n installWithProxy(instance);\n }\n }\n if (__VUE_OPTIONS_API__ && true) {\n const reset = setCurrentInstance(instance);\n pauseTracking();\n try {\n applyOptions(instance);\n } finally {\n resetTracking();\n reset();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !Component.render && instance.render === NOOP && !isSSR) {\n if (!compile && Component.template) {\n warn$1(\n `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n } else {\n warn$1(`Component is missing template or render function: `, Component);\n }\n }\n}\nconst attrsProxyHandlers = !!(process.env.NODE_ENV !== \"production\") ? {\n get(target, key) {\n markAttrsAccessed();\n track(target, \"get\", \"\");\n return target[key];\n },\n set() {\n warn$1(`setupContext.attrs is readonly.`);\n return false;\n },\n deleteProperty() {\n warn$1(`setupContext.attrs is readonly.`);\n return false;\n }\n} : {\n get(target, key) {\n track(target, \"get\", \"\");\n return target[key];\n }\n};\nfunction getSlotsProxy(instance) {\n return new Proxy(instance.slots, {\n get(target, key) {\n track(instance, \"get\", \"$slots\");\n return target[key];\n }\n });\n}\nfunction createSetupContext(instance) {\n const expose = (exposed) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (instance.exposed) {\n warn$1(`expose() should be called only once per setup().`);\n }\n if (exposed != null) {\n let exposedType = typeof exposed;\n if (exposedType === \"object\") {\n if (isArray(exposed)) {\n exposedType = \"array\";\n } else if (isRef(exposed)) {\n exposedType = \"ref\";\n }\n }\n if (exposedType !== \"object\") {\n warn$1(\n `expose() should be passed a plain object, received ${exposedType}.`\n );\n }\n }\n }\n instance.exposed = exposed || {};\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n let attrsProxy;\n let slotsProxy;\n return Object.freeze({\n get attrs() {\n return attrsProxy || (attrsProxy = new Proxy(instance.attrs, attrsProxyHandlers));\n },\n get slots() {\n return slotsProxy || (slotsProxy = getSlotsProxy(instance));\n },\n get emit() {\n return (event, ...args) => instance.emit(event, ...args);\n },\n expose\n });\n } else {\n return {\n attrs: new Proxy(instance.attrs, attrsProxyHandlers),\n slots: instance.slots,\n emit: instance.emit,\n expose\n };\n }\n}\nfunction getComponentPublicInstance(instance) {\n if (instance.exposed) {\n return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {\n get(target, key) {\n if (key in target) {\n return target[key];\n } else if (key in publicPropertiesMap) {\n return publicPropertiesMap[key](instance);\n }\n },\n has(target, key) {\n return key in target || key in publicPropertiesMap;\n }\n }));\n } else {\n return instance.proxy;\n }\n}\nconst classifyRE = /(?:^|[-_])(\\w)/g;\nconst classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, \"\");\nfunction getComponentName(Component, includeInferred = true) {\n return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;\n}\nfunction formatComponentName(instance, Component, isRoot = false) {\n let name = getComponentName(Component);\n if (!name && Component.__file) {\n const match = Component.__file.match(/([^/\\\\]+)\\.\\w+$/);\n if (match) {\n name = match[1];\n }\n }\n if (!name && instance && instance.parent) {\n const inferFromRegistry = (registry) => {\n for (const key in registry) {\n if (registry[key] === Component) {\n return key;\n }\n }\n };\n name = inferFromRegistry(\n instance.components || instance.parent.type.components\n ) || inferFromRegistry(instance.appContext.components);\n }\n return name ? classify(name) : isRoot ? `App` : `Anonymous`;\n}\nfunction isClassComponent(value) {\n return isFunction(value) && \"__vccOpts\" in value;\n}\n\nconst computed = (getterOrOptions, debugOptions) => {\n const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const i = getCurrentInstance();\n if (i && i.appContext.config.warnRecursiveComputed) {\n c._warnRecursive = true;\n }\n }\n return c;\n};\n\nfunction h(type, propsOrChildren, children) {\n const l = arguments.length;\n if (l === 2) {\n if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {\n if (isVNode(propsOrChildren)) {\n return createVNode(type, null, [propsOrChildren]);\n }\n return createVNode(type, propsOrChildren);\n } else {\n return createVNode(type, null, propsOrChildren);\n }\n } else {\n if (l > 3) {\n children = Array.prototype.slice.call(arguments, 2);\n } else if (l === 3 && isVNode(children)) {\n children = [children];\n }\n return createVNode(type, propsOrChildren, children);\n }\n}\n\nfunction initCustomFormatter() {\n if (!!!(process.env.NODE_ENV !== \"production\") || typeof window === \"undefined\") {\n return;\n }\n const vueStyle = { style: \"color:#3ba776\" };\n const numberStyle = { style: \"color:#1677ff\" };\n const stringStyle = { style: \"color:#f5222d\" };\n const keywordStyle = { style: \"color:#eb2f96\" };\n const formatter = {\n __vue_custom_formatter: true,\n header(obj) {\n if (!isObject(obj)) {\n return null;\n }\n if (obj.__isVue) {\n return [\"div\", vueStyle, `VueInstance`];\n } else if (isRef(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, genRefFlag(obj)],\n \"<\",\n // avoid debugger accessing value affecting behavior\n formatValue(\"_value\" in obj ? obj._value : obj),\n `>`\n ];\n } else if (isReactive(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReactive\" : \"Reactive\"],\n \"<\",\n formatValue(obj),\n `>${isReadonly(obj) ? ` (readonly)` : ``}`\n ];\n } else if (isReadonly(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReadonly\" : \"Readonly\"],\n \"<\",\n formatValue(obj),\n \">\"\n ];\n }\n return null;\n },\n hasBody(obj) {\n return obj && obj.__isVue;\n },\n body(obj) {\n if (obj && obj.__isVue) {\n return [\n \"div\",\n {},\n ...formatInstance(obj.$)\n ];\n }\n }\n };\n function formatInstance(instance) {\n const blocks = [];\n if (instance.type.props && instance.props) {\n blocks.push(createInstanceBlock(\"props\", toRaw(instance.props)));\n }\n if (instance.setupState !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"setup\", instance.setupState));\n }\n if (instance.data !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"data\", toRaw(instance.data)));\n }\n const computed = extractKeys(instance, \"computed\");\n if (computed) {\n blocks.push(createInstanceBlock(\"computed\", computed));\n }\n const injected = extractKeys(instance, \"inject\");\n if (injected) {\n blocks.push(createInstanceBlock(\"injected\", injected));\n }\n blocks.push([\n \"div\",\n {},\n [\n \"span\",\n {\n style: keywordStyle.style + \";opacity:0.66\"\n },\n \"$ (internal): \"\n ],\n [\"object\", { object: instance }]\n ]);\n return blocks;\n }\n function createInstanceBlock(type, target) {\n target = extend({}, target);\n if (!Object.keys(target).length) {\n return [\"span\", {}];\n }\n return [\n \"div\",\n { style: \"line-height:1.25em;margin-bottom:0.6em\" },\n [\n \"div\",\n {\n style: \"color:#476582\"\n },\n type\n ],\n [\n \"div\",\n {\n style: \"padding-left:1.25em\"\n },\n ...Object.keys(target).map((key) => {\n return [\n \"div\",\n {},\n [\"span\", keywordStyle, key + \": \"],\n formatValue(target[key], false)\n ];\n })\n ]\n ];\n }\n function formatValue(v, asRaw = true) {\n if (typeof v === \"number\") {\n return [\"span\", numberStyle, v];\n } else if (typeof v === \"string\") {\n return [\"span\", stringStyle, JSON.stringify(v)];\n } else if (typeof v === \"boolean\") {\n return [\"span\", keywordStyle, v];\n } else if (isObject(v)) {\n return [\"object\", { object: asRaw ? toRaw(v) : v }];\n } else {\n return [\"span\", stringStyle, String(v)];\n }\n }\n function extractKeys(instance, type) {\n const Comp = instance.type;\n if (isFunction(Comp)) {\n return;\n }\n const extracted = {};\n for (const key in instance.ctx) {\n if (isKeyOfType(Comp, key, type)) {\n extracted[key] = instance.ctx[key];\n }\n }\n return extracted;\n }\n function isKeyOfType(Comp, key, type) {\n const opts = Comp[type];\n if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) {\n return true;\n }\n if (Comp.extends && isKeyOfType(Comp.extends, key, type)) {\n return true;\n }\n if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) {\n return true;\n }\n }\n function genRefFlag(v) {\n if (isShallow(v)) {\n return `ShallowRef`;\n }\n if (v.effect) {\n return `ComputedRef`;\n }\n return `Ref`;\n }\n if (window.devtoolsFormatters) {\n window.devtoolsFormatters.push(formatter);\n } else {\n window.devtoolsFormatters = [formatter];\n }\n}\n\nfunction withMemo(memo, render, cache, index) {\n const cached = cache[index];\n if (cached && isMemoSame(cached, memo)) {\n return cached;\n }\n const ret = render();\n ret.memo = memo.slice();\n ret.cacheIndex = index;\n return cache[index] = ret;\n}\nfunction isMemoSame(cached, memo) {\n const prev = cached.memo;\n if (prev.length != memo.length) {\n return false;\n }\n for (let i = 0; i < prev.length; i++) {\n if (hasChanged(prev[i], memo[i])) {\n return false;\n }\n }\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(cached);\n }\n return true;\n}\n\nconst version = \"3.5.13\";\nconst warn = !!(process.env.NODE_ENV !== \"production\") ? warn$1 : NOOP;\nconst ErrorTypeStrings = ErrorTypeStrings$1 ;\nconst devtools = !!(process.env.NODE_ENV !== \"production\") || true ? devtools$1 : void 0;\nconst setDevtoolsHook = !!(process.env.NODE_ENV !== \"production\") || true ? setDevtoolsHook$1 : NOOP;\nconst _ssrUtils = {\n createComponentInstance,\n setupComponent,\n renderComponentRoot,\n setCurrentRenderingInstance,\n isVNode: isVNode,\n normalizeVNode,\n getComponentPublicInstance,\n ensureValidVNode,\n pushWarningContext,\n popWarningContext\n};\nconst ssrUtils = _ssrUtils ;\nconst resolveFilter = null;\nconst compatUtils = null;\nconst DeprecationTypes = null;\n\nexport { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeModels, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useId, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };\n","/**\n* @vue/runtime-dom v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { warn, h, BaseTransition, assertNumber, BaseTransitionPropsValidators, getCurrentInstance, onBeforeUpdate, queuePostFlushCb, onMounted, watch, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, unref, createVNode, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, Text, isRuntimeOnly, createRenderer, createHydrationRenderer } from '@vue/runtime-core';\nexport * from '@vue/runtime-core';\nimport { extend, isObject, toNumber, isArray, NOOP, isString, hyphenate, capitalize, includeBooleanAttr, isSymbol, isSpecialBooleanAttr, isFunction, isOn, isModelListener, camelize as camelize$1, isPlainObject, hasOwn, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';\n\nlet policy = void 0;\nconst tt = typeof window !== \"undefined\" && window.trustedTypes;\nif (tt) {\n try {\n policy = /* @__PURE__ */ tt.createPolicy(\"vue\", {\n createHTML: (val) => val\n });\n } catch (e) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Error creating trusted types policy: ${e}`);\n }\n}\nconst unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;\nconst svgNS = \"http://www.w3.org/2000/svg\";\nconst mathmlNS = \"http://www.w3.org/1998/Math/MathML\";\nconst doc = typeof document !== \"undefined\" ? document : null;\nconst templateContainer = doc && /* @__PURE__ */ doc.createElement(\"template\");\nconst nodeOps = {\n insert: (child, parent, anchor) => {\n parent.insertBefore(child, anchor || null);\n },\n remove: (child) => {\n const parent = child.parentNode;\n if (parent) {\n parent.removeChild(child);\n }\n },\n createElement: (tag, namespace, is, props) => {\n const el = namespace === \"svg\" ? doc.createElementNS(svgNS, tag) : namespace === \"mathml\" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag);\n if (tag === \"select\" && props && props.multiple != null) {\n el.setAttribute(\"multiple\", props.multiple);\n }\n return el;\n },\n createText: (text) => doc.createTextNode(text),\n createComment: (text) => doc.createComment(text),\n setText: (node, text) => {\n node.nodeValue = text;\n },\n setElementText: (el, text) => {\n el.textContent = text;\n },\n parentNode: (node) => node.parentNode,\n nextSibling: (node) => node.nextSibling,\n querySelector: (selector) => doc.querySelector(selector),\n setScopeId(el, id) {\n el.setAttribute(id, \"\");\n },\n // __UNSAFE__\n // Reason: innerHTML.\n // Static content here can only come from compiled templates.\n // As long as the user only uses trusted templates, this is safe.\n insertStaticContent(content, parent, anchor, namespace, start, end) {\n const before = anchor ? anchor.previousSibling : parent.lastChild;\n if (start && (start === end || start.nextSibling)) {\n while (true) {\n parent.insertBefore(start.cloneNode(true), anchor);\n if (start === end || !(start = start.nextSibling)) break;\n }\n } else {\n templateContainer.innerHTML = unsafeToTrustedHTML(\n namespace === \"svg\" ? `<svg>${content}</svg>` : namespace === \"mathml\" ? `<math>${content}</math>` : content\n );\n const template = templateContainer.content;\n if (namespace === \"svg\" || namespace === \"mathml\") {\n const wrapper = template.firstChild;\n while (wrapper.firstChild) {\n template.appendChild(wrapper.firstChild);\n }\n template.removeChild(wrapper);\n }\n parent.insertBefore(template, anchor);\n }\n return [\n // first\n before ? before.nextSibling : parent.firstChild,\n // last\n anchor ? anchor.previousSibling : parent.lastChild\n ];\n }\n};\n\nconst TRANSITION = \"transition\";\nconst ANIMATION = \"animation\";\nconst vtcKey = Symbol(\"_vtc\");\nconst DOMTransitionPropsValidators = {\n name: String,\n type: String,\n css: {\n type: Boolean,\n default: true\n },\n duration: [String, Number, Object],\n enterFromClass: String,\n enterActiveClass: String,\n enterToClass: String,\n appearFromClass: String,\n appearActiveClass: String,\n appearToClass: String,\n leaveFromClass: String,\n leaveActiveClass: String,\n leaveToClass: String\n};\nconst TransitionPropsValidators = /* @__PURE__ */ extend(\n {},\n BaseTransitionPropsValidators,\n DOMTransitionPropsValidators\n);\nconst decorate$1 = (t) => {\n t.displayName = \"Transition\";\n t.props = TransitionPropsValidators;\n return t;\n};\nconst Transition = /* @__PURE__ */ decorate$1(\n (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots)\n);\nconst callHook = (hook, args = []) => {\n if (isArray(hook)) {\n hook.forEach((h2) => h2(...args));\n } else if (hook) {\n hook(...args);\n }\n};\nconst hasExplicitCallback = (hook) => {\n return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;\n};\nfunction resolveTransitionProps(rawProps) {\n const baseProps = {};\n for (const key in rawProps) {\n if (!(key in DOMTransitionPropsValidators)) {\n baseProps[key] = rawProps[key];\n }\n }\n if (rawProps.css === false) {\n return baseProps;\n }\n const {\n name = \"v\",\n type,\n duration,\n enterFromClass = `${name}-enter-from`,\n enterActiveClass = `${name}-enter-active`,\n enterToClass = `${name}-enter-to`,\n appearFromClass = enterFromClass,\n appearActiveClass = enterActiveClass,\n appearToClass = enterToClass,\n leaveFromClass = `${name}-leave-from`,\n leaveActiveClass = `${name}-leave-active`,\n leaveToClass = `${name}-leave-to`\n } = rawProps;\n const durations = normalizeDuration(duration);\n const enterDuration = durations && durations[0];\n const leaveDuration = durations && durations[1];\n const {\n onBeforeEnter,\n onEnter,\n onEnterCancelled,\n onLeave,\n onLeaveCancelled,\n onBeforeAppear = onBeforeEnter,\n onAppear = onEnter,\n onAppearCancelled = onEnterCancelled\n } = baseProps;\n const finishEnter = (el, isAppear, done, isCancelled) => {\n el._enterCancelled = isCancelled;\n removeTransitionClass(el, isAppear ? appearToClass : enterToClass);\n removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);\n done && done();\n };\n const finishLeave = (el, done) => {\n el._isLeaving = false;\n removeTransitionClass(el, leaveFromClass);\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n done && done();\n };\n const makeEnterHook = (isAppear) => {\n return (el, done) => {\n const hook = isAppear ? onAppear : onEnter;\n const resolve = () => finishEnter(el, isAppear, done);\n callHook(hook, [el, resolve]);\n nextFrame(() => {\n removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);\n addTransitionClass(el, isAppear ? appearToClass : enterToClass);\n if (!hasExplicitCallback(hook)) {\n whenTransitionEnds(el, type, enterDuration, resolve);\n }\n });\n };\n };\n return extend(baseProps, {\n onBeforeEnter(el) {\n callHook(onBeforeEnter, [el]);\n addTransitionClass(el, enterFromClass);\n addTransitionClass(el, enterActiveClass);\n },\n onBeforeAppear(el) {\n callHook(onBeforeAppear, [el]);\n addTransitionClass(el, appearFromClass);\n addTransitionClass(el, appearActiveClass);\n },\n onEnter: makeEnterHook(false),\n onAppear: makeEnterHook(true),\n onLeave(el, done) {\n el._isLeaving = true;\n const resolve = () => finishLeave(el, done);\n addTransitionClass(el, leaveFromClass);\n if (!el._enterCancelled) {\n forceReflow();\n addTransitionClass(el, leaveActiveClass);\n } else {\n addTransitionClass(el, leaveActiveClass);\n forceReflow();\n }\n nextFrame(() => {\n if (!el._isLeaving) {\n return;\n }\n removeTransitionClass(el, leaveFromClass);\n addTransitionClass(el, leaveToClass);\n if (!hasExplicitCallback(onLeave)) {\n whenTransitionEnds(el, type, leaveDuration, resolve);\n }\n });\n callHook(onLeave, [el, resolve]);\n },\n onEnterCancelled(el) {\n finishEnter(el, false, void 0, true);\n callHook(onEnterCancelled, [el]);\n },\n onAppearCancelled(el) {\n finishEnter(el, true, void 0, true);\n callHook(onAppearCancelled, [el]);\n },\n onLeaveCancelled(el) {\n finishLeave(el);\n callHook(onLeaveCancelled, [el]);\n }\n });\n}\nfunction normalizeDuration(duration) {\n if (duration == null) {\n return null;\n } else if (isObject(duration)) {\n return [NumberOf(duration.enter), NumberOf(duration.leave)];\n } else {\n const n = NumberOf(duration);\n return [n, n];\n }\n}\nfunction NumberOf(val) {\n const res = toNumber(val);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(res, \"<transition> explicit duration\");\n }\n return res;\n}\nfunction addTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.add(c));\n (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);\n}\nfunction removeTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.remove(c));\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.delete(cls);\n if (!_vtc.size) {\n el[vtcKey] = void 0;\n }\n }\n}\nfunction nextFrame(cb) {\n requestAnimationFrame(() => {\n requestAnimationFrame(cb);\n });\n}\nlet endId = 0;\nfunction whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {\n const id = el._endId = ++endId;\n const resolveIfNotStale = () => {\n if (id === el._endId) {\n resolve();\n }\n };\n if (explicitTimeout != null) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n const { type, timeout, propCount } = getTransitionInfo(el, expectedType);\n if (!type) {\n return resolve();\n }\n const endEvent = type + \"end\";\n let ended = 0;\n const end = () => {\n el.removeEventListener(endEvent, onEnd);\n resolveIfNotStale();\n };\n const onEnd = (e) => {\n if (e.target === el && ++ended >= propCount) {\n end();\n }\n };\n setTimeout(() => {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(endEvent, onEnd);\n}\nfunction getTransitionInfo(el, expectedType) {\n const styles = window.getComputedStyle(el);\n const getStyleProperties = (key) => (styles[key] || \"\").split(\", \");\n const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);\n const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);\n const transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n const animationDelays = getStyleProperties(`${ANIMATION}Delay`);\n const animationDurations = getStyleProperties(`${ANIMATION}Duration`);\n const animationTimeout = getTimeout(animationDelays, animationDurations);\n let type = null;\n let timeout = 0;\n let propCount = 0;\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 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;\n propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;\n }\n const hasTransform = type === TRANSITION && /\\b(transform|all)(,|$)/.test(\n getStyleProperties(`${TRANSITION}Property`).toString()\n );\n return {\n type,\n timeout,\n propCount,\n hasTransform\n };\n}\nfunction getTimeout(delays, durations) {\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));\n}\nfunction toMs(s) {\n if (s === \"auto\") return 0;\n return Number(s.slice(0, -1).replace(\",\", \".\")) * 1e3;\n}\nfunction forceReflow() {\n return document.body.offsetHeight;\n}\n\nfunction patchClass(el, value, isSVG) {\n const transitionClasses = el[vtcKey];\n if (transitionClasses) {\n value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(\" \");\n }\n if (value == null) {\n el.removeAttribute(\"class\");\n } else if (isSVG) {\n el.setAttribute(\"class\", value);\n } else {\n el.className = value;\n }\n}\n\nconst vShowOriginalDisplay = Symbol(\"_vod\");\nconst vShowHidden = Symbol(\"_vsh\");\nconst vShow = {\n beforeMount(el, { value }, { transition }) {\n el[vShowOriginalDisplay] = el.style.display === \"none\" ? \"\" : el.style.display;\n if (transition && value) {\n transition.beforeEnter(el);\n } else {\n setDisplay(el, value);\n }\n },\n mounted(el, { value }, { transition }) {\n if (transition && value) {\n transition.enter(el);\n }\n },\n updated(el, { value, oldValue }, { transition }) {\n if (!value === !oldValue) return;\n if (transition) {\n if (value) {\n transition.beforeEnter(el);\n setDisplay(el, true);\n transition.enter(el);\n } else {\n transition.leave(el, () => {\n setDisplay(el, false);\n });\n }\n } else {\n setDisplay(el, value);\n }\n },\n beforeUnmount(el, { value }) {\n setDisplay(el, value);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\")) {\n vShow.name = \"show\";\n}\nfunction setDisplay(el, value) {\n el.style.display = value ? el[vShowOriginalDisplay] : \"none\";\n el[vShowHidden] = !value;\n}\nfunction initVShowForSSR() {\n vShow.getSSRProps = ({ value }) => {\n if (!value) {\n return { style: { display: \"none\" } };\n }\n };\n}\n\nconst CSS_VAR_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"CSS_VAR_TEXT\" : \"\");\nfunction useCssVars(getter) {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\n return;\n }\n const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {\n Array.from(\n document.querySelectorAll(`[data-v-owner=\"${instance.uid}\"]`)\n ).forEach((node) => setVarsOnNode(node, vars));\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.getCssVars = () => getter(instance.proxy);\n }\n const setVars = () => {\n const vars = getter(instance.proxy);\n if (instance.ce) {\n setVarsOnNode(instance.ce, vars);\n } else {\n setVarsOnVNode(instance.subTree, vars);\n }\n updateTeleports(vars);\n };\n onBeforeUpdate(() => {\n queuePostFlushCb(setVars);\n });\n onMounted(() => {\n watch(setVars, NOOP, { flush: \"post\" });\n const ob = new MutationObserver(setVars);\n ob.observe(instance.subTree.el.parentNode, { childList: true });\n onUnmounted(() => ob.disconnect());\n });\n}\nfunction setVarsOnVNode(vnode, vars) {\n if (vnode.shapeFlag & 128) {\n const suspense = vnode.suspense;\n vnode = suspense.activeBranch;\n if (suspense.pendingBranch && !suspense.isHydrating) {\n suspense.effects.push(() => {\n setVarsOnVNode(suspense.activeBranch, vars);\n });\n }\n }\n while (vnode.component) {\n vnode = vnode.component.subTree;\n }\n if (vnode.shapeFlag & 1 && vnode.el) {\n setVarsOnNode(vnode.el, vars);\n } else if (vnode.type === Fragment) {\n vnode.children.forEach((c) => setVarsOnVNode(c, vars));\n } else if (vnode.type === Static) {\n let { el, anchor } = vnode;\n while (el) {\n setVarsOnNode(el, vars);\n if (el === anchor) break;\n el = el.nextSibling;\n }\n }\n}\nfunction setVarsOnNode(el, vars) {\n if (el.nodeType === 1) {\n const style = el.style;\n let cssText = \"\";\n for (const key in vars) {\n style.setProperty(`--${key}`, vars[key]);\n cssText += `--${key}: ${vars[key]};`;\n }\n style[CSS_VAR_TEXT] = cssText;\n }\n}\n\nconst displayRE = /(^|;)\\s*display\\s*:/;\nfunction patchStyle(el, prev, next) {\n const style = el.style;\n const isCssString = isString(next);\n let hasControlledDisplay = false;\n if (next && !isCssString) {\n if (prev) {\n if (!isString(prev)) {\n for (const key in prev) {\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n } else {\n for (const prevStyle of prev.split(\";\")) {\n const key = prevStyle.slice(0, prevStyle.indexOf(\":\")).trim();\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n }\n }\n for (const key in next) {\n if (key === \"display\") {\n hasControlledDisplay = true;\n }\n setStyle(style, key, next[key]);\n }\n } else {\n if (isCssString) {\n if (prev !== next) {\n const cssVarText = style[CSS_VAR_TEXT];\n if (cssVarText) {\n next += \";\" + cssVarText;\n }\n style.cssText = next;\n hasControlledDisplay = displayRE.test(next);\n }\n } else if (prev) {\n el.removeAttribute(\"style\");\n }\n }\n if (vShowOriginalDisplay in el) {\n el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : \"\";\n if (el[vShowHidden]) {\n style.display = \"none\";\n }\n }\n}\nconst semicolonRE = /[^\\\\];\\s*$/;\nconst importantRE = /\\s*!important$/;\nfunction setStyle(style, name, val) {\n if (isArray(val)) {\n val.forEach((v) => setStyle(style, name, v));\n } else {\n if (val == null) val = \"\";\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (semicolonRE.test(val)) {\n warn(\n `Unexpected semicolon at the end of '${name}' style value: '${val}'`\n );\n }\n }\n if (name.startsWith(\"--\")) {\n style.setProperty(name, val);\n } else {\n const prefixed = autoPrefix(style, name);\n if (importantRE.test(val)) {\n style.setProperty(\n hyphenate(prefixed),\n val.replace(importantRE, \"\"),\n \"important\"\n );\n } else {\n style[prefixed] = val;\n }\n }\n }\n}\nconst prefixes = [\"Webkit\", \"Moz\", \"ms\"];\nconst prefixCache = {};\nfunction autoPrefix(style, rawName) {\n const cached = prefixCache[rawName];\n if (cached) {\n return cached;\n }\n let name = camelize(rawName);\n if (name !== \"filter\" && name in style) {\n return prefixCache[rawName] = name;\n }\n name = capitalize(name);\n for (let i = 0; i < prefixes.length; i++) {\n const prefixed = prefixes[i] + name;\n if (prefixed in style) {\n return prefixCache[rawName] = prefixed;\n }\n }\n return rawName;\n}\n\nconst xlinkNS = \"http://www.w3.org/1999/xlink\";\nfunction patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {\n if (isSVG && key.startsWith(\"xlink:\")) {\n if (value == null) {\n el.removeAttributeNS(xlinkNS, key.slice(6, key.length));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n if (value == null || isBoolean && !includeBooleanAttr(value)) {\n el.removeAttribute(key);\n } else {\n el.setAttribute(\n key,\n isBoolean ? \"\" : isSymbol(value) ? String(value) : value\n );\n }\n }\n}\n\nfunction patchDOMProp(el, key, value, parentComponent, attrName) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n if (value != null) {\n el[key] = key === \"innerHTML\" ? unsafeToTrustedHTML(value) : value;\n }\n return;\n }\n const tag = el.tagName;\n if (key === \"value\" && tag !== \"PROGRESS\" && // custom elements may use _value internally\n !tag.includes(\"-\")) {\n const oldValue = tag === \"OPTION\" ? el.getAttribute(\"value\") || \"\" : el.value;\n const newValue = value == null ? (\n // #11647: value should be set as empty string for null and undefined,\n // but <input type=\"checkbox\"> should be set as 'on'.\n el.type === \"checkbox\" ? \"on\" : \"\"\n ) : String(value);\n if (oldValue !== newValue || !(\"_value\" in el)) {\n el.value = newValue;\n }\n if (value == null) {\n el.removeAttribute(key);\n }\n el._value = value;\n return;\n }\n let needRemove = false;\n if (value === \"\" || value == null) {\n const type = typeof el[key];\n if (type === \"boolean\") {\n value = includeBooleanAttr(value);\n } else if (value == null && type === \"string\") {\n value = \"\";\n needRemove = true;\n } else if (type === \"number\") {\n value = 0;\n needRemove = true;\n }\n }\n try {\n el[key] = value;\n } catch (e) {\n if (!!(process.env.NODE_ENV !== \"production\") && !needRemove) {\n warn(\n `Failed setting prop \"${key}\" on <${tag.toLowerCase()}>: value ${value} is invalid.`,\n e\n );\n }\n }\n needRemove && el.removeAttribute(attrName || key);\n}\n\nfunction addEventListener(el, event, handler, options) {\n el.addEventListener(event, handler, options);\n}\nfunction removeEventListener(el, event, handler, options) {\n el.removeEventListener(event, handler, options);\n}\nconst veiKey = Symbol(\"_vei\");\nfunction patchEvent(el, rawName, prevValue, nextValue, instance = null) {\n const invokers = el[veiKey] || (el[veiKey] = {});\n const existingInvoker = invokers[rawName];\n if (nextValue && existingInvoker) {\n existingInvoker.value = !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue;\n } else {\n const [name, options] = parseName(rawName);\n if (nextValue) {\n const invoker = invokers[rawName] = createInvoker(\n !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue,\n instance\n );\n addEventListener(el, name, invoker, options);\n } else if (existingInvoker) {\n removeEventListener(el, name, existingInvoker, options);\n invokers[rawName] = void 0;\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while (m = name.match(optionsModifierRE)) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n const event = name[2] === \":\" ? name.slice(3) : hyphenate(name.slice(2));\n return [event, options];\n}\nlet cachedNow = 0;\nconst p = /* @__PURE__ */ Promise.resolve();\nconst getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());\nfunction createInvoker(initialValue, instance) {\n const invoker = (e) => {\n if (!e._vts) {\n e._vts = Date.now();\n } else if (e._vts <= invoker.attached) {\n return;\n }\n callWithAsyncErrorHandling(\n patchStopImmediatePropagation(e, invoker.value),\n instance,\n 5,\n [e]\n );\n };\n invoker.value = initialValue;\n invoker.attached = getNow();\n return invoker;\n}\nfunction sanitizeEventValue(value, propName) {\n if (isFunction(value) || isArray(value)) {\n return value;\n }\n warn(\n `Wrong type passed as event handler to ${propName} - did you forget @ or : in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`\n );\n return NOOP;\n}\nfunction patchStopImmediatePropagation(e, value) {\n if (isArray(value)) {\n const originalStop = e.stopImmediatePropagation;\n e.stopImmediatePropagation = () => {\n originalStop.call(e);\n e._stopped = true;\n };\n return value.map(\n (fn) => (e2) => !e2._stopped && fn && fn(e2)\n );\n } else {\n return value;\n }\n}\n\nconst isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter\nkey.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;\nconst patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {\n const isSVG = namespace === \"svg\";\n if (key === \"class\") {\n patchClass(el, nextValue, isSVG);\n } else if (key === \"style\") {\n patchStyle(el, prevValue, nextValue);\n } else if (isOn(key)) {\n if (!isModelListener(key)) {\n patchEvent(el, key, prevValue, nextValue, parentComponent);\n }\n } else if (key[0] === \".\" ? (key = key.slice(1), true) : key[0] === \"^\" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {\n patchDOMProp(el, key, nextValue);\n if (!el.tagName.includes(\"-\") && (key === \"value\" || key === \"checked\" || key === \"selected\")) {\n patchAttr(el, key, nextValue, isSVG, parentComponent, key !== \"value\");\n }\n } else if (\n // #11081 force set props for possible async custom element\n el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))\n ) {\n patchDOMProp(el, camelize$1(key), nextValue, parentComponent, key);\n } else {\n if (key === \"true-value\") {\n el._trueValue = nextValue;\n } else if (key === \"false-value\") {\n el._falseValue = nextValue;\n }\n patchAttr(el, key, nextValue, isSVG);\n }\n};\nfunction shouldSetAsProp(el, key, value, isSVG) {\n if (isSVG) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n return true;\n }\n if (key in el && isNativeOn(key) && isFunction(value)) {\n return true;\n }\n return false;\n }\n if (key === \"spellcheck\" || key === \"draggable\" || key === \"translate\") {\n return false;\n }\n if (key === \"form\") {\n return false;\n }\n if (key === \"list\" && el.tagName === \"INPUT\") {\n return false;\n }\n if (key === \"type\" && el.tagName === \"TEXTAREA\") {\n return false;\n }\n if (key === \"width\" || key === \"height\") {\n const tag = el.tagName;\n if (tag === \"IMG\" || tag === \"VIDEO\" || tag === \"CANVAS\" || tag === \"SOURCE\") {\n return false;\n }\n }\n if (isNativeOn(key) && isString(value)) {\n return false;\n }\n return key in el;\n}\n\nconst REMOVAL = {};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineCustomElement(options, extraOptions, _createApp) {\n const Comp = defineComponent(options, extraOptions);\n if (isPlainObject(Comp)) extend(Comp, extraOptions);\n class VueCustomElement extends VueElement {\n constructor(initialProps) {\n super(Comp, initialProps, _createApp);\n }\n }\n VueCustomElement.def = Comp;\n return VueCustomElement;\n}\n/*! #__NO_SIDE_EFFECTS__ */\nconst defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {\n return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);\n};\nconst BaseClass = typeof HTMLElement !== \"undefined\" ? HTMLElement : class {\n};\nclass VueElement extends BaseClass {\n constructor(_def, _props = {}, _createApp = createApp) {\n super();\n this._def = _def;\n this._props = _props;\n this._createApp = _createApp;\n this._isVueCE = true;\n /**\n * @internal\n */\n this._instance = null;\n /**\n * @internal\n */\n this._app = null;\n /**\n * @internal\n */\n this._nonce = this._def.nonce;\n this._connected = false;\n this._resolved = false;\n this._numberProps = null;\n this._styleChildren = /* @__PURE__ */ new WeakSet();\n this._ob = null;\n if (this.shadowRoot && _createApp !== createApp) {\n this._root = this.shadowRoot;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && this.shadowRoot) {\n warn(\n `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \\`defineSSRCustomElement\\`.`\n );\n }\n if (_def.shadowRoot !== false) {\n this.attachShadow({ mode: \"open\" });\n this._root = this.shadowRoot;\n } else {\n this._root = this;\n }\n }\n if (!this._def.__asyncLoader) {\n this._resolveProps(this._def);\n }\n }\n connectedCallback() {\n if (!this.isConnected) return;\n if (!this.shadowRoot) {\n this._parseSlots();\n }\n this._connected = true;\n let parent = this;\n while (parent = parent && (parent.parentNode || parent.host)) {\n if (parent instanceof VueElement) {\n this._parent = parent;\n break;\n }\n }\n if (!this._instance) {\n if (this._resolved) {\n this._setParent();\n this._update();\n } else {\n if (parent && parent._pendingResolve) {\n this._pendingResolve = parent._pendingResolve.then(() => {\n this._pendingResolve = void 0;\n this._resolveDef();\n });\n } else {\n this._resolveDef();\n }\n }\n }\n }\n _setParent(parent = this._parent) {\n if (parent) {\n this._instance.parent = parent._instance;\n this._instance.provides = parent._instance.provides;\n }\n }\n disconnectedCallback() {\n this._connected = false;\n nextTick(() => {\n if (!this._connected) {\n if (this._ob) {\n this._ob.disconnect();\n this._ob = null;\n }\n this._app && this._app.unmount();\n if (this._instance) this._instance.ce = void 0;\n this._app = this._instance = null;\n }\n });\n }\n /**\n * resolve inner component definition (handle possible async component)\n */\n _resolveDef() {\n if (this._pendingResolve) {\n return;\n }\n for (let i = 0; i < this.attributes.length; i++) {\n this._setAttr(this.attributes[i].name);\n }\n this._ob = new MutationObserver((mutations) => {\n for (const m of mutations) {\n this._setAttr(m.attributeName);\n }\n });\n this._ob.observe(this, { attributes: true });\n const resolve = (def, isAsync = false) => {\n this._resolved = true;\n this._pendingResolve = void 0;\n const { props, styles } = def;\n let numberProps;\n if (props && !isArray(props)) {\n for (const key in props) {\n const opt = props[key];\n if (opt === Number || opt && opt.type === Number) {\n if (key in this._props) {\n this._props[key] = toNumber(this._props[key]);\n }\n (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize$1(key)] = true;\n }\n }\n }\n this._numberProps = numberProps;\n if (isAsync) {\n this._resolveProps(def);\n }\n if (this.shadowRoot) {\n this._applyStyles(styles);\n } else if (!!(process.env.NODE_ENV !== \"production\") && styles) {\n warn(\n \"Custom element style injection is not supported when using shadowRoot: false\"\n );\n }\n this._mount(def);\n };\n const asyncDef = this._def.__asyncLoader;\n if (asyncDef) {\n this._pendingResolve = asyncDef().then(\n (def) => resolve(this._def = def, true)\n );\n } else {\n resolve(this._def);\n }\n }\n _mount(def) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) && !def.name) {\n def.name = \"VueElement\";\n }\n this._app = this._createApp(def);\n if (def.configureApp) {\n def.configureApp(this._app);\n }\n this._app._ceVNode = this._createVNode();\n this._app.mount(this._root);\n const exposed = this._instance && this._instance.exposed;\n if (!exposed) return;\n for (const key in exposed) {\n if (!hasOwn(this, key)) {\n Object.defineProperty(this, key, {\n // unwrap ref to be consistent with public instance behavior\n get: () => unref(exposed[key])\n });\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Exposed property \"${key}\" already exists on custom element.`);\n }\n }\n }\n _resolveProps(def) {\n const { props } = def;\n const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});\n for (const key of Object.keys(this)) {\n if (key[0] !== \"_\" && declaredPropKeys.includes(key)) {\n this._setProp(key, this[key]);\n }\n }\n for (const key of declaredPropKeys.map(camelize$1)) {\n Object.defineProperty(this, key, {\n get() {\n return this._getProp(key);\n },\n set(val) {\n this._setProp(key, val, true, true);\n }\n });\n }\n }\n _setAttr(key) {\n if (key.startsWith(\"data-v-\")) return;\n const has = this.hasAttribute(key);\n let value = has ? this.getAttribute(key) : REMOVAL;\n const camelKey = camelize$1(key);\n if (has && this._numberProps && this._numberProps[camelKey]) {\n value = toNumber(value);\n }\n this._setProp(camelKey, value, false, true);\n }\n /**\n * @internal\n */\n _getProp(key) {\n return this._props[key];\n }\n /**\n * @internal\n */\n _setProp(key, val, shouldReflect = true, shouldUpdate = false) {\n if (val !== this._props[key]) {\n if (val === REMOVAL) {\n delete this._props[key];\n } else {\n this._props[key] = val;\n if (key === \"key\" && this._app) {\n this._app._ceVNode.key = val;\n }\n }\n if (shouldUpdate && this._instance) {\n this._update();\n }\n if (shouldReflect) {\n const ob = this._ob;\n ob && ob.disconnect();\n if (val === true) {\n this.setAttribute(hyphenate(key), \"\");\n } else if (typeof val === \"string\" || typeof val === \"number\") {\n this.setAttribute(hyphenate(key), val + \"\");\n } else if (!val) {\n this.removeAttribute(hyphenate(key));\n }\n ob && ob.observe(this, { attributes: true });\n }\n }\n }\n _update() {\n render(this._createVNode(), this._root);\n }\n _createVNode() {\n const baseProps = {};\n if (!this.shadowRoot) {\n baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);\n }\n const vnode = createVNode(this._def, extend(baseProps, this._props));\n if (!this._instance) {\n vnode.ce = (instance) => {\n this._instance = instance;\n instance.ce = this;\n instance.isCE = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ceReload = (newStyles) => {\n if (this._styles) {\n this._styles.forEach((s) => this._root.removeChild(s));\n this._styles.length = 0;\n }\n this._applyStyles(newStyles);\n this._instance = null;\n this._update();\n };\n }\n const dispatch = (event, args) => {\n this.dispatchEvent(\n new CustomEvent(\n event,\n isPlainObject(args[0]) ? extend({ detail: args }, args[0]) : { detail: args }\n )\n );\n };\n instance.emit = (event, ...args) => {\n dispatch(event, args);\n if (hyphenate(event) !== event) {\n dispatch(hyphenate(event), args);\n }\n };\n this._setParent();\n };\n }\n return vnode;\n }\n _applyStyles(styles, owner) {\n if (!styles) return;\n if (owner) {\n if (owner === this._def || this._styleChildren.has(owner)) {\n return;\n }\n this._styleChildren.add(owner);\n }\n const nonce = this._nonce;\n for (let i = styles.length - 1; i >= 0; i--) {\n const s = document.createElement(\"style\");\n if (nonce) s.setAttribute(\"nonce\", nonce);\n s.textContent = styles[i];\n this.shadowRoot.prepend(s);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (owner) {\n if (owner.__hmrId) {\n if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();\n let entry = this._childStyles.get(owner.__hmrId);\n if (!entry) {\n this._childStyles.set(owner.__hmrId, entry = []);\n }\n entry.push(s);\n }\n } else {\n (this._styles || (this._styles = [])).push(s);\n }\n }\n }\n }\n /**\n * Only called when shadowRoot is false\n */\n _parseSlots() {\n const slots = this._slots = {};\n let n;\n while (n = this.firstChild) {\n const slotName = n.nodeType === 1 && n.getAttribute(\"slot\") || \"default\";\n (slots[slotName] || (slots[slotName] = [])).push(n);\n this.removeChild(n);\n }\n }\n /**\n * Only called when shadowRoot is false\n */\n _renderSlots() {\n const outlets = (this._teleportTarget || this).querySelectorAll(\"slot\");\n const scopeId = this._instance.type.__scopeId;\n for (let i = 0; i < outlets.length; i++) {\n const o = outlets[i];\n const slotName = o.getAttribute(\"name\") || \"default\";\n const content = this._slots[slotName];\n const parent = o.parentNode;\n if (content) {\n for (const n of content) {\n if (scopeId && n.nodeType === 1) {\n const id = scopeId + \"-s\";\n const walker = document.createTreeWalker(n, 1);\n n.setAttribute(id, \"\");\n let child;\n while (child = walker.nextNode()) {\n child.setAttribute(id, \"\");\n }\n }\n parent.insertBefore(n, o);\n }\n } else {\n while (o.firstChild) parent.insertBefore(o.firstChild, o);\n }\n parent.removeChild(o);\n }\n }\n /**\n * @internal\n */\n _injectChildStyle(comp) {\n this._applyStyles(comp.styles, comp);\n }\n /**\n * @internal\n */\n _removeChildStyle(comp) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this._styleChildren.delete(comp);\n if (this._childStyles && comp.__hmrId) {\n const oldStyles = this._childStyles.get(comp.__hmrId);\n if (oldStyles) {\n oldStyles.forEach((s) => this._root.removeChild(s));\n oldStyles.length = 0;\n }\n }\n }\n }\n}\nfunction useHost(caller) {\n const instance = getCurrentInstance();\n const el = instance && instance.ce;\n if (el) {\n return el;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!instance) {\n warn(\n `${caller || \"useHost\"} called without an active component instance.`\n );\n } else {\n warn(\n `${caller || \"useHost\"} can only be used in components defined via defineCustomElement.`\n );\n }\n }\n return null;\n}\nfunction useShadowRoot() {\n const el = !!(process.env.NODE_ENV !== \"production\") ? useHost(\"useShadowRoot\") : useHost();\n return el && el.shadowRoot;\n}\n\nfunction useCssModule(name = \"$style\") {\n {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\n return EMPTY_OBJ;\n }\n const modules = instance.type.__cssModules;\n if (!modules) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\n return EMPTY_OBJ;\n }\n const mod = modules[name];\n if (!mod) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\n return EMPTY_OBJ;\n }\n return mod;\n }\n}\n\nconst positionMap = /* @__PURE__ */ new WeakMap();\nconst newPositionMap = /* @__PURE__ */ new WeakMap();\nconst moveCbKey = Symbol(\"_moveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nconst decorate = (t) => {\n delete t.props.mode;\n return t;\n};\nconst TransitionGroupImpl = /* @__PURE__ */ decorate({\n name: \"TransitionGroup\",\n props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {\n tag: String,\n moveClass: String\n }),\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevChildren;\n let children;\n onUpdated(() => {\n if (!prevChildren.length) {\n return;\n }\n const moveClass = props.moveClass || `${props.name || \"v\"}-move`;\n if (!hasCSSTransform(\n prevChildren[0].el,\n instance.vnode.el,\n moveClass\n )) {\n return;\n }\n prevChildren.forEach(callPendingCbs);\n prevChildren.forEach(recordPosition);\n const movedChildren = prevChildren.filter(applyTranslation);\n forceReflow();\n movedChildren.forEach((c) => {\n const el = c.el;\n const style = el.style;\n addTransitionClass(el, moveClass);\n style.transform = style.webkitTransform = style.transitionDuration = \"\";\n const cb = el[moveCbKey] = (e) => {\n if (e && e.target !== el) {\n return;\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(\"transitionend\", cb);\n el[moveCbKey] = null;\n removeTransitionClass(el, moveClass);\n }\n };\n el.addEventListener(\"transitionend\", cb);\n });\n });\n return () => {\n const rawProps = toRaw(props);\n const cssTransitionProps = resolveTransitionProps(rawProps);\n let tag = rawProps.tag || Fragment;\n prevChildren = [];\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.el && child.el instanceof Element) {\n prevChildren.push(child);\n setTransitionHooks(\n child,\n resolveTransitionHooks(\n child,\n cssTransitionProps,\n state,\n instance\n )\n );\n positionMap.set(\n child,\n child.el.getBoundingClientRect()\n );\n }\n }\n }\n children = slots.default ? getTransitionRawChildren(slots.default()) : [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.key != null) {\n setTransitionHooks(\n child,\n resolveTransitionHooks(child, cssTransitionProps, state, instance)\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") && child.type !== Text) {\n warn(`<TransitionGroup> children must be keyed.`);\n }\n }\n return createVNode(tag, null, children);\n };\n }\n});\nconst TransitionGroup = TransitionGroupImpl;\nfunction callPendingCbs(c) {\n const el = c.el;\n if (el[moveCbKey]) {\n el[moveCbKey]();\n }\n if (el[enterCbKey]) {\n el[enterCbKey]();\n }\n}\nfunction recordPosition(c) {\n newPositionMap.set(c, c.el.getBoundingClientRect());\n}\nfunction applyTranslation(c) {\n const oldPos = positionMap.get(c);\n const newPos = newPositionMap.get(c);\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n const s = c.el.style;\n s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;\n s.transitionDuration = \"0s\";\n return c;\n }\n}\nfunction hasCSSTransform(el, root, moveClass) {\n const clone = el.cloneNode();\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.forEach((cls) => {\n cls.split(/\\s+/).forEach((c) => c && clone.classList.remove(c));\n });\n }\n moveClass.split(/\\s+/).forEach((c) => c && clone.classList.add(c));\n clone.style.display = \"none\";\n const container = root.nodeType === 1 ? root : root.parentNode;\n container.appendChild(clone);\n const { hasTransform } = getTransitionInfo(clone);\n container.removeChild(clone);\n return hasTransform;\n}\n\nconst getModelAssigner = (vnode) => {\n const fn = vnode.props[\"onUpdate:modelValue\"] || false;\n return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;\n};\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\nfunction onCompositionEnd(e) {\n const target = e.target;\n if (target.composing) {\n target.composing = false;\n target.dispatchEvent(new Event(\"input\"));\n }\n}\nconst assignKey = Symbol(\"_assign\");\nconst vModelText = {\n created(el, { modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n const castToNumber = number || vnode.props && vnode.props.type === \"number\";\n addEventListener(el, lazy ? \"change\" : \"input\", (e) => {\n if (e.target.composing) return;\n let domValue = el.value;\n if (trim) {\n domValue = domValue.trim();\n }\n if (castToNumber) {\n domValue = looseToNumber(domValue);\n }\n el[assignKey](domValue);\n });\n if (trim) {\n addEventListener(el, \"change\", () => {\n el.value = el.value.trim();\n });\n }\n if (!lazy) {\n addEventListener(el, \"compositionstart\", onCompositionStart);\n addEventListener(el, \"compositionend\", onCompositionEnd);\n addEventListener(el, \"change\", onCompositionEnd);\n }\n },\n // set value on mounted so it's after min/max for type=\"range\"\n mounted(el, { value }) {\n el.value = value == null ? \"\" : value;\n },\n beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (el.composing) return;\n const elValue = (number || el.type === \"number\") && !/^0\\d/.test(el.value) ? looseToNumber(el.value) : el.value;\n const newValue = value == null ? \"\" : value;\n if (elValue === newValue) {\n return;\n }\n if (document.activeElement === el && el.type !== \"range\") {\n if (lazy && value === oldValue) {\n return;\n }\n if (trim && el.value.trim() === newValue) {\n return;\n }\n }\n el.value = newValue;\n }\n};\nconst vModelCheckbox = {\n // #4096 array checkboxes need to be deep traversed\n deep: true,\n created(el, _, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n const modelValue = el._modelValue;\n const elementValue = getValue(el);\n const checked = el.checked;\n const assign = el[assignKey];\n if (isArray(modelValue)) {\n const index = looseIndexOf(modelValue, elementValue);\n const found = index !== -1;\n if (checked && !found) {\n assign(modelValue.concat(elementValue));\n } else if (!checked && found) {\n const filtered = [...modelValue];\n filtered.splice(index, 1);\n assign(filtered);\n }\n } else if (isSet(modelValue)) {\n const cloned = new Set(modelValue);\n if (checked) {\n cloned.add(elementValue);\n } else {\n cloned.delete(elementValue);\n }\n assign(cloned);\n } else {\n assign(getCheckboxValue(el, checked));\n }\n });\n },\n // set initial checked on mount to wait for true-value/false-value\n mounted: setChecked,\n beforeUpdate(el, binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n setChecked(el, binding, vnode);\n }\n};\nfunction setChecked(el, { value, oldValue }, vnode) {\n el._modelValue = value;\n let checked;\n if (isArray(value)) {\n checked = looseIndexOf(value, vnode.props.value) > -1;\n } else if (isSet(value)) {\n checked = value.has(vnode.props.value);\n } else {\n if (value === oldValue) return;\n checked = looseEqual(value, getCheckboxValue(el, true));\n }\n if (el.checked !== checked) {\n el.checked = checked;\n }\n}\nconst vModelRadio = {\n created(el, { value }, vnode) {\n el.checked = looseEqual(value, vnode.props.value);\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n el[assignKey](getValue(el));\n });\n },\n beforeUpdate(el, { value, oldValue }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (value !== oldValue) {\n el.checked = looseEqual(value, vnode.props.value);\n }\n }\n};\nconst vModelSelect = {\n // <select multiple> value need to be deep traversed\n deep: true,\n created(el, { value, modifiers: { number } }, vnode) {\n const isSetModel = isSet(value);\n addEventListener(el, \"change\", () => {\n const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(\n (o) => number ? looseToNumber(getValue(o)) : getValue(o)\n );\n el[assignKey](\n el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]\n );\n el._assigning = true;\n nextTick(() => {\n el._assigning = false;\n });\n });\n el[assignKey] = getModelAssigner(vnode);\n },\n // set value in mounted & updated because <select> relies on its children\n // <option>s.\n mounted(el, { value }) {\n setSelected(el, value);\n },\n beforeUpdate(el, _binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n },\n updated(el, { value }) {\n if (!el._assigning) {\n setSelected(el, value);\n }\n }\n};\nfunction setSelected(el, value) {\n const isMultiple = el.multiple;\n const isArrayValue = isArray(value);\n if (isMultiple && !isArrayValue && !isSet(value)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`\n );\n return;\n }\n for (let i = 0, l = el.options.length; i < l; i++) {\n const option = el.options[i];\n const optionValue = getValue(option);\n if (isMultiple) {\n if (isArrayValue) {\n const optionType = typeof optionValue;\n if (optionType === \"string\" || optionType === \"number\") {\n option.selected = value.some((v) => String(v) === String(optionValue));\n } else {\n option.selected = looseIndexOf(value, optionValue) > -1;\n }\n } else {\n option.selected = value.has(optionValue);\n }\n } else if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) el.selectedIndex = i;\n return;\n }\n }\n if (!isMultiple && el.selectedIndex !== -1) {\n el.selectedIndex = -1;\n }\n}\nfunction getValue(el) {\n return \"_value\" in el ? el._value : el.value;\n}\nfunction getCheckboxValue(el, checked) {\n const key = checked ? \"_trueValue\" : \"_falseValue\";\n return key in el ? el[key] : checked;\n}\nconst vModelDynamic = {\n created(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"created\");\n },\n mounted(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"mounted\");\n },\n beforeUpdate(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"beforeUpdate\");\n },\n updated(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"updated\");\n }\n};\nfunction resolveDynamicModel(tagName, type) {\n switch (tagName) {\n case \"SELECT\":\n return vModelSelect;\n case \"TEXTAREA\":\n return vModelText;\n default:\n switch (type) {\n case \"checkbox\":\n return vModelCheckbox;\n case \"radio\":\n return vModelRadio;\n default:\n return vModelText;\n }\n }\n}\nfunction callModelHook(el, binding, vnode, prevVNode, hook) {\n const modelToUse = resolveDynamicModel(\n el.tagName,\n vnode.props && vnode.props.type\n );\n const fn = modelToUse[hook];\n fn && fn(el, binding, vnode, prevVNode);\n}\nfunction initVModelForSSR() {\n vModelText.getSSRProps = ({ value }) => ({ value });\n vModelRadio.getSSRProps = ({ value }, vnode) => {\n if (vnode.props && looseEqual(vnode.props.value, value)) {\n return { checked: true };\n }\n };\n vModelCheckbox.getSSRProps = ({ value }, vnode) => {\n if (isArray(value)) {\n if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) {\n return { checked: true };\n }\n } else if (isSet(value)) {\n if (vnode.props && value.has(vnode.props.value)) {\n return { checked: true };\n }\n } else if (value) {\n return { checked: true };\n }\n };\n vModelDynamic.getSSRProps = (binding, vnode) => {\n if (typeof vnode.type !== \"string\") {\n return;\n }\n const modelToUse = resolveDynamicModel(\n // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase\n vnode.type.toUpperCase(),\n vnode.props && vnode.props.type\n );\n if (modelToUse.getSSRProps) {\n return modelToUse.getSSRProps(binding, vnode);\n }\n };\n}\n\nconst systemModifiers = [\"ctrl\", \"shift\", \"alt\", \"meta\"];\nconst modifierGuards = {\n stop: (e) => e.stopPropagation(),\n prevent: (e) => e.preventDefault(),\n self: (e) => e.target !== e.currentTarget,\n ctrl: (e) => !e.ctrlKey,\n shift: (e) => !e.shiftKey,\n alt: (e) => !e.altKey,\n meta: (e) => !e.metaKey,\n left: (e) => \"button\" in e && e.button !== 0,\n middle: (e) => \"button\" in e && e.button !== 1,\n right: (e) => \"button\" in e && e.button !== 2,\n exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))\n};\nconst withModifiers = (fn, modifiers) => {\n const cache = fn._withMods || (fn._withMods = {});\n const cacheKey = modifiers.join(\".\");\n return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {\n for (let i = 0; i < modifiers.length; i++) {\n const guard = modifierGuards[modifiers[i]];\n if (guard && guard(event, modifiers)) return;\n }\n return fn(event, ...args);\n });\n};\nconst keyNames = {\n esc: \"escape\",\n space: \" \",\n up: \"arrow-up\",\n left: \"arrow-left\",\n right: \"arrow-right\",\n down: \"arrow-down\",\n delete: \"backspace\"\n};\nconst withKeys = (fn, modifiers) => {\n const cache = fn._withKeys || (fn._withKeys = {});\n const cacheKey = modifiers.join(\".\");\n return cache[cacheKey] || (cache[cacheKey] = (event) => {\n if (!(\"key\" in event)) {\n return;\n }\n const eventKey = hyphenate(event.key);\n if (modifiers.some(\n (k) => k === eventKey || keyNames[k] === eventKey\n )) {\n return fn(event);\n }\n });\n};\n\nconst rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);\nlet renderer;\nlet enabledHydration = false;\nfunction ensureRenderer() {\n return renderer || (renderer = createRenderer(rendererOptions));\n}\nfunction ensureHydrationRenderer() {\n renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);\n enabledHydration = true;\n return renderer;\n}\nconst render = (...args) => {\n ensureRenderer().render(...args);\n};\nconst hydrate = (...args) => {\n ensureHydrationRenderer().hydrate(...args);\n};\nconst createApp = (...args) => {\n const app = ensureRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (!container) return;\n const component = app._component;\n if (!isFunction(component) && !component.render && !component.template) {\n component.template = container.innerHTML;\n }\n if (container.nodeType === 1) {\n container.textContent = \"\";\n }\n const proxy = mount(container, false, resolveRootNamespace(container));\n if (container instanceof Element) {\n container.removeAttribute(\"v-cloak\");\n container.setAttribute(\"data-v-app\", \"\");\n }\n return proxy;\n };\n return app;\n};\nconst createSSRApp = (...args) => {\n const app = ensureHydrationRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (container) {\n return mount(container, true, resolveRootNamespace(container));\n }\n };\n return app;\n};\nfunction resolveRootNamespace(container) {\n if (container instanceof SVGElement) {\n return \"svg\";\n }\n if (typeof MathMLElement === \"function\" && container instanceof MathMLElement) {\n return \"mathml\";\n }\n}\nfunction injectNativeTagCheck(app) {\n Object.defineProperty(app.config, \"isNativeTag\", {\n value: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),\n writable: false\n });\n}\nfunction injectCompilerOptionsCheck(app) {\n if (isRuntimeOnly()) {\n const isCustomElement = app.config.isCustomElement;\n Object.defineProperty(app.config, \"isCustomElement\", {\n get() {\n return isCustomElement;\n },\n set() {\n warn(\n `The \\`isCustomElement\\` config option is deprecated. Use \\`compilerOptions.isCustomElement\\` instead.`\n );\n }\n });\n const compilerOptions = app.config.compilerOptions;\n const msg = `The \\`compilerOptions\\` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka \"full build\"). Since you are using the runtime-only build, \\`compilerOptions\\` must be passed to \\`@vue/compiler-dom\\` in the build setup instead.\n- For vue-loader: pass it via vue-loader's \\`compilerOptions\\` loader option.\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc`;\n Object.defineProperty(app.config, \"compilerOptions\", {\n get() {\n warn(msg);\n return compilerOptions;\n },\n set() {\n warn(msg);\n }\n });\n }\n}\nfunction normalizeContainer(container) {\n if (isString(container)) {\n const res = document.querySelector(container);\n if (!!(process.env.NODE_ENV !== \"production\") && !res) {\n warn(\n `Failed to mount app: mount target selector \"${container}\" returned null.`\n );\n }\n return res;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === \"closed\") {\n warn(\n `mounting on a ShadowRoot with \\`{mode: \"closed\"}\\` may lead to unpredictable bugs`\n );\n }\n return container;\n}\nlet ssrDirectiveInitialized = false;\nconst initDirectivesForSSR = () => {\n if (!ssrDirectiveInitialized) {\n ssrDirectiveInitialized = true;\n initVModelForSSR();\n initVShowForSSR();\n }\n} ;\n\nexport { Transition, TransitionGroup, VueElement, createApp, createSSRApp, defineCustomElement, defineSSRCustomElement, hydrate, initDirectivesForSSR, render, useCssModule, useCssVars, useHost, useShadowRoot, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, withKeys, withModifiers };\n","/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;\nfunction escapeHtmlComment(src) {\n return src.replace(commentStripRE, \"\");\n}\nconst cssVarNameEscapeSymbolsRE = /[ !\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/*\n * anime.js v3.1.0\n * (c) 2019 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.round(t * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.1.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n","import { nextTick, openBlock, createBlock, createVNode, withKeys, withModifiers, renderSlot, createCommentVNode, withDirectives, Fragment, renderList, toDisplayString, vShow } from 'vue';\n\nconst CONFIG = {\n HOUR_TOKENS: ['HH', 'H', 'hh', 'h', 'kk', 'k'],\n MINUTE_TOKENS: ['mm', 'm'],\n SECOND_TOKENS: ['ss', 's'],\n APM_TOKENS: ['A', 'a'],\n BASIC_TYPES: ['hour', 'minute', 'second', 'apm']\n};\n\nconst DEFAULT_OPTIONS = {\n format: 'HH:mm',\n minuteInterval: 1,\n secondInterval: 1,\n hourRange: null,\n minuteRange: null,\n secondRange: null,\n hideDisabledHours: false,\n hideDisabledMinutes: false,\n hideDisabledSeconds: false,\n hideDisabledItems: false,\n advancedKeyboard: false,\n hideDropdown: false,\n blurDelay: 300,\n manualInputTimeout: 1000,\n dropOffsetHeight: 160\n};\n\nvar script = {\n name: 'VueTimepicker',\n\n props: {\n modelValue: { type: [ Object, String ] },\n format: { type: String },\n minuteInterval: { type: [ Number, String ] },\n secondInterval: { type: [ Number, String ] },\n\n hourRange: { type: Array },\n minuteRange: { type: Array },\n secondRange: { type: Array },\n\n hideDisabledHours: { type: Boolean, default: false },\n hideDisabledMinutes: { type: Boolean, default: false },\n hideDisabledSeconds: { type: Boolean, default: false },\n hideDisabledItems: { type: Boolean, default: false },\n\n hideClearButton: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n closeOnComplete: { type: Boolean, default: false },\n\n id: { type: String },\n name: { type: String },\n inputClass: { type: [ String, Object, Array ] },\n placeholder: { type: String },\n tabindex: { type: [ Number, String ], default: 0 },\n inputWidth: { type: String },\n autocomplete: { type: String, default: 'off' },\n\n hourLabel: { type: String },\n minuteLabel: { type: String },\n secondLabel: { type: String },\n apmLabel: { type: String },\n amText: { type: String },\n pmText: { type: String },\n\n blurDelay: { type: [ Number, String ] },\n advancedKeyboard: { type: Boolean, default: false },\n\n lazy: { type: Boolean, default: false },\n autoScroll: { type: Boolean, default: false },\n\n dropDirection: { type: String, default: 'down' },\n dropOffsetHeight: { type: [ Number, String ] },\n containerId: { type: String },\n\n manualInput: { type: Boolean, default: false },\n manualInputTimeout: { type: [ Number, String ] },\n hideDropdown: { type: Boolean, default: false },\n fixedDropdownButton: { type: Boolean, default: false },\n\n debugMode: { type: Boolean, default: false }\n },\n\n data () {\n return {\n timeValue: {},\n\n hours: [],\n minutes: [],\n seconds: [],\n apms: [],\n\n isActive: false,\n showDropdown: false,\n isFocusing: false,\n debounceTimer: undefined,\n\n hourType: 'HH',\n minuteType: 'mm',\n secondType: '',\n apmType: '',\n hour: '',\n minute: '',\n second: '',\n apm: '',\n fullValues: undefined,\n bakDisplayTime: undefined,\n doClearApmChecking: false,\n\n selectionTimer: undefined,\n kbInputTimer: undefined,\n kbInputLog: '',\n bakCurrentPos: undefined,\n forceDropOnTop: false\n }\n },\n\n emits: ['update:modelValue', 'change', 'open', 'close', 'focus', 'blur', 'error'],\n\n computed: {\n opts () {\n const options = Object.assign({}, DEFAULT_OPTIONS);\n\n if (this.format && this.format.length) {\n options.format = String(this.format);\n }\n\n if (this.isNumber(this.minuteInterval)) {\n options.minuteInterval = +this.minuteInterval;\n }\n // minuteInterval failsafe\n if (!options.minuteInterval || options.minuteInterval < 1 || options.minuteInterval > 60) {\n if (this.debugMode) {\n if (options.minuteInterval > 60) {\n this.debugLog(`\"minute-interval\" should be less than 60. Current value is ${this.minuteInterval}`);\n } else if (options.minuteInterval === 0 || options.minuteInterval < 1) {\n this.debugLog(`\"minute-interval\" should be NO less than 1. Current value is ${this.minuteInterval}`);\n }\n }\n if (options.minuteInterval === 0) {\n options.minuteInterval = 60;\n } else {\n options.minuteInterval = 1;\n }\n }\n\n if (this.isNumber(this.secondInterval)) {\n options.secondInterval = +this.secondInterval;\n }\n // secondInterval failsafe\n if (!options.secondInterval || options.secondInterval < 1 || options.secondInterval > 60) {\n if (this.debugMode) {\n if (options.secondInterval > 60) {\n this.debugLog(`\"second-interval\" should be less than 60. Current value is ${this.secondInterval}`);\n } else if (options.secondInterval === 0 || options.secondInterval < 1) {\n this.debugLog(`\"second-interval\" should be NO less than 1. Current value is ${this.secondInterval}`);\n }\n }\n if (options.secondInterval === 0) {\n options.secondInterval = 60;\n } else {\n options.secondInterval = 1;\n }\n }\n\n if (this.hourRange && Array.isArray(this.hourRange)) {\n options.hourRange = JSON.parse(JSON.stringify(this.hourRange));\n if (!this.hourRange.length && this.debugMode) {\n this.debugLog('The \"hour-range\" array is empty (length === 0)');\n }\n }\n\n if (this.minuteRange && Array.isArray(this.minuteRange)) {\n options.minuteRange = JSON.parse(JSON.stringify(this.minuteRange));\n if (!this.minuteRange.length && this.debugMode) {\n this.debugLog('The \"minute-range\" array is empty (length === 0)');\n }\n }\n\n if (this.secondRange && Array.isArray(this.secondRange)) {\n options.secondRange = JSON.parse(JSON.stringify(this.secondRange));\n if (!this.secondRange.length && this.debugMode) {\n this.debugLog('The \"second-range\" array is empty (length === 0)');\n }\n }\n\n if (this.hideDisabledItems) {\n options.hideDisabledItems = true;\n }\n\n if (this.hideDisabledHours || this.hideDisabledItems) {\n options.hideDisabledHours = true;\n }\n if (this.hideDisabledMinutes || this.hideDisabledItems) {\n options.hideDisabledMinutes = true;\n }\n if (this.hideDisabledSeconds || this.hideDisabledItems) {\n options.hideDisabledSeconds = true;\n }\n\n if (this.hideDropdown) {\n if (this.manualInput) {\n options.hideDropdown = true;\n } else if (this.debugMode) {\n this.debugLog('\"hide-dropdown\" only works with \"manual-input\" mode');\n }\n }\n\n if (this.blurDelay && +this.blurDelay > 0) {\n options.blurDelay = +this.blurDelay;\n }\n\n if (this.manualInputTimeout && +this.manualInputTimeout > 0) {\n options.manualInputTimeout = +this.manualInputTimeout;\n }\n\n if (this.dropOffsetHeight && +this.dropOffsetHeight > 0) {\n options.dropOffsetHeight = +this.dropOffsetHeight;\n }\n\n return options\n },\n\n useStringValue () {\n return typeof this.modelValue === 'string'\n },\n\n formatString () {\n return this.opts.format || DEFAULT_OPTIONS.format\n },\n\n inUse () {\n const typesInUse = CONFIG.BASIC_TYPES.filter(type => this.getTokenByType(type));\n // Sort types and tokens by their sequence in the \"format\" string\n typesInUse.sort((l, r) => {\n return this.formatString.indexOf(this.getTokenByType(l) || null) - this.formatString.indexOf(this.getTokenByType(r) || null)\n });\n const tokensInUse = typesInUse.map(type => this.getTokenByType(type));\n return {\n hour: !!this.hourType,\n minute: !!this.minuteType,\n second: !!this.secondType,\n apm: !!this.apmType,\n types: typesInUse || [],\n tokens: tokensInUse || []\n }\n },\n\n displayTime () {\n let formatString = String(this.formatString);\n if (this.hour) {\n formatString = formatString.replace(new RegExp(this.hourType, 'g'), this.hour);\n }\n if (this.minute) {\n formatString = formatString.replace(new RegExp(this.minuteType, 'g'), this.minute);\n }\n if (this.second && this.secondType) {\n formatString = formatString.replace(new RegExp(this.secondType, 'g'), this.second);\n }\n if (this.apm && this.apmType) {\n formatString = formatString.replace(new RegExp(this.apmType, 'g'), this.apm);\n }\n return formatString\n },\n\n customDisplayTime () {\n if (!this.amText && !this.pmText) {\n return this.displayTime\n }\n return this.displayTime.replace(new RegExp(this.apm, 'g'), this.apmDisplayText(this.apm))\n },\n\n inputIsEmpty () {\n return this.formatString === this.displayTime\n },\n\n allValueSelected () {\n if (\n (this.inUse.hour && !this.hour) ||\n (this.inUse.minute && !this.minute) ||\n (this.inUse.second && !this.second) ||\n (this.inUse.apm && !this.apm)\n ) {\n return false\n }\n return true\n },\n\n columnsSequence () {\n return this.inUse.types.map(type => type) || []\n },\n\n showClearBtn () {\n if (this.hideClearButton || this.disabled) {\n return false\n }\n return !this.inputIsEmpty\n },\n\n showDropdownBtn () {\n if (this.fixedDropdownButton) { return true }\n if (this.opts.hideDropdown && this.isActive && !this.showDropdown) {\n return true\n }\n return false\n },\n\n baseOn12Hours () {\n return this.hourType === 'h' || this.hourType === 'hh'\n },\n\n hourRangeIn24HrFormat () {\n if (!this.hourType || !this.opts.hourRange) { return false }\n if (!this.opts.hourRange.length) { return [] }\n\n const range = [];\n this.opts.hourRange.forEach(value => {\n if (value instanceof Array) {\n if (value.length > 2 && this.debugMode) {\n this.debugLog(`Nested array within \"hour-range\" must contain no more than two items. Only the first two items of ${JSON.stringify(value)} will be taken into account.`);\n }\n\n let start = value[0];\n let end = value[1] || value[0];\n\n if (this.is12hRange(start)) {\n start = this.translate12hRange(start);\n }\n if (this.is12hRange(end)) {\n end = this.translate12hRange(end);\n }\n\n for (let i = +start; i <= +end; i++) {\n if (i < 0 || i > 24) { continue }\n if (!range.includes(i)) {\n range.push(i);\n }\n }\n } else {\n if (this.is12hRange(value)) {\n value = this.translate12hRange(value);\n } else {\n value = +value;\n }\n if (value < 0 || value > 24) { return }\n if (!range.includes(value)) {\n range.push(value);\n }\n }\n });\n range.sort((l, r) => { return l - r });\n return range\n },\n\n restrictedHourRange () {\n // No restriction\n if (!this.hourRangeIn24HrFormat) { return false }\n // 12-Hour\n if (this.baseOn12Hours) {\n const range = this.hourRangeIn24HrFormat.map((value) => {\n if (value === 12) {\n return '12p'\n } else if (value === 24 || value === 0) {\n return '12a'\n }\n return value > 12 ? `${value % 12}p` : `${value}a`\n });\n return range\n }\n // 24-Hour\n return this.hourRangeIn24HrFormat\n },\n\n validHoursList () {\n if (!this.manualInput) { return false }\n if (this.restrictedHourRange) {\n let list = [];\n if (this.baseOn12Hours) {\n list = this.restrictedHourRange.map(hr => {\n const l = hr.substr(0, hr.length - 1);\n const r = hr.substr(-1);\n return `${this.formatValue(this.hourType, l)}${r}`\n });\n const am12Index = list.indexOf('12a');\n if (am12Index > 0) {\n // Make '12a' the first item in h/hh\n list.unshift(list.splice(am12Index, 1)[0]);\n }\n return list\n }\n list = this.restrictedHourRange.map(hr => {\n return this.formatValue(this.hourType, hr)\n });\n if (list.length > 1 && list[0] && list[0] === '24') {\n // Make '24' the last item in k/kk\n list.push(list.shift());\n }\n return list\n }\n if (this.baseOn12Hours) {\n return [].concat([], this.hours.map(hr => `${hr}a`), this.hours.map(hr => `${hr}p`))\n }\n return this.hours\n },\n\n has () {\n const result = {\n customApmText: false\n };\n const apmEnabled = !!this.apmType;\n\n if (apmEnabled && this.hourRangeIn24HrFormat && this.hourRangeIn24HrFormat.length) {\n const range = [].concat([], this.hourRangeIn24HrFormat);\n result.am = range.some(value => value < 12 || value === 24);\n result.pm = range.some(value => value >= 12 && value < 24);\n } else {\n result.am = apmEnabled;\n result.pm = apmEnabled;\n }\n if ((this.amText && this.amText.length) || (this.pmText && this.pmText.length)) {\n result.customApmText = true;\n }\n return result\n },\n\n minuteRangeList () {\n if (!this.minuteType || !this.opts.minuteRange) { return false }\n if (!this.opts.minuteRange.length) { return [] }\n return this.renderRangeList(this.opts.minuteRange, 'minute')\n },\n\n secondRangeList () {\n if (!this.secondType || !this.opts.secondRange) { return false }\n if (!this.opts.secondRange.length) { return [] }\n return this.renderRangeList(this.opts.secondRange, 'second')\n },\n \n hourLabelText () {\n return this.hourLabel || this.hourType\n },\n minuteLabelText () {\n return this.minuteLabel || this.minuteType\n },\n secondLabelText() {\n return this.secondLabel || this.secondType\n },\n apmLabelText () {\n return this.apmLabel || this.apmType\n },\n\n inputWidthStyle () {\n if (!this.inputWidth || !this.inputWidth.length) { return }\n return {\n width: this.inputWidth\n }\n },\n\n tokenRegexBase () {\n return this.inUse.tokens.join('|')\n },\n\n tokenChunks () {\n if (!this.manualInput && !this.useStringValue) { return false }\n\n const formatString = String(this.formatString);\n const tokensRegxStr = `(${this.tokenRegexBase})+?`;\n const tokensMatchAll = this.getMatchAllByRegex(formatString, tokensRegxStr);\n\n const tokenChunks = [];\n for (let tkMatch of tokensMatchAll) {\n const rawToken = tkMatch[0];\n const tokenMatchItem = {\n index: tkMatch.index,\n token: rawToken,\n type: this.getTokenType(rawToken),\n needsCalibrate: rawToken.length < 2,\n len: (rawToken || '').length\n };\n tokenChunks.push(tokenMatchItem);\n }\n return tokenChunks\n },\n\n needsPosCalibrate () {\n if (!this.manualInput) { return false }\n return this.tokenChunks.some(chk => chk.needsCalibrate)\n },\n\n tokenChunksPos () {\n if (!this.manualInput) { return false }\n if (!this.needsPosCalibrate) {\n return this.tokenChunks.map(chk => {\n return {\n token: chk.token,\n type: chk.type,\n start: chk.index,\n end: chk.index + chk.len\n }\n })\n }\n const list = [];\n let calibrateLen = 0;\n this.tokenChunks.forEach(chk => {\n let chunkCurrentLen;\n // Adjust for customized AM/PM text\n if (chk.type === 'apm' && this.has.customApmText) {\n if (this.apm && this.apm.length) {\n const customApmText = this.apm.toLowerCase() === 'am' ? this.amText : this.pmText;\n chunkCurrentLen = (customApmText && customApmText.length) ? customApmText.length : chk.len;\n } else {\n chunkCurrentLen = chk.len;\n }\n // Others\n } else {\n chunkCurrentLen = this[chk.type] && this[chk.type].length ? this[chk.type].length : chk.len;\n }\n list.push({\n token: chk.token,\n type: chk.type,\n start: chk.index + calibrateLen,\n end: chk.index + calibrateLen + chunkCurrentLen\n });\n if (chk.needsCalibrate && chunkCurrentLen > chk.len) {\n calibrateLen += (chunkCurrentLen - chk.len);\n }\n });\n return list\n },\n\n invalidValues () {\n if (this.inputIsEmpty) { return [] }\n if (!this.restrictedHourRange && !this.minuteRangeList && !this.secondRangeList && this.opts.minuteInterval === 1 && this.opts.secondInterval === 1) { return [] }\n\n const result = [];\n if (this.inUse.hour && !this.isEmptyValue(this.hourType, this.hour) && (!this.isValidValue(this.hourType, this.hour) || this.isDisabled('hour', this.hour))) {\n result.push('hour');\n }\n if (this.inUse.minute && !this.isEmptyValue(this.minuteType, this.minute) && (!this.isValidValue(this.minuteType, this.minute) || this.isDisabled('minute', this.minute) || this.notInInterval('minute', this.minute))) {\n result.push('minute');\n }\n if (this.inUse.second && !this.isEmptyValue(this.secondType, this.second) && (!this.isValidValue(this.secondType, this.second) || this.isDisabled('second', this.second) || this.notInInterval('second', this.second))) {\n result.push('second');\n }\n if (this.inUse.apm && !this.isEmptyValue(this.apmType, this.apm) && (!this.isValidValue(this.apmType, this.apm) || this.isDisabled('apm', this.apm))) {\n result.push('apm');\n }\n if (result.length) {\n return result\n }\n return []\n },\n\n hasInvalidInput () {\n return Boolean(this.invalidValues && this.invalidValues.length)\n },\n\n autoDirectionEnabled () {\n return this.dropDirection === 'auto'\n },\n\n dropdownDirClass () {\n if (this.autoDirectionEnabled) {\n return this.forceDropOnTop ? 'drop-up' : 'drop-down'\n }\n return this.dropDirection === 'up' ? 'drop-up' : 'drop-down' \n }\n },\n\n watch: {\n 'opts.format' (newValue) {\n this.renderFormat(newValue);\n },\n 'opts.minuteInterval' (newInteval) {\n this.renderList('minute', newInteval);\n },\n 'opts.secondInterval' (newInteval) {\n this.renderList('second', newInteval);\n },\n value: {\n deep: true,\n handler () {\n this.readValues();\n }\n },\n displayTime () {\n this.fillValues();\n },\n disabled (toDisabled) {\n if (toDisabled) {\n // Force close dropdown and reset status when disabled\n if (this.isActive) {\n this.isActive = false;\n }\n if (this.showDropdown) {\n this.showDropdown = false;\n }\n }\n },\n 'invalidValues.length' (newLength, oldLength) {\n if (newLength && newLength >= 1) {\n this.$emit('error', this.invalidValues);\n } else if (oldLength && oldLength >= 1) {\n this.$emit('error', []);\n }\n }\n },\n\n methods: {\n formatValue (token, i) {\n if (!this.isNumber(i)) { return '' }\n i = +i;\n switch (token) {\n case 'H':\n case 'h':\n case 'k':\n case 'm':\n case 's':\n if (['h', 'k'].includes(token) && i === 0) {\n return token === 'k' ? '24' : '12'\n }\n return String(i)\n case 'HH':\n case 'mm':\n case 'ss':\n case 'hh':\n case 'kk':\n if (['hh', 'kk'].includes(token) && i === 0) {\n return token === 'kk' ? '24' : '12'\n }\n return i < 10 ? `0${i}` : String(i)\n default:\n return ''\n }\n },\n\n checkAcceptingType (validValues, formatString) {\n if (!validValues || !formatString || !formatString.length) { return '' }\n for (let i = 0; i < validValues.length; i++) {\n if (formatString.indexOf(validValues[i]) > -1) {\n return validValues[i]\n }\n }\n return ''\n },\n\n renderFormat (newFormat) {\n newFormat = newFormat || this.opts.format || DEFAULT_OPTIONS.format;\n\n let hourType = this.checkAcceptingType(CONFIG.HOUR_TOKENS, newFormat);\n let minuteType = this.checkAcceptingType(CONFIG.MINUTE_TOKENS, newFormat);\n this.secondType = this.checkAcceptingType(CONFIG.SECOND_TOKENS, newFormat);\n this.apmType = this.checkAcceptingType(CONFIG.APM_TOKENS, newFormat);\n\n // Failsafe checking\n if (!hourType && !minuteType && !this.secondType && !this.apmType) {\n if (this.debugMode && this.format) {\n this.debugLog(`No valid tokens found in your defined \"format\" string \"${this.format}\". Fallback to the default \"HH:mm\" format.`);\n }\n hourType = 'HH';\n minuteType = 'mm';\n }\n this.hourType = hourType;\n this.minuteType = minuteType;\n\n this.hourType ? this.renderHoursList() : this.hours = [];\n this.minuteType ? this.renderList('minute') : this.minutes = [];\n this.secondType ? this.renderList('second') : this.seconds = [];\n this.apmType ? this.renderApmList() : this.apms = [];\n\n nextTick(() => {\n this.readValues();\n });\n },\n\n renderHoursList () {\n const hoursCount = this.baseOn12Hours ? 12 : 24;\n const hours = [];\n for (let i = 0; i < hoursCount; i++) {\n if (this.hourType === 'k' || this.hourType === 'kk') {\n hours.push(this.formatValue(this.hourType, i + 1));\n } else {\n hours.push(this.formatValue(this.hourType, i));\n }\n }\n this.hours = hours;\n },\n\n renderList (listType, interval) {\n if (!this.isMinuteOrSecond(listType)) { return }\n\n const isMinute = listType === 'minute';\n interval = interval || (isMinute ? (this.opts.minuteInterval || DEFAULT_OPTIONS.minuteInterval) : (this.opts.secondInterval || DEFAULT_OPTIONS.secondInterval));\n\n const result = [];\n for (let i = 0; i < 60; i += interval) {\n result.push(this.formatValue(isMinute ? this.minuteType : this.secondType, i));\n }\n isMinute ? this.minutes = result : this.seconds = result;\n },\n\n renderApmList () {\n this.apms = this.apmType === 'A' ? ['AM', 'PM'] : ['am', 'pm'];\n },\n\n readValues () {\n if (this.useStringValue) {\n if (this.debugMode) {\n this.debugLog(`Received a string value: \"${this.modelValue}\"`);\n }\n this.readStringValues(this.modelValue);\n } else {\n if (this.debugMode) {\n this.debugLog(`Received an object value: \"${JSON.stringify(this.modelValue || {})}\"`);\n }\n this.readObjectValues(this.modelValue);\n }\n },\n\n readObjectValues (objValue) {\n const timeValue = JSON.parse(JSON.stringify(objValue || {}));\n const values = Object.keys(timeValue);\n\n // Failsafe for empty `v-model` object\n if (values.length === 0) {\n this.addFallbackValues();\n return\n }\n\n CONFIG.BASIC_TYPES.forEach(type => {\n const token = this.getTokenByType(type);\n if (values.indexOf(token) > -1) {\n const sanitizedValue = this.sanitizedValue(token, timeValue[token]);\n this[type] = sanitizedValue;\n timeValue[token] = sanitizedValue;\n } else {\n this[type] = '';\n }\n });\n this.timeValue = timeValue;\n },\n\n getMatchAllByRegex (testString, regexString) {\n const str = 'polyfillTest';\n const needsPolyfill = Boolean(!str.matchAll || typeof str.matchAll !== 'function');\n return needsPolyfill ? this.polyfillMatchAll(testString, regexString) : testString.matchAll(new RegExp(regexString, 'g'))\n },\n\n readStringValues (stringValue) {\n // Failsafe for empty `v-model` string\n if (!stringValue || !stringValue.length) {\n this.addFallbackValues();\n return\n }\n\n const formatString = String(this.formatString);\n const tokensRegxStr = `(${this.tokenRegexBase})+?`;\n const othersRegxStr = `[^(${this.tokenRegexBase})]+`;\n\n const tokensMatchAll = this.getMatchAllByRegex(formatString, tokensRegxStr);\n const othersMatchAll = this.getMatchAllByRegex(formatString, othersRegxStr);\n\n const chunks = [];\n const tokenChunks = [];\n\n for (let tkMatch of tokensMatchAll) {\n const tokenMatchItem = {\n index: tkMatch.index,\n token: tkMatch[0],\n isValueToken: true\n };\n chunks.push(tokenMatchItem);\n tokenChunks.push(tokenMatchItem);\n }\n\n for (let otMatch of othersMatchAll) {\n chunks.push({\n index: otMatch.index,\n token: otMatch[0]\n });\n }\n\n chunks.sort((l, r) => l.index < r.index ? -1 : 1);\n\n let regexCombo = '';\n chunks.forEach(chunk => {\n if (chunk.isValueToken) {\n const tokenRegex = this.getTokenRegex(chunk.token) || '';\n regexCombo += tokenRegex;\n } else {\n const safeChars = chunk.token.replace(/\\\\{0}(\\*|\\?|\\.|\\+)/g, '\\\\$1');\n regexCombo += `(?:${safeChars})`;\n }\n });\n\n const comboReg = new RegExp(regexCombo);\n\n // Do test before match\n if (comboReg.test(stringValue)) {\n const matchResults = stringValue.match(new RegExp(regexCombo));\n const valueResults = matchResults.slice(1, tokenChunks.length + 1);\n const timeValue = {};\n valueResults.forEach((value, vrIndex) => {\n if (tokenChunks[vrIndex]) {\n const targetToken = tokenChunks[vrIndex].token;\n timeValue[targetToken] = this.setValueFromString(value, targetToken);\n }\n });\n this.timeValue = timeValue;\n\n if (this.debugMode) {\n const tokenChunksForLog = tokenChunks.map(tChunk => tChunk && tChunk.token);\n this.debugLog(`Successfully parsed values ${JSON.stringify(valueResults)}\\nfor ${JSON.stringify(tokenChunksForLog)}\\nin format pattern '${this.formatString}'`);\n }\n } else {\n if (this.debugMode) {\n this.debugLog(`The input string in \"v-model\" does NOT match the \"format\" pattern\\nformat: ${this.formatString}\\nv-model: ${stringValue}`);\n }\n }\n },\n\n polyfillMatchAll (targetString, regxStr) {\n const matchesList = targetString.match(new RegExp(regxStr, 'g'));\n const result = [];\n const indicesReg = [];\n if (matchesList && matchesList.length) {\n matchesList.forEach(matchedItem => {\n const existIndex = indicesReg.findIndex(idxItem => idxItem.str === matchedItem);\n let index;\n if (existIndex >= 0) {\n if (indicesReg[existIndex] && indicesReg[existIndex].regex) {\n index = indicesReg[existIndex].regex.exec(targetString).index;\n }\n } else {\n const itemIndicesRegex = new RegExp(matchedItem, 'g');\n index = itemIndicesRegex.exec(targetString).index;\n indicesReg.push({\n str: String(matchedItem),\n regex: itemIndicesRegex\n });\n }\n result.push({\n 0: String(matchedItem),\n index: index\n });\n });\n }\n return result\n },\n\n addFallbackValues () {\n const timeValue = {};\n this.inUse.types.forEach(type => {\n timeValue[this.getTokenByType(type)] = '';\n });\n this.timeValue = timeValue;\n },\n\n setValueFromString (parsedValue, token) {\n if (!token || !parsedValue) { return '' }\n const tokenType = this.getTokenType(token);\n if (!tokenType || !tokenType.length) { return '' }\n const stdValue = (parsedValue !== this.getTokenByType(tokenType)) ? parsedValue : '';\n this[tokenType] = stdValue;\n return stdValue\n },\n\n fillValues (forceEmit) {\n const fullValues = {};\n\n const baseHour = this.hour;\n const baseHourType = this.hourType;\n\n let apmValue;\n\n // Hour type or hour value is NOT set in the \"format\" string\n if (!baseHourType || !this.isNumber(baseHour)) {\n CONFIG.HOUR_TOKENS.forEach(token => fullValues[token] = '');\n apmValue = this.lowerCasedApm(this.apm || '');\n fullValues.a = apmValue;\n fullValues.A = apmValue.toUpperCase();\n\n // Both Hour type and value are set\n } else {\n const hourValue = +baseHour;\n const apmValue = (this.baseOn12Hours && this.apm) ? this.lowerCasedApm(this.apm) : false;\n\n CONFIG.HOUR_TOKENS.forEach((token) => {\n if (token === baseHourType) {\n fullValues[token] = baseHour;\n return\n }\n\n let value;\n let apm;\n switch (token) {\n case 'H':\n case 'HH':\n case 'k':\n case 'kk':\n if (this.baseOn12Hours) {\n if (apmValue === 'pm') {\n value = hourValue < 12 ? hourValue + 12 : hourValue;\n } else if (['k', 'kk'].includes(token)) {\n value = hourValue === 12 ? 24 : hourValue;\n } else {\n value = hourValue % 12;\n }\n } else {\n if (['k', 'kk'].includes(token)) {\n value = hourValue === 0 ? 24 : hourValue;\n } else {\n value = hourValue % 24;\n }\n }\n fullValues[token] = this.formatValue(token, value);\n break\n case 'h':\n case 'hh':\n // h <-> hh\n if (this.baseOn12Hours) {\n value = hourValue;\n apm = apmValue || '';\n // Read from other hour formats\n } else {\n if (hourValue > 11 && hourValue < 24) {\n apm = 'pm';\n value = hourValue === 12 ? 12 : hourValue % 12;\n } else {\n apm = 'am';\n value = hourValue % 12 === 0 ? 12 : hourValue;\n }\n }\n fullValues[token] = this.formatValue(token, value);\n fullValues.a = apm;\n fullValues.A = apm.toUpperCase();\n break\n }\n });\n }\n\n fullValues.m = this.formatValue('m', this.minute);\n fullValues.mm = this.formatValue('mm', this.minute);\n fullValues.s = this.formatValue('s', this.second);\n fullValues.ss = this.formatValue('ss', this.second);\n\n this.fullValues = fullValues;\n\n // On lazy mode, emit `input` and `change` events only when:\n // - The user pick a new value and then close the dropdown\n // - The user click the (\"x\") clear button\n if (!this.lazy || forceEmit) {\n this.emitTimeValue();\n }\n\n if (this.closeOnComplete && this.allValueSelected && this.showDropdown) {\n this.toggleActive();\n }\n },\n\n emitTimeValue () {\n if (!this.fullValues) { return }\n\n if (this.lazy && this.bakDisplayTime === this.displayTime) {\n if (this.debugMode) {\n this.debugLog('The value does not change on `lazy` mode. Skip the emitting `input` and `change` event.');\n }\n return\n }\n\n const fullValues = JSON.parse(JSON.stringify(this.fullValues));\n\n if (this.useStringValue) {\n this.$emit('update:modelValue', this.inputIsEmpty ? '' : String(this.displayTime));\n } else {\n const tokensInUse = this.inUse.tokens || [];\n const timeValue = {};\n tokensInUse.forEach((token) => {\n timeValue[token] = fullValues[token] || '';\n });\n this.$emit('update:modelValue', JSON.parse(JSON.stringify(timeValue)));\n }\n\n this.$emit('change', {\n data: fullValues,\n displayTime: this.inputIsEmpty ? '' : String(this.displayTime)\n });\n },\n\n translate12hRange (value) {\n const valueT = this.match12hRange(value);\n if (+valueT[1] === 12) {\n return +valueT[1] + (valueT[2].toLowerCase() === 'p' ? 0 : 12)\n }\n return +valueT[1] + (valueT[2].toLowerCase() === 'p' ? 12 : 0)\n },\n\n isDisabled (type, value) {\n if (!this.isBasicType(type) || !this.inUse[type]) { return true }\n switch (type) {\n case 'hour':\n return this.isDisabledHour(value)\n case 'minute':\n case 'second':\n if (!this[`${type}RangeList`]) {\n return false\n }\n return !this[`${type}RangeList`].includes(value)\n case 'apm':\n if (!this.restrictedHourRange) {\n return false\n }\n return !this.has[this.lowerCasedApm(value)]\n default:\n return true\n }\n },\n\n isDisabledHour (value) {\n if (!this.restrictedHourRange) { return false }\n if (this.baseOn12Hours) {\n if (!this.apm || !this.apm.length) {\n return false\n } else {\n const token = this.apm.toLowerCase() === 'am' ? 'a' : 'p';\n return !this.restrictedHourRange.includes(`${+value}${token}`)\n }\n }\n // Fallback for 'HH' and 'H hour format with a `hour-range` in a 12-hour form\n if (\n (this.hourType === 'HH' || this.hourType === 'H') &&\n +value === 0 && this.restrictedHourRange.includes(24)\n ) {\n return false\n }\n return !this.restrictedHourRange.includes(+value)\n },\n\n notInInterval (section, value) {\n if (!section || !this.isMinuteOrSecond(section)) { return }\n if (this.opts[`${section}Interval`] === 1) { return false }\n return +value % this.opts[`${section}Interval`] !== 0\n },\n\n renderRangeList (rawRange, section) {\n if (!rawRange || !section || !this.isMinuteOrSecond(section)) { return [] }\n const range = [];\n let formatedValue;\n rawRange.forEach(value => {\n if (value instanceof Array) {\n if (value.length > 2 && this.debugMode) {\n this.debugLog(`Nested array within \"${section}-range\" must contain no more than two items. Only the first two items of ${JSON.stringify(value)} will be taken into account.`);\n }\n const start = value[0];\n const end = value[1] || value[0];\n for (let i = +start; i <= +end; i++) {\n if (i < 0 || i > 59) { continue }\n formatedValue = this.formatValue(this.getTokenByType(section), i);\n if (!range.includes(formatedValue)) {\n range.push(formatedValue);\n }\n }\n } else {\n if (+value < 0 || +value > 59) { return }\n formatedValue = this.formatValue(this.getTokenByType(section), value);\n if (!range.includes(formatedValue)) {\n range.push(formatedValue);\n }\n }\n });\n range.sort((l, r) => { return l - r });\n // Debug Mode\n if (this.debugMode) {\n const fullList = (section === 'minute' ? this.minutes : this.seconds) || [];\n const validItems = fullList.filter(item => range.includes(item));\n if (!validItems || !validItems.length) {\n if (section === 'minute') {\n this.debugLog(`The minute list is empty due to the \"minute-range\" config\\nminute-range: ${JSON.stringify(this.minuteRange)}\\nminute-interval: ${this.opts.minuteInterval}`);\n } else {\n this.debugLog(`The second list is empty due to the \"second-range\" config\\nsecond-range: ${JSON.stringify(this.secondRange)}\\nsecond-interval: ${this.opts.secondInterval}`);\n }\n }\n }\n return range\n },\n\n forceApmSelection () {\n if (this.manualInput) {\n // Skip this to allow users to paste a string value from the clipboard in Manual Input mode\n return\n }\n if (this.apmType && !this.apm) {\n if (this.has.am || this.has.pm) {\n this.doClearApmChecking = true;\n const apmValue = this.has.am ? 'am' : 'pm';\n this.apm = this.apmType === 'A' ? apmValue.toUpperCase() : apmValue;\n }\n }\n },\n\n emptyApmSelection () {\n if (this.doClearApmChecking && this.hour === '' && this.minute === '' && this.second === '') {\n this.apm = '';\n }\n this.doClearApmChecking = false;\n },\n\n apmDisplayText (apmValue) {\n if (this.amText && this.lowerCasedApm(apmValue) === 'am') {\n return this.amText\n }\n if (this.pmText && this.lowerCasedApm(apmValue) === 'pm') {\n return this.pmText\n }\n return apmValue\n },\n\n toggleActive () {\n if (this.disabled) { return }\n this.isActive = !this.isActive;\n\n if (this.isActive) {\n this.isFocusing = true;\n if (this.manualInput) {\n this.$emit('focus');\n }\n if (!this.opts.hideDropdown) {\n this.setDropdownState(true);\n }\n // Record to check if value did change in the later phase\n if (this.lazy) {\n this.bakDisplayTime = String(this.displayTime || '');\n }\n if (this.manualInput && !this.inputIsEmpty) {\n nextTick(() => {\n if (this.$refs.input && this.$refs.input.selectionStart === 0 && this.$refs.input.selectionEnd === this.displayTime.length) {\n // Select the first slot instead of the whole value string when tabbed in\n this.selectFirstSlot();\n }\n });\n }\n } else {\n if (this.showDropdown) {\n this.setDropdownState(false);\n } else if (this.manualInput) {\n this.$emit('blur');\n }\n this.isFocusing = false;\n if (this.lazy) {\n this.fillValues(true);\n this.bakDisplayTime = undefined;\n }\n }\n\n if (this.restrictedHourRange && this.baseOn12Hours) {\n this.showDropdown ? this.forceApmSelection() : this.emptyApmSelection();\n }\n if (this.showDropdown) {\n this.checkForAutoScroll();\n }\n },\n\n setDropdownState (toShow, fromUserClick = false) {\n if (toShow) {\n this.keepFocusing();\n if (this.autoDirectionEnabled) {\n this.checkDropDirection();\n }\n this.showDropdown = true;\n this.$emit('open'); \n if (fromUserClick) {\n if (this.fixedDropdownButton) {\n this.isActive = true;\n }\n this.$emit('blur');\n this.checkForAutoScroll();\n }\n } else {\n this.showDropdown = false;\n this.$emit('close');\n }\n },\n\n blurEvent () {\n if (this.manualInput && !this.opts.hideDropdown) {\n // hideDropdown's `blur` event is handled somewhere else\n this.$emit('blur');\n }\n },\n\n select (type, value) {\n if (this.isBasicType(type) && !this.isDisabled(type, value)) {\n this[type] = value;\n if (this.doClearApmChecking) {\n this.doClearApmChecking = false;\n }\n }\n },\n\n clearTime () {\n if (this.disabled) { return }\n this.hour = '';\n this.minute = '';\n this.second = '';\n this.apm = '';\n\n if (this.manualInput && this.$refs && this.$refs.input && this.$refs.input.value.length) {\n this.$refs.input.value = '';\n }\n\n if (this.lazy) {\n this.fillValues(true);\n }\n },\n\n //\n // Auto-Scroll\n //\n\n checkForAutoScroll () {\n if (this.inputIsEmpty) { return }\n if (this.autoScroll) {\n nextTick(() => {\n this.scrollToSelectedValues();\n });\n } else if (this.advancedKeyboard) {\n // Auto-focus on selected value in the first column for advanced-keyboard\n nextTick(() => {\n const firstColumn = this.inUse.types[0];\n this.scrollToSelected(firstColumn, true);\n });\n }\n },\n\n scrollToSelected (column, allowFallback = false) {\n if (!this.timeValue || this.inputIsEmpty) { return }\n const targetList = this.$el.querySelectorAll(`ul.${column}s`)[0];\n let targetValue = this.activeItemInCol(column)[0];\n if (!targetValue && allowFallback) {\n // No value selected in the target column, fallback to the first found valid item\n targetValue = this.validItemsInCol(column)[0];\n }\n if (targetList && targetValue) {\n targetList.scrollTop = targetValue.offsetTop || 0;\n if (this.advancedKeyboard) {\n targetValue.focus();\n }\n }\n },\n\n scrollToSelectedValues () {\n if (!this.timeValue || this.inputIsEmpty) { return }\n this.inUse.types.forEach(section => {\n this.scrollToSelected(section);\n });\n },\n\n //\n // Additional Keyboard Navigation\n //\n\n onFocus () {\n if (this.disabled) { return }\n if (!this.isFocusing) {\n this.isFocusing = true;\n }\n if (!this.isActive) {\n this.toggleActive();\n }\n },\n\n escBlur () {\n if (this.disabled) { return }\n window.clearTimeout(this.debounceTimer);\n this.isFocusing = false;\n const inputBox = this.$el.querySelectorAll('input.vue__time-picker-input')[0];\n if (inputBox) {\n inputBox.blur();\n }\n },\n\n debounceBlur () {\n if (this.disabled) { return }\n this.isFocusing = false;\n window.clearTimeout(this.debounceTimer);\n this.debounceTimer = window.setTimeout(() => {\n window.clearTimeout(this.debounceTimer);\n this.onBlur();\n }, this.opts.blurDelay);\n },\n\n onBlur () {\n if (!this.disabled && !this.isFocusing && this.isActive) {\n this.toggleActive();\n }\n },\n\n keepFocusing () {\n if (this.disabled) { return }\n window.clearTimeout(this.debounceTimer);\n if (!this.isFocusing) {\n this.isFocusing = true;\n }\n },\n\n validItemsInCol (column) {\n const columnClass = `${column}s`;\n return this.$el.querySelectorAll(`ul.${columnClass} > li:not(.hint):not([disabled])`)\n },\n\n activeItemInCol (column) {\n const columnClass = `${column}s`;\n return this.$el.querySelectorAll(`ul.${columnClass} > li.active:not(.hint)`)\n },\n\n getClosestSibling (column, dataKey, getPrevious = false) {\n const siblingsInCol = this.validItemsInCol(column);\n const selfIndex = Array.prototype.findIndex.call(siblingsInCol, (sbl) => {\n return sbl.getAttribute('data-key') === dataKey\n });\n\n // Already the first item\n if (getPrevious && selfIndex === 0) {\n return siblingsInCol[siblingsInCol.length - 1]\n }\n // Already the last item\n if (!getPrevious && selfIndex === siblingsInCol.length - 1) {\n return siblingsInCol[0]\n }\n // Selected value not in the valid values list\n if (selfIndex < 0) {\n return siblingsInCol[0]\n }\n\n if (getPrevious) {\n return siblingsInCol[selfIndex - 1]\n }\n return siblingsInCol[selfIndex + 1]\n },\n\n prevItem (column, dataKey, isManualInput = false) {\n const targetItem = this.getClosestSibling(column, dataKey, true);\n if (targetItem) {\n return isManualInput ? targetItem : targetItem.focus()\n }\n },\n\n nextItem (column, dataKey, isManualInput = false) {\n const targetItem = this.getClosestSibling(column, dataKey, false);\n if (targetItem) {\n return isManualInput ? targetItem : targetItem.focus()\n }\n },\n\n getSideColumnName (currentColumn, toLeft = false) {\n const currentColumnIndex = this.inUse.types.indexOf(currentColumn);\n if (toLeft && currentColumnIndex <= 0) {\n if (this.debugMode) {\n this.debugLog('You\\'re in the leftmost list already');\n }\n return\n } else if (!toLeft && currentColumnIndex === (this.inUse.types.length - 1)) {\n if (this.debugMode) {\n this.debugLog('You\\'re in the rightmost list already');\n }\n return\n }\n return this.inUse.types[toLeft ? currentColumnIndex - 1 : currentColumnIndex + 1]\n },\n\n getFirstItemInSideColumn (currentColumn, toLeft = false) {\n const targetColumn = this.getSideColumnName(currentColumn, toLeft);\n if (!targetColumn) { return }\n const listItems = this.validItemsInCol(targetColumn);\n if (listItems && listItems[0]) {\n return listItems[0]\n }\n },\n\n getActiveItemInSideColumn (currentColumn, toLeft = false) {\n const targetColumn = this.getSideColumnName(currentColumn, toLeft);\n if (!targetColumn) { return }\n const activeItems = this.activeItemInCol(targetColumn);\n if (activeItems && activeItems[0]) {\n return activeItems[0]\n }\n },\n\n toLeftColumn (currentColumn) {\n const targetItem = this.getActiveItemInSideColumn(currentColumn, true) || this.getFirstItemInSideColumn(currentColumn, true);\n if (targetItem) {\n targetItem.focus();\n }\n },\n\n toRightColumn (currentColumn) {\n const targetItem = this.getActiveItemInSideColumn(currentColumn, false) || this.getFirstItemInSideColumn(currentColumn, false);\n if (targetItem) {\n targetItem.focus();\n }\n },\n\n //\n // Manual Input\n //\n\n onMouseDown () {\n if (!this.manualInput) { return }\n window.clearTimeout(this.selectionTimer);\n this.selectionTimer = window.setTimeout(() => {\n window.clearTimeout(this.selectionTimer);\n if (this.$refs && this.$refs.input) {\n const nearestSlot = this.getNearestChunkByPos(this.$refs.input.selectionStart || 0);\n this.debounceSetInputSelection(nearestSlot);\n }\n }, 50);\n },\n\n keyDownHandler (evt) {\n if (evt.isComposing || evt.keyCode === 229) {\n // Skip IME inputs\n evt.preventDefault();\n evt.stopPropagation();\n return false\n }\n // Numbers\n if ((evt.keyCode >= 48 && evt.keyCode <= 57) || (evt.keyCode >= 96 && evt.keyCode <= 105)) {\n evt.preventDefault();\n this.keyboardInput(evt.key);\n // A|P|M\n } else if ([65, 80, 77].includes(evt.keyCode)) {\n evt.preventDefault();\n this.keyboardInput(evt.key, true);\n // Arrow keys\n } else if (evt.keyCode >= 37 && evt.keyCode <= 40) {\n evt.preventDefault();\n this.clearKbInputLog();\n this.arrowHandler(evt);\n // Delete|Backspace\n } else if (evt.keyCode === 8 || evt.keyCode === 46) {\n evt.preventDefault();\n this.clearKbInputLog();\n this.clearTime();\n // Tab\n } else if (evt.keyCode === 9) {\n this.clearKbInputLog();\n this.tabHandler(evt);\n // Prevent any Non-ESC and non-pasting inputs\n } else if (evt.keyCode !== 27 && !(evt.metaKey || evt.ctrlKey)) {\n evt.preventDefault();\n }\n },\n\n onCompostionStart (evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.bakCurrentPos = this.getCurrentTokenChunk();\n return false\n },\n\n onCompostionEnd (evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n const cpsData = evt.data;\n let inputIsCustomApmText = false;\n if (this.has.customApmText) {\n inputIsCustomApmText = this.isCustomApmText(cpsData);\n }\n if (inputIsCustomApmText) {\n this.setSanitizedValueToSection('apm', inputIsCustomApmText);\n }\n\n this.$refs.input.value = this.has.customApmText ? this.customDisplayTime : this.displayTime;\n\n nextTick(() => {\n if (this.bakCurrentPos) {\n const bakPos = JSON.parse(JSON.stringify(this.bakCurrentPos));\n if (inputIsCustomApmText) {\n bakPos.end = (bakPos.start + cpsData.length);\n }\n this.debounceSetInputSelection(bakPos);\n this.bakCurrentPos = null;\n }\n });\n return false\n },\n\n pasteHandler (evt) {\n evt.preventDefault();\n let pastingText = (evt.clipboardData || window.clipboardData).getData('text');\n if (this.debugMode) {\n this.debugLog(`Pasting value \"${pastingText}\" from clipboard`);\n }\n if (!pastingText || !pastingText.length) { return }\n\n // Replace custom AM/PM text (if any)\n if (this.has.customApmText) {\n pastingText = this.replaceCustomApmText(pastingText);\n }\n\n if (this.inputIsEmpty) {\n this.readStringValues(pastingText);\n } else {\n this.kbInputLog = pastingText.substr(-2, 2);\n this.setKbInput();\n this.debounceClearKbLog();\n }\n },\n\n arrowHandler (evt) {\n const direction = { 37: 'L', 38: 'U', 39: 'R', 40: 'D' }[evt.keyCode];\n if (direction === 'U' || direction === 'D') {\n if (this.inputIsEmpty) {\n this.selectFirstValidValue();\n } else {\n const currentChunk = this.getCurrentTokenChunk();\n if (!currentChunk) {\n this.selectFirstValidValue();\n return\n }\n const tokenType = currentChunk.type;\n this.getClosestValidItemInCol(tokenType, this[tokenType], direction);\n const newChunkPos = this.getCurrentTokenChunk();\n this.debounceSetInputSelection(newChunkPos);\n }\n } else if (direction === 'R') {\n this.toLateralToken(false);\n } else if (direction === 'L') {\n this.toLateralToken(true);\n }\n },\n\n tabHandler (evt) { \n if (!this.inputIsEmpty && this.tokenChunksPos && this.tokenChunksPos.length) {\n const currentChunk = this.getCurrentTokenChunk();\n if (!currentChunk) { return }\n const firstChunk = this.tokenChunksPos[0];\n const lastChunk = this.tokenChunksPos[this.tokenChunksPos.length - 1];\n if ((evt.shiftKey && currentChunk.token !== firstChunk.token) || (!evt.shiftKey && currentChunk.token !== lastChunk.token)) {\n evt.preventDefault();\n this.toLateralToken(evt.shiftKey);\n }\n }\n },\n\n keyboardInput (newChar, isApm = false) {\n const currentChunk = this.getCurrentTokenChunk();\n if (!currentChunk || (currentChunk.type !== 'apm' && isApm) || (currentChunk.type === 'apm' && !isApm)) { return }\n this.kbInputLog = `${this.kbInputLog.substr(-1)}${newChar}`;\n this.setKbInput();\n this.debounceClearKbLog();\n },\n\n clearKbInputLog () {\n window.clearTimeout(this.kbInputTimer);\n this.kbInputLog = '';\n },\n\n debounceClearKbLog () {\n window.clearTimeout(this.kbInputTimer);\n this.kbInputTimer = window.setTimeout(() => {\n this.clearKbInputLog();\n }, this.opts.manualInputTimeout);\n },\n\n setKbInput (value) {\n value = value || this.kbInputLog;\n const currentChunk = this.getCurrentTokenChunk();\n if (!currentChunk || !value || !value.length) { return }\n const chunkType = currentChunk.type;\n const chunkToken = currentChunk.token;\n\n let validValue;\n if (chunkType === 'apm') {\n if (this.lowerCasedApm(value).includes('a')) {\n validValue = 'am';\n } else if (this.lowerCasedApm(value).includes('p')) {\n validValue = 'pm';\n }\n if (validValue) {\n validValue = chunkToken === 'A' ? validValue.toUpperCase() : validValue;\n }\n } else {\n if (this.isValidValue(chunkToken, value)) {\n validValue = value;\n } else {\n const lastInputValue = this.formatValue(chunkToken, value.substr(-1));\n if (this.isValidValue(chunkToken, lastInputValue)) {\n validValue = lastInputValue;\n }\n }\n }\n\n if (validValue) {\n this.setSanitizedValueToSection(chunkType, validValue);\n const newChunkPos = this.getCurrentTokenChunk();\n this.debounceSetInputSelection(newChunkPos); \n }\n if (this.debugMode) {\n if (validValue) {\n this.debugLog(`Successfully set value \"${validValue}\" from latest input \"${value}\" for the \"${chunkType}\" slot`);\n } else {\n this.debugLog(`Value \"${value}\" is invalid in the \"${chunkType}\" slot`);\n }\n }\n },\n\n // Form Autofill\n onChange () {\n if (!this.manualInput || !this.$refs || !this.$refs.input) { return }\n const autoFillValue = this.$refs.input.value || '';\n if (autoFillValue && autoFillValue.length) {\n this.readStringValues(autoFillValue);\n }\n },\n\n getNearestChunkByPos (startPos) {\n if (!this.tokenChunksPos || !this.tokenChunksPos.length) { return }\n let nearest;\n let nearestDelta = -1;\n for (let i = 0; i < this.tokenChunksPos.length; i++) {\n const chunk = JSON.parse(JSON.stringify(this.tokenChunksPos[i]));\n if (chunk.start === startPos) {\n return chunk\n }\n const delta = Math.abs(chunk.start - startPos);\n if (nearestDelta < 0) {\n nearest = chunk;\n nearestDelta = delta;\n } else {\n if (nearestDelta <= delta) {\n return nearest\n }\n nearestDelta = delta;\n nearest = chunk;\n }\n }\n return nearest\n },\n\n selectFirstValidValue () {\n if (!this.tokenChunksPos || !this.tokenChunksPos.length) { return }\n const firstSlotType = this.tokenChunksPos[0].type;\n if (firstSlotType === 'hour') {\n this.getClosestHourItem();\n } else {\n this.getClosestValidItemInCol(firstSlotType, this[firstSlotType]);\n }\n this.selectFirstSlot();\n },\n\n getClosestHourItem (currentValue, direction = 'U') {\n if (!this.validHoursList || !this.validHoursList.length) {\n if (this.debugMode) {\n this.debugLog(`No valid hour values found, please check your \"hour-range\" config\\nhour-range: ${JSON.stringify(this.hourRange)}`);\n }\n return\n }\n if (!currentValue) {\n this.setManualHour(this.validHoursList[0]);\n return\n }\n const currentIndex = this.validHoursList.findIndex(item => {\n if (!this.baseOn12Hours) {\n return item === currentValue\n } else {\n const valueKey = `${currentValue}${this.lowerCasedApm(this.apm) === 'pm' ? 'p' : 'a'}`; \n return item === valueKey\n }\n });\n let nextIndex;\n if (currentIndex === -1) {\n nextIndex = 0;\n } else if (direction === 'D') {\n nextIndex = currentIndex === 0 ? this.validHoursList.length - 1 : currentIndex - 1;\n } else {\n nextIndex = (currentIndex + 1) % this.validHoursList.length;\n }\n const nextItem = this.validHoursList[nextIndex];\n this.setManualHour(nextItem);\n },\n\n getClosestValidItemInCol (column, currentValue, direction = 'U') {\n if (column === 'hour') {\n this.getClosestHourItem(currentValue, direction);\n } else {\n const nextItem = direction === 'D' ? this.prevItem(column, this[column], true) : this.nextItem(column, this[column], true);\n if (nextItem) {\n this.select(column, nextItem.getAttribute('data-key'));\n }\n }\n },\n\n setSanitizedValueToSection (section, inputValue) {\n if (!section || !this.getTokenByType(section)) { return }\n // NOTE: Disabled values are allowed here, followed by an 'error' event, though\n const sanitizedValue = this.sanitizedValue(this.getTokenByType(section), inputValue);\n this[section] = sanitizedValue;\n },\n\n setManualHour (nextItem) {\n if (this.is12hRange(nextItem)) {\n const hourT = this.match12hRange(nextItem);\n const apmValue = hourT[2] === 'a' ? 'AM' : 'PM';\n this.setSanitizedValueToSection('apm', this.apmType === 'a' ? apmValue.toLowerCase() : apmValue);\n this.setSanitizedValueToSection('hour', hourT[1]);\n } else {\n this.setSanitizedValueToSection('hour', nextItem);\n }\n },\n\n debounceSetInputSelection ({start = 0, end = 0 }) {\n nextTick(() => {\n this.setInputSelectionRange(start, end);\n });\n window.clearTimeout(this.selectionTimer);\n this.selectionTimer = window.setTimeout(() => {\n window.clearTimeout(this.selectionTimer);\n // Double-check selection for 12hr format\n if (this.$refs.input && (this.$refs.input.selectionStart !== start || this.$refs.input.selectionEnd !== end)) {\n this.setInputSelectionRange(start, end);\n }\n }, 30);\n },\n\n setInputSelectionRange (start, end) {\n if (this.$refs && this.$refs.input) {\n this.$refs.input.setSelectionRange(start, end);\n }\n },\n\n getCurrentTokenChunk () {\n return this.getNearestChunkByPos((this.$refs.input && this.$refs.input.selectionStart) || 0)\n },\n\n selectFirstSlot () {\n const firstChunkPos = this.getNearestChunkByPos(0);\n this.debounceSetInputSelection(firstChunkPos);\n },\n\n toLateralToken (toLeft) {\n const currentChunk = this.getCurrentTokenChunk();\n if (!currentChunk) {\n this.selectFirstValidValue();\n return\n }\n const currentChunkIndex = this.tokenChunksPos.findIndex(chk => chk.token === currentChunk.token);\n if ((!toLeft && currentChunkIndex >= this.tokenChunksPos.length - 1) || (toLeft && currentChunkIndex === 0)) {\n if (this.debugMode) {\n if (toLeft) {\n this.debugLog('You\\'re in the leftmost slot already');\n } else {\n this.debugLog('You\\'re in the rightmost slot already');\n }\n }\n return\n }\n const targetSlotPos = toLeft ? this.tokenChunksPos[currentChunkIndex - 1] : this.tokenChunksPos[currentChunkIndex + 1];\n this.debounceSetInputSelection(targetSlotPos);\n },\n\n isCustomApmText (inputData) {\n if (!inputData || !inputData.length) { return false }\n if (this.amText && this.amText === inputData) {\n return this.apmType === 'A' ? 'AM' : 'am'\n }\n if (this.pmText && this.pmText === inputData) {\n return this.apmType === 'A' ? 'PM' : 'pm'\n }\n return false\n },\n\n replaceCustomApmText (inputString) {\n if (this.amText && this.amText.length && inputString.includes(this.amText)) {\n return inputString.replace(new RegExp(this.amText, 'g'), this.apmType === 'A' ? 'AM' : 'am')\n } else if (this.pmText && this.pmText.length && inputString.includes(this.pmText)) {\n return inputString.replace(new RegExp(this.pmText, 'g'), this.apmType === 'A' ? 'PM' : 'pm')\n }\n return inputString\n },\n\n checkDropDirection () {\n if (!this.$el) { return }\n let container;\n if (this.containerId && this.containerId.length) {\n container = document.getElementById(this.containerId);\n if (!container && this.debugMode) {\n this.debugLog(`Container with id \"${this.containerId}\" not found. Fallback to document body.`);\n }\n }\n const el = this.$el;\n let spaceDown;\n if (container && container.offsetHeight) {\n // Valid container found\n spaceDown = (container.offsetTop + container.offsetHeight) - (el.offsetTop + el.offsetHeight);\n } else {\n // Fallback to document body\n const docHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n spaceDown = docHeight - (el.offsetTop + el.offsetHeight);\n }\n this.forceDropOnTop = this.opts.dropOffsetHeight > spaceDown;\n },\n\n //\n // Helpers\n //\n\n is12hRange (value) {\n return /^\\d{1,2}(a|p|A|P)$/.test(value)\n },\n\n match12hRange (value) {\n return value.match(/^(\\d{1,2})(a|p|A|P)$/)\n },\n\n isNumber (value) {\n return !isNaN(parseFloat(value)) && isFinite(value)\n },\n\n isBasicType (type) {\n return CONFIG.BASIC_TYPES.includes(type)\n },\n\n lowerCasedApm (apmValue) {\n return (apmValue || '').toLowerCase()\n },\n\n getTokenRegex (token) {\n switch (token) {\n case 'HH':\n return '([01][0-9]|2[0-3]|H{2})'\n case 'H':\n return '([0-9]{1}|1[0-9]|2[0-3]|H{1})'\n case 'hh':\n return '(0[1-9]|1[0-2]|h{2})'\n case 'h':\n return '([1-9]{1}|1[0-2]|h{1})'\n case 'kk':\n return '(0[1-9]|1[0-9]|2[0-4]|k{2})'\n case 'k':\n return '([1-9]{1}|1[0-9]|2[0-4]|k{1})'\n case 'mm':\n return '([0-5][0-9]|m{2})'\n case 'ss':\n return '([0-5][0-9]|s{2})'\n case 'm':\n return '([0-9]{1}|[1-5][0-9]|m{1})'\n case 's':\n return '([0-9]{1}|[1-5][0-9]|s{1})'\n case 'A':\n return '(AM|PM|A{1})'\n case 'a':\n return '(am|pm|a{1})'\n default:\n return ''\n }\n },\n\n isEmptyValue (targetToken, testValue) {\n return (!testValue || !testValue.length) || (testValue && testValue === targetToken)\n },\n\n isValidValue (targetToken, testValue) {\n if (!targetToken || this.isEmptyValue(targetToken, testValue)) { return false }\n const tokenRegexStr = this.getTokenRegex(targetToken);\n if (!tokenRegexStr || !tokenRegexStr.length) { return false }\n return (new RegExp(`^${tokenRegexStr}$`)).test(testValue)\n },\n\n sanitizedValue (targetToken, inputValue) {\n if (this.isValidValue(targetToken, inputValue)) {\n return inputValue\n }\n return ''\n },\n\n getTokenType (token) {\n return this.inUse.types[this.inUse.tokens.indexOf(token)] || ''\n },\n\n getTokenByType (type) {\n return this[`${type}Type`] || ''\n },\n\n isMinuteOrSecond (type) {\n return ['minute', 'second'].includes(type)\n },\n\n // Breaking attribution coercion changes in Vue 3\n // > https://v3.vuejs.org/guide/migration/attribute-coercion.html#overview\n booleanAttr (isTrue = false) {\n return isTrue ? true : null\n },\n\n debugLog (logText) {\n if (!logText || !logText.length) { return }\n let identifier = '';\n if (this.id) {\n identifier += `#${this.id}`;\n }\n if (this.name) {\n identifier += `[name=${this.name}]`;\n }\n if (this.inputClass) {\n let inputClasses = [];\n if (typeof this.inputClass === 'string') {\n inputClasses = this.inputClass.split(/\\s/g);\n } else if (Array.isArray(this.inputClass)) {\n inputClasses = [].concat([], this.inputClass);\n } else if (typeof this.inputClass === 'object') {\n Object.keys(this.inputClass).forEach(clsName => {\n if (this.inputClass[clsName]) {\n inputClasses.push(clsName);\n }\n });\n }\n for (let inputClass of inputClasses) {\n if (inputClass && inputClass.trim().length) {\n identifier += `.${inputClass.trim()}`;\n }\n }\n }\n const finalLogText = `DEBUG: ${logText}${identifier ? `\\n\\t(${identifier})` : '' }`;\n if (window.console.debug && typeof window.console.debug === 'function') {\n window.console.debug(finalLogText);\n } else {\n window.console.log(finalLogText);\n }\n }\n },\n\n mounted () {\n window.clearTimeout(this.debounceTimer);\n window.clearTimeout(this.selectionTimer);\n window.clearTimeout(this.kbInputTimer);\n this.renderFormat();\n },\n\n beforeUnmount () {\n window.clearTimeout(this.debounceTimer);\n window.clearTimeout(this.selectionTimer);\n window.clearTimeout(this.kbInputTimer);\n }\n};\n\nconst _hoisted_1 = {\n key: 0,\n class: \"controls\",\n tabindex: \"-1\"\n};\nconst _hoisted_2 = /*#__PURE__*/createVNode(\"span\", { class: \"char\" }, \"×\", -1 /* HOISTED */);\nconst _hoisted_3 = /*#__PURE__*/createVNode(\"span\", { class: \"char\" }, \"▾\", -1 /* HOISTED */);\nconst _hoisted_4 = {\n key: 1,\n class: \"custom-icon\"\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createBlock(\"span\", {\n class: \"vue__time-picker\",\n style: $options.inputWidthStyle\n }, [\n createVNode(\"input\", {\n type: \"text\",\n class: [\"vue__time-picker-input\", [$props.inputClass, {'is-empty': $options.inputIsEmpty, 'invalid': $options.hasInvalidInput, 'all-selected': $options.allValueSelected, 'disabled': $props.disabled, 'has-custom-icon': _ctx.$slots && _ctx.$slots.icon }]],\n ref: \"input\",\n style: $options.inputWidthStyle,\n id: $props.id,\n name: $props.name,\n value: $options.inputIsEmpty ? null : $options.customDisplayTime,\n placeholder: $props.placeholder ? $props.placeholder : $options.formatString,\n tabindex: $props.disabled ? -1 : $props.tabindex,\n disabled: $options.booleanAttr($props.disabled),\n readonly: $options.booleanAttr(!$props.manualInput),\n autocomplete: $props.autocomplete,\n onFocus: _cache[1] || (_cache[1] = (...args) => ($options.onFocus(...args))),\n onChange: _cache[2] || (_cache[2] = (...args) => ($options.onChange(...args))),\n onBlur: _cache[3] || (_cache[3] = $event => {$options.debounceBlur(); $options.blurEvent();}),\n onMousedown: _cache[4] || (_cache[4] = (...args) => ($options.onMouseDown(...args))),\n onKeydown: [\n _cache[5] || (_cache[5] = (...args) => ($options.keyDownHandler(...args))),\n _cache[9] || (_cache[9] = withKeys(withModifiers((...args) => ($options.escBlur(...args)), [\"exact\"]), [\"esc\"]))\n ],\n onCompositionstart: _cache[6] || (_cache[6] = (...args) => ($options.onCompostionStart(...args))),\n onCompositionend: _cache[7] || (_cache[7] = (...args) => ($options.onCompostionEnd(...args))),\n onPaste: _cache[8] || (_cache[8] = (...args) => ($options.pasteHandler(...args)))\n }, null, 46 /* CLASS, STYLE, PROPS, HYDRATE_EVENTS */, [\"id\", \"name\", \"value\", \"placeholder\", \"tabindex\", \"disabled\", \"readonly\", \"autocomplete\"]),\n ($options.showClearBtn || $options.showDropdownBtn)\n ? (openBlock(), createBlock(\"div\", _hoisted_1, [\n (!$data.isActive && $options.showClearBtn)\n ? (openBlock(), createBlock(\"span\", {\n key: 0,\n class: [\"clear-btn\", {'has-custom-btn': _ctx.$slots && _ctx.$slots.clearButton }],\n tabindex: \"-1\",\n onClick: _cache[10] || (_cache[10] = (...args) => ($options.clearTime(...args)))\n }, [\n renderSlot(_ctx.$slots, \"clearButton\", {}, () => [\n _hoisted_2\n ])\n ], 2 /* CLASS */))\n : createCommentVNode(\"v-if\", true),\n ($options.showDropdownBtn)\n ? (openBlock(), createBlock(\"span\", {\n key: 1,\n class: [\"dropdown-btn\", {'has-custom-btn': _ctx.$slots && _ctx.$slots.dropdownButton }],\n tabindex: \"-1\",\n onClick: _cache[11] || (_cache[11] = $event => ($options.setDropdownState($props.fixedDropdownButton ? !$data.showDropdown : true, true))),\n onMousedown: _cache[12] || (_cache[12] = (...args) => ($options.keepFocusing(...args)))\n }, [\n renderSlot(_ctx.$slots, \"dropdownButton\", {}, () => [\n _hoisted_3\n ])\n ], 34 /* CLASS, HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true)\n ]))\n : createCommentVNode(\"v-if\", true),\n (_ctx.$slots && _ctx.$slots.icon)\n ? (openBlock(), createBlock(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\")\n ]))\n : createCommentVNode(\"v-if\", true),\n ($data.showDropdown)\n ? (openBlock(), createBlock(\"div\", {\n key: 2,\n class: \"time-picker-overlay\",\n onClick: _cache[13] || (_cache[13] = (...args) => ($options.toggleActive(...args))),\n tabindex: \"-1\"\n }))\n : createCommentVNode(\"v-if\", true),\n withDirectives(createVNode(\"div\", {\n class: [\"dropdown\", [$options.dropdownDirClass]],\n tabindex: \"-1\",\n style: $options.inputWidthStyle,\n onMouseup: _cache[42] || (_cache[42] = (...args) => ($options.keepFocusing(...args))),\n onClick: _cache[43] || (_cache[43] = withModifiers(() => {}, [\"stop\"]))\n }, [\n createVNode(\"div\", {\n class: \"select-list\",\n style: $options.inputWidthStyle,\n tabindex: \"-1\"\n }, [\n createCommentVNode(\" Common Keyboard Support: less event listeners \"),\n (!$props.advancedKeyboard)\n ? (openBlock(true), createBlock(Fragment, { key: 0 }, renderList($options.columnsSequence, (column) => {\n return (openBlock(), createBlock(Fragment, { key: column }, [\n (column === 'hour')\n ? (openBlock(), createBlock(\"ul\", {\n key: 0,\n class: \"hours\",\n onScroll: _cache[14] || (_cache[14] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.hourLabelText)\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.hours, (hr, hIndex) => {\n return (openBlock(), createBlock(Fragment, { key: hIndex }, [\n (!$options.opts.hideDisabledHours || ($options.opts.hideDisabledHours && !$options.isDisabled('hour', hr)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.hour === hr},\n disabled: $options.booleanAttr($options.isDisabled('hour', hr)),\n \"data-key\": hr,\n textContent: toDisplayString(hr),\n onClick: $event => ($options.select('hour', hr))\n }, null, 10 /* CLASS, PROPS */, [\"disabled\", \"data-key\", \"textContent\", \"onClick\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n (column === 'minute')\n ? (openBlock(), createBlock(\"ul\", {\n key: 1,\n class: \"minutes\",\n onScroll: _cache[15] || (_cache[15] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.minuteLabelText)\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.minutes, (m, mIndex) => {\n return (openBlock(), createBlock(Fragment, { key: mIndex }, [\n (!$options.opts.hideDisabledMinutes || ($options.opts.hideDisabledMinutes && !$options.isDisabled('minute', m)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.minute === m},\n disabled: $options.booleanAttr($options.isDisabled('minute', m)),\n \"data-key\": m,\n textContent: toDisplayString(m),\n onClick: $event => ($options.select('minute', m))\n }, null, 10 /* CLASS, PROPS */, [\"disabled\", \"data-key\", \"textContent\", \"onClick\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n (column === 'second')\n ? (openBlock(), createBlock(\"ul\", {\n key: 2,\n class: \"seconds\",\n onScroll: _cache[16] || (_cache[16] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.secondLabelText)\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.seconds, (s, sIndex) => {\n return (openBlock(), createBlock(Fragment, { key: sIndex }, [\n (!$options.opts.hideDisabledSeconds || ($options.opts.hideDisabledSeconds && !$options.isDisabled('second', s)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.second === s},\n disabled: $options.booleanAttr($options.isDisabled('second', s)),\n \"data-key\": s,\n textContent: toDisplayString(s),\n onClick: $event => ($options.select('second', s))\n }, null, 10 /* CLASS, PROPS */, [\"disabled\", \"data-key\", \"textContent\", \"onClick\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n (column === 'apm')\n ? (openBlock(), createBlock(\"ul\", {\n key: 3,\n class: \"apms\",\n onScroll: _cache[17] || (_cache[17] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.apmLabelText)\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.apms, (a, aIndex) => {\n return (openBlock(), createBlock(Fragment, { key: aIndex }, [\n (!$options.opts.hideDisabledHours || ($options.opts.hideDisabledHours && !$options.isDisabled('apm', a)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.apm === a},\n disabled: $options.booleanAttr($options.isDisabled('apm', a)),\n \"data-key\": a,\n textContent: toDisplayString($options.apmDisplayText(a)),\n onClick: $event => ($options.select('apm', a))\n }, null, 10 /* CLASS, PROPS */, [\"disabled\", \"data-key\", \"textContent\", \"onClick\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" / Common Keyboard Support \"),\n createCommentVNode(\"\\n Advanced Keyboard Support\\n Addeds hundreds of additional event lisenters\\n \"),\n ($props.advancedKeyboard)\n ? (openBlock(true), createBlock(Fragment, { key: 1 }, renderList($options.columnsSequence, (column) => {\n return (openBlock(), createBlock(Fragment, { key: column }, [\n (column === 'hour')\n ? (openBlock(), createBlock(\"ul\", {\n key: 0,\n class: \"hours\",\n tabindex: \"-1\",\n onScroll: _cache[23] || (_cache[23] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.hourLabelText),\n tabindex: \"-1\"\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.hours, (hr, hIndex) => {\n return (openBlock(), createBlock(Fragment, { key: hIndex }, [\n (!$options.opts.hideDisabledHours || ($options.opts.hideDisabledHours && !$options.isDisabled('hour', hr)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.hour === hr},\n tabindex: $options.isDisabled('hour', hr) ? -1 : $props.tabindex,\n \"data-key\": hr,\n disabled: $options.booleanAttr($options.isDisabled('hour', hr)),\n textContent: toDisplayString(hr),\n onClick: $event => ($options.select('hour', hr)),\n onKeydown: [\n withKeys(withModifiers($event => ($options.select('hour', hr)), [\"prevent\"]), [\"space\"]),\n withKeys(withModifiers($event => ($options.select('hour', hr)), [\"prevent\"]), [\"enter\"]),\n withKeys(withModifiers($event => ($options.prevItem('hour', hr)), [\"prevent\"]), [\"up\"]),\n withKeys(withModifiers($event => ($options.nextItem('hour', hr)), [\"prevent\"]), [\"down\"]),\n _cache[18] || (_cache[18] = withKeys(withModifiers($event => ($options.toLeftColumn('hour')), [\"prevent\"]), [\"left\"])),\n _cache[19] || (_cache[19] = withKeys(withModifiers($event => ($options.toRightColumn('hour')), [\"prevent\"]), [\"right\"])),\n _cache[20] || (_cache[20] = withKeys(withModifiers((...args) => ($options.debounceBlur(...args)), [\"exact\"]), [\"esc\"]))\n ],\n onBlur: _cache[21] || (_cache[21] = (...args) => ($options.debounceBlur(...args))),\n onFocus: _cache[22] || (_cache[22] = (...args) => ($options.keepFocusing(...args)))\n }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"tabindex\", \"data-key\", \"disabled\", \"textContent\", \"onClick\", \"onKeydown\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n (column === 'minute')\n ? (openBlock(), createBlock(\"ul\", {\n key: 1,\n class: \"minutes\",\n tabindex: \"-1\",\n onScroll: _cache[29] || (_cache[29] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.minuteLabelText),\n tabindex: \"-1\"\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.minutes, (m, mIndex) => {\n return (openBlock(), createBlock(Fragment, { key: mIndex }, [\n (!$options.opts.hideDisabledMinutes || ($options.opts.hideDisabledMinutes && !$options.isDisabled('minute', m)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.minute === m},\n tabindex: $options.isDisabled('minute', m) ? -1 : $props.tabindex,\n \"data-key\": m,\n disabled: $options.booleanAttr($options.isDisabled('minute', m)),\n textContent: toDisplayString(m),\n onClick: $event => ($options.select('minute', m)),\n onKeydown: [\n withKeys(withModifiers($event => ($options.select('minute', m)), [\"prevent\"]), [\"space\"]),\n withKeys(withModifiers($event => ($options.select('minute', m)), [\"prevent\"]), [\"enter\"]),\n withKeys(withModifiers($event => ($options.prevItem('minute', m)), [\"prevent\"]), [\"up\"]),\n withKeys(withModifiers($event => ($options.nextItem('minute', m)), [\"prevent\"]), [\"down\"]),\n _cache[24] || (_cache[24] = withKeys(withModifiers($event => ($options.toLeftColumn('minute')), [\"prevent\"]), [\"left\"])),\n _cache[25] || (_cache[25] = withKeys(withModifiers($event => ($options.toRightColumn('minute')), [\"prevent\"]), [\"right\"])),\n _cache[26] || (_cache[26] = withKeys(withModifiers((...args) => ($options.debounceBlur(...args)), [\"exact\"]), [\"esc\"]))\n ],\n onBlur: _cache[27] || (_cache[27] = (...args) => ($options.debounceBlur(...args))),\n onFocus: _cache[28] || (_cache[28] = (...args) => ($options.keepFocusing(...args)))\n }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"tabindex\", \"data-key\", \"disabled\", \"textContent\", \"onClick\", \"onKeydown\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n (column === 'second')\n ? (openBlock(), createBlock(\"ul\", {\n key: 2,\n class: \"seconds\",\n tabindex: \"-1\",\n onScroll: _cache[35] || (_cache[35] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.secondLabelText),\n tabindex: \"-1\"\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.seconds, (s, sIndex) => {\n return (openBlock(), createBlock(Fragment, { key: sIndex }, [\n (!$options.opts.hideDisabledSeconds || ($options.opts.hideDisabledSeconds && !$options.isDisabled('second', s)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.second === s},\n tabindex: $options.isDisabled('second', s) ? -1 : $props.tabindex,\n \"data-key\": s,\n disabled: $options.booleanAttr($options.isDisabled('second', s)),\n textContent: toDisplayString(s),\n onClick: $event => ($options.select('second', s)),\n onKeydown: [\n withKeys(withModifiers($event => ($options.select('second', s)), [\"prevent\"]), [\"space\"]),\n withKeys(withModifiers($event => ($options.select('second', s)), [\"prevent\"]), [\"enter\"]),\n withKeys(withModifiers($event => ($options.prevItem('second', s)), [\"prevent\"]), [\"up\"]),\n withKeys(withModifiers($event => ($options.nextItem('second', s)), [\"prevent\"]), [\"down\"]),\n _cache[30] || (_cache[30] = withKeys(withModifiers($event => ($options.toLeftColumn('second')), [\"prevent\"]), [\"left\"])),\n _cache[31] || (_cache[31] = withKeys(withModifiers($event => ($options.toRightColumn('second')), [\"prevent\"]), [\"right\"])),\n _cache[32] || (_cache[32] = withKeys(withModifiers((...args) => ($options.debounceBlur(...args)), [\"exact\"]), [\"esc\"]))\n ],\n onBlur: _cache[33] || (_cache[33] = (...args) => ($options.debounceBlur(...args))),\n onFocus: _cache[34] || (_cache[34] = (...args) => ($options.keepFocusing(...args)))\n }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"tabindex\", \"data-key\", \"disabled\", \"textContent\", \"onClick\", \"onKeydown\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n (column === 'apm')\n ? (openBlock(), createBlock(\"ul\", {\n key: 3,\n class: \"apms\",\n tabindex: \"-1\",\n onScroll: _cache[41] || (_cache[41] = (...args) => ($options.keepFocusing(...args)))\n }, [\n createVNode(\"li\", {\n class: \"hint\",\n textContent: toDisplayString($options.apmLabelText),\n tabindex: \"-1\"\n }, null, 8 /* PROPS */, [\"textContent\"]),\n (openBlock(true), createBlock(Fragment, null, renderList($data.apms, (a, aIndex) => {\n return (openBlock(), createBlock(Fragment, { key: aIndex }, [\n (!$options.opts.hideDisabledHours || ($options.opts.hideDisabledHours && !$options.isDisabled('apm', a)))\n ? (openBlock(), createBlock(\"li\", {\n key: 0,\n class: {active: $data.apm === a},\n tabindex: $options.isDisabled('apm', a) ? -1 : $props.tabindex,\n \"data-key\": a,\n disabled: $options.booleanAttr($options.isDisabled('apm', a)),\n textContent: toDisplayString($options.apmDisplayText(a)),\n onClick: $event => ($options.select('apm', a)),\n onKeydown: [\n withKeys(withModifiers($event => ($options.select('apm', a)), [\"prevent\"]), [\"space\"]),\n withKeys(withModifiers($event => ($options.select('apm', a)), [\"prevent\"]), [\"enter\"]),\n withKeys(withModifiers($event => ($options.prevItem('apm', a)), [\"prevent\"]), [\"up\"]),\n withKeys(withModifiers($event => ($options.nextItem('apm', a)), [\"prevent\"]), [\"down\"]),\n _cache[36] || (_cache[36] = withKeys(withModifiers($event => ($options.toLeftColumn('apm')), [\"prevent\"]), [\"left\"])),\n _cache[37] || (_cache[37] = withKeys(withModifiers($event => ($options.toRightColumn('apm')), [\"prevent\"]), [\"right\"])),\n _cache[38] || (_cache[38] = withKeys(withModifiers((...args) => ($options.debounceBlur(...args)), [\"exact\"]), [\"esc\"]))\n ],\n onBlur: _cache[39] || (_cache[39] = (...args) => ($options.debounceBlur(...args))),\n onFocus: _cache[40] || (_cache[40] = (...args) => ($options.keepFocusing(...args)))\n }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"tabindex\", \"data-key\", \"disabled\", \"textContent\", \"onClick\", \"onKeydown\"]))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true)\n ], 64 /* STABLE_FRAGMENT */))\n }), 128 /* KEYED_FRAGMENT */))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" / Advanced Keyboard Support \")\n ], 4 /* STYLE */)\n ], 38 /* CLASS, STYLE, HYDRATE_EVENTS */), [\n [vShow, $data.showDropdown]\n ])\n ], 4 /* STYLE */))\n}\n\nscript.render = render;\nscript.__file = \"src/VueTimepicker.vue\";\n\nexport default script;\n//# sourceMappingURL=VueTimepikcer.esm.js.map\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports);\n global.bodyScrollLock = mod.exports;\n }\n})(this, function (exports) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n // Older browsers don't support event options, feature detect it.\n\n // Adopted and modified solution from Bohdan Didukh (2017)\n // https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\n var hasPassiveEvents = false;\n if (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n }\n\n var isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && /iP(ad|hone|od)/.test(window.navigator.platform);\n\n\n var locks = [];\n var documentListenerAdded = false;\n var initialClientY = -1;\n var previousBodyOverflowSetting = void 0;\n var previousBodyPaddingRight = void 0;\n\n // returns true if `el` should be allowed to receive touchmove events.\n var allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n };\n\n var preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n };\n\n var setOverflowHidden = function setOverflowHidden(options) {\n // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n // the responsiveness for some reason. Setting within a setTimeout fixes this.\n setTimeout(function () {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n });\n };\n\n var restoreOverflowSetting = function restoreOverflowSetting() {\n // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n // the responsiveness for some reason. Setting within a setTimeout fixes this.\n setTimeout(function () {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n });\n };\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\n var isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n };\n\n var handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n };\n\n var disableBodyScroll = exports.disableBodyScroll = function disableBodyScroll(targetElement, options) {\n if (isIosDevice) {\n // targetElement must be provided, and disableBodyScroll must not have been\n // called on this targetElement before.\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n if (targetElement && !locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n }\n } else {\n setOverflowHidden(options);\n var _lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [_lock]);\n }\n };\n\n var clearAllBodyScrollLocks = exports.clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n locks = [];\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n locks = [];\n }\n };\n\n var enableBodyScroll = exports.enableBodyScroll = function enableBodyScroll(targetElement) {\n if (isIosDevice) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n\n documentListenerAdded = false;\n }\n } else {\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n if (!locks.length) {\n restoreOverflowSetting();\n }\n }\n };\n});\n\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the <style>.\r\n * @param {string} css - the CSS to be injected.\r\n */\r\nfunction injectCSS(rootNode, css) {\r\n\t// https://stackoverflow.com/q/3922139\r\n\tvar expando = rootNode[EXPANDO_KEY] || (rootNode[EXPANDO_KEY] = {});\r\n\tif (!expando.containsStyles) {\r\n\t\texpando.containsStyles = true;\r\n\t\tcss = '/* Chart.js */\\n' + css;\r\n\t\tvar style = document.createElement('style');\r\n\t\tstyle.setAttribute('type', 'text/css');\r\n\t\tstyle.appendChild(document.createTextNode(css));\r\n\t\trootNode.appendChild(style);\r\n\t}\r\n}\r\n\r\nvar platform_dom$2 = {\r\n\t/**\r\n\t * When `true`, prevents the automatic injection of the stylesheet required to\r\n\t * correctly detect when the chart is added to the DOM and then resized. This\r\n\t * switch has been added to allow external stylesheet (`dist/Chart(.min)?.js`)\r\n\t * to be manually imported to make this library compatible with any CSP.\r\n\t * See https://github.com/chartjs/Chart.js/issues/5208\r\n\t */\r\n\tdisableCSSInjection: false,\r\n\r\n\t/**\r\n\t * This property holds whether this platform is enabled for the current environment.\r\n\t * Currently used by platform.js to select the proper implementation.\r\n\t * @private\r\n\t */\r\n\t_enabled: typeof window !== 'undefined' && typeof document !== 'undefined',\r\n\r\n\t/**\r\n\t * Initializes resources that depend on platform options.\r\n\t * @param {HTMLCanvasElement} canvas - The Canvas element.\r\n\t * @private\r\n\t */\r\n\t_ensureLoaded: function(canvas) {\r\n\t\tif (!this.disableCSSInjection) {\r\n\t\t\t// If the canvas is in a shadow DOM, then the styles must also be inserted\r\n\t\t\t// into the same shadow DOM.\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5763\r\n\t\t\tvar root = canvas.getRootNode ? canvas.getRootNode() : document;\r\n\t\t\tvar targetNode = root.host ? root : document.head;\r\n\t\t\tinjectCSS(targetNode, stylesheet);\r\n\t\t}\r\n\t},\r\n\r\n\tacquireContext: function(item, config) {\r\n\t\tif (typeof item === 'string') {\r\n\t\t\titem = document.getElementById(item);\r\n\t\t} else if (item.length) {\r\n\t\t\t// Support for array based queries (such as jQuery)\r\n\t\t\titem = item[0];\r\n\t\t}\r\n\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\r\n\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\r\n\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\tvar context = item && item.getContext && item.getContext('2d');\r\n\r\n\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\r\n\t\t// inside an iframe or when running in a protected environment. We could guess the\r\n\t\t// types from their toString() value but let's keep things flexible and assume it's\r\n\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\r\n\t\t// https://github.com/chartjs/Chart.js/issues/3887\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4102\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4152\r\n\t\tif (context && context.canvas === item) {\r\n\t\t\t// Load platform resources on first chart creation, to make it possible to\r\n\t\t\t// import the library before setting platform options.\r\n\t\t\tthis._ensureLoaded(item);\r\n\t\t\tinitCanvas(item, config);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\treleaseContext: function(context) {\r\n\t\tvar canvas = context.canvas;\r\n\t\tif (!canvas[EXPANDO_KEY]) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar initial = canvas[EXPANDO_KEY].initial;\r\n\t\t['height', 'width'].forEach(function(prop) {\r\n\t\t\tvar value = initial[prop];\r\n\t\t\tif (helpers$1.isNullOrUndef(value)) {\r\n\t\t\t\tcanvas.removeAttribute(prop);\r\n\t\t\t} else {\r\n\t\t\t\tcanvas.setAttribute(prop, value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.each(initial.style || {}, function(value, key) {\r\n\t\t\tcanvas.style[key] = value;\r\n\t\t});\r\n\r\n\t\t// The canvas render size might have been changed (and thus the state stack discarded),\r\n\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\r\n\t\t// least the canvas context is reset to the default state by setting the canvas width.\r\n\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\r\n\t\t// eslint-disable-next-line no-self-assign\r\n\t\tcanvas.width = canvas.width;\r\n\r\n\t\tdelete canvas[EXPANDO_KEY];\r\n\t},\r\n\r\n\taddEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\taddResizeListener(canvas, listener, chart);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || (listener[EXPANDO_KEY] = {});\r\n\t\tvar proxies = expando.proxies || (expando.proxies = {});\r\n\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\r\n\t\t\tlistener(fromNativeEvent(event, chart));\r\n\t\t};\r\n\r\n\t\taddListener(canvas, type, proxy);\r\n\t},\r\n\r\n\tremoveEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\tremoveResizeListener(canvas);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || {};\r\n\t\tvar proxies = expando.proxies || {};\r\n\t\tvar proxy = proxies[chart.id + '_' + type];\r\n\t\tif (!proxy) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tremoveListener(canvas, type, proxy);\r\n\t}\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.addEventListener instead.\r\n * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\r\n * @function Chart.helpers.addEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.addEvent = addListener;\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.removeEventListener instead.\r\n * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener\r\n * @function Chart.helpers.removeEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.removeEvent = removeListener;\n\n// @TODO Make possible to select another platform at build time.\r\nvar implementation = platform_dom$2._enabled ? platform_dom$2 : platform_basic;\r\n\r\n/**\r\n * @namespace Chart.platform\r\n * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\r\n * @since 2.4.0\r\n */\r\nvar platform = helpers$1.extend({\r\n\t/**\r\n\t * @since 2.7.0\r\n\t */\r\n\tinitialize: function() {},\r\n\r\n\t/**\r\n\t * Called at chart construction time, returns a context2d instance implementing\r\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\r\n\t * @param {*} item - The native item from which to acquire context (platform specific)\r\n\t * @param {object} options - The chart options\r\n\t * @returns {CanvasRenderingContext2D} context2d instance\r\n\t */\r\n\tacquireContext: function() {},\r\n\r\n\t/**\r\n\t * Called at chart destruction time, releases any resources associated to the context\r\n\t * previously returned by the acquireContext() method.\r\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\r\n\t * @returns {boolean} true if the method succeeded, else false\r\n\t */\r\n\treleaseContext: function() {},\r\n\r\n\t/**\r\n\t * Registers the specified listener on the given chart.\r\n\t * @param {Chart} chart - Chart from which to listen for event\r\n\t * @param {string} type - The ({@link IEvent}) type to listen for\r\n\t * @param {function} listener - Receives a notification (an object that implements\r\n\t * the {@link IEvent} interface) when an event of the specified type occurs.\r\n\t */\r\n\taddEventListener: function() {},\r\n\r\n\t/**\r\n\t * Removes the specified listener previously registered with addEventListener.\r\n\t * @param {Chart} chart - Chart from which to remove the listener\r\n\t * @param {string} type - The ({@link IEvent}) type to remove\r\n\t * @param {function} listener - The listener function to remove from the event target.\r\n\t */\r\n\tremoveEventListener: function() {}\r\n\r\n}, implementation);\n\ncore_defaults._set('global', {\r\n\tplugins: {}\r\n});\r\n\r\n/**\r\n * The plugin service singleton\r\n * @namespace Chart.plugins\r\n * @since 2.1.0\r\n */\r\nvar core_plugins = {\r\n\t/**\r\n\t * Globally registered plugins.\r\n\t * @private\r\n\t */\r\n\t_plugins: [],\r\n\r\n\t/**\r\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\r\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\r\n\t * incremented and descriptors are regenerated during following API calls.\r\n\t * @private\r\n\t */\r\n\t_cacheId: 0,\r\n\r\n\t/**\r\n\t * Registers the given plugin(s) if not already registered.\r\n\t * @param {IPlugin[]|IPlugin} plugins plugin instance(s).\r\n\t */\r\n\tregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tif (p.indexOf(plugin) === -1) {\r\n\t\t\t\tp.push(plugin);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Unregisters the given plugin(s) only if registered.\r\n\t * @param {IPlugin[]|IPlugin} plugins plugin instance(s).\r\n\t */\r\n\tunregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tvar idx = p.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\tp.splice(idx, 1);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Remove all registered plugins.\r\n\t * @since 2.1.5\r\n\t */\r\n\tclear: function() {\r\n\t\tthis._plugins = [];\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the number of registered plugins?\r\n\t * @returns {number}\r\n\t * @since 2.1.5\r\n\t */\r\n\tcount: function() {\r\n\t\treturn this._plugins.length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns all registered plugin instances.\r\n\t * @returns {IPlugin[]} array of plugin objects.\r\n\t * @since 2.1.5\r\n\t */\r\n\tgetAll: function() {\r\n\t\treturn this._plugins;\r\n\t},\r\n\r\n\t/**\r\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\r\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\r\n\t * returned value can be used, for instance, to interrupt the current action.\r\n\t * @param {Chart} chart - The chart instance for which plugins should be called.\r\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\r\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\r\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\r\n\t */\r\n\tnotify: function(chart, hook, args) {\r\n\t\tvar descriptors = this.descriptors(chart);\r\n\t\tvar ilen = descriptors.length;\r\n\t\tvar i, descriptor, plugin, params, method;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tdescriptor = descriptors[i];\r\n\t\t\tplugin = descriptor.plugin;\r\n\t\t\tmethod = plugin[hook];\r\n\t\t\tif (typeof method === 'function') {\r\n\t\t\t\tparams = [chart].concat(args || []);\r\n\t\t\t\tparams.push(descriptor.options);\r\n\t\t\t\tif (method.apply(plugin, params) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns descriptors of enabled plugins for the given chart.\r\n\t * @returns {object[]} [{ plugin, options }]\r\n\t * @private\r\n\t */\r\n\tdescriptors: function(chart) {\r\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\r\n\t\tif (cache.id === this._cacheId) {\r\n\t\t\treturn cache.descriptors;\r\n\t\t}\r\n\r\n\t\tvar plugins = [];\r\n\t\tvar descriptors = [];\r\n\t\tvar config = (chart && chart.config) || {};\r\n\t\tvar options = (config.options && config.options.plugins) || {};\r\n\r\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\r\n\t\t\tvar idx = plugins.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar id = plugin.id;\r\n\t\t\tvar opts = options[id];\r\n\t\t\tif (opts === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts === true) {\r\n\t\t\t\topts = helpers$1.clone(core_defaults.global.plugins[id]);\r\n\t\t\t}\r\n\r\n\t\t\tplugins.push(plugin);\r\n\t\t\tdescriptors.push({\r\n\t\t\t\tplugin: plugin,\r\n\t\t\t\toptions: opts || {}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tcache.descriptors = descriptors;\r\n\t\tcache.id = this._cacheId;\r\n\t\treturn descriptors;\r\n\t},\r\n\r\n\t/**\r\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\r\n\t * but in some cases, this reference can be changed by the user when updating options.\r\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t * @private\r\n\t */\r\n\t_invalidate: function(chart) {\r\n\t\tdelete chart.$plugins;\r\n\t}\r\n};\n\nvar core_scaleService = {\r\n\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\r\n\t// use the new chart options to grab the correct scale\r\n\tconstructors: {},\r\n\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\r\n\t// old browsers\r\n\r\n\t// Scale config defaults\r\n\tdefaults: {},\r\n\tregisterScaleType: function(type, scaleConstructor, scaleDefaults) {\r\n\t\tthis.constructors[type] = scaleConstructor;\r\n\t\tthis.defaults[type] = helpers$1.clone(scaleDefaults);\r\n\t},\r\n\tgetScaleConstructor: function(type) {\r\n\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\r\n\t},\r\n\tgetScaleDefaults: function(type) {\r\n\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\r\n\t\treturn this.defaults.hasOwnProperty(type) ? helpers$1.merge(Object.create(null), [core_defaults.scale, this.defaults[type]]) : {};\r\n\t},\r\n\tupdateScaleDefaults: function(type, additions) {\r\n\t\tvar me = this;\r\n\t\tif (me.defaults.hasOwnProperty(type)) {\r\n\t\t\tme.defaults[type] = helpers$1.extend(me.defaults[type], additions);\r\n\t\t}\r\n\t},\r\n\taddScalesToLayout: function(chart) {\r\n\t\t// Adds each scale to the chart.boxes array to be sized accordingly\r\n\t\thelpers$1.each(chart.scales, function(scale) {\r\n\t\t\t// Set ILayoutItem parameters for backwards compatibility\r\n\t\t\tscale.fullWidth = scale.options.fullWidth;\r\n\t\t\tscale.position = scale.options.position;\r\n\t\t\tscale.weight = scale.options.weight;\r\n\t\t\tcore_layouts.addBox(chart, scale);\r\n\t\t});\r\n\t}\r\n};\n\nvar valueOrDefault$8 = helpers$1.valueOrDefault;\r\nvar getRtlHelper = helpers$1.rtl.getRtlAdapter;\r\n\r\ncore_defaults._set('global', {\r\n\ttooltips: {\r\n\t\tenabled: true,\r\n\t\tcustom: null,\r\n\t\tmode: 'nearest',\r\n\t\tposition: 'average',\r\n\t\tintersect: true,\r\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\r\n\t\ttitleFontStyle: 'bold',\r\n\t\ttitleSpacing: 2,\r\n\t\ttitleMarginBottom: 6,\r\n\t\ttitleFontColor: '#fff',\r\n\t\ttitleAlign: 'left',\r\n\t\tbodySpacing: 2,\r\n\t\tbodyFontColor: '#fff',\r\n\t\tbodyAlign: 'left',\r\n\t\tfooterFontStyle: 'bold',\r\n\t\tfooterSpacing: 2,\r\n\t\tfooterMarginTop: 6,\r\n\t\tfooterFontColor: '#fff',\r\n\t\tfooterAlign: 'left',\r\n\t\tyPadding: 6,\r\n\t\txPadding: 6,\r\n\t\tcaretPadding: 2,\r\n\t\tcaretSize: 5,\r\n\t\tcornerRadius: 6,\r\n\t\tmultiKeyBackground: '#fff',\r\n\t\tdisplayColors: true,\r\n\t\tborderColor: 'rgba(0,0,0,0)',\r\n\t\tborderWidth: 0,\r\n\t\tcallbacks: {\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeTitle: helpers$1.noop,\r\n\t\t\ttitle: function(tooltipItems, data) {\r\n\t\t\t\tvar title = '';\r\n\t\t\t\tvar labels = data.labels;\r\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\r\n\r\n\t\t\t\tif (tooltipItems.length > 0) {\r\n\t\t\t\t\tvar item = tooltipItems[0];\r\n\t\t\t\t\tif (item.label) {\r\n\t\t\t\t\t\ttitle = item.label;\r\n\t\t\t\t\t} else if (item.xLabel) {\r\n\t\t\t\t\t\ttitle = item.xLabel;\r\n\t\t\t\t\t} else if (labelCount > 0 && item.index < labelCount) {\r\n\t\t\t\t\t\ttitle = labels[item.index];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn title;\r\n\t\t\t},\r\n\t\t\tafterTitle: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeBody: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItem, data)\r\n\t\t\tbeforeLabel: helpers$1.noop,\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\r\n\r\n\t\t\t\tif (label) {\r\n\t\t\t\t\tlabel += ': ';\r\n\t\t\t\t}\r\n\t\t\t\tif (!helpers$1.isNullOrUndef(tooltipItem.value)) {\r\n\t\t\t\t\tlabel += tooltipItem.value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlabel += tooltipItem.yLabel;\r\n\t\t\t\t}\r\n\t\t\t\treturn label;\r\n\t\t\t},\r\n\t\t\tlabelColor: function(tooltipItem, chart) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\r\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\r\n\t\t\t\tvar view = activeElement._view;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tborderColor: view.borderColor,\r\n\t\t\t\t\tbackgroundColor: view.backgroundColor\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\tlabelTextColor: function() {\r\n\t\t\t\treturn this._options.bodyFontColor;\r\n\t\t\t},\r\n\t\t\tafterLabel: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tafterBody: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeFooter: helpers$1.noop,\r\n\t\t\tfooter: helpers$1.noop,\r\n\t\t\tafterFooter: helpers$1.noop\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar positioners = {\r\n\t/**\r\n\t * Average mode places the tooltip at the average position of the elements shown\r\n\t * @function Chart.Tooltip.positioners.average\r\n\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\r\n\t * @returns {object} tooltip position\r\n\t */\r\n\taverage: function(elements) {\r\n\t\tif (!elements.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar i, len;\r\n\t\tvar x = 0;\r\n\t\tvar y = 0;\r\n\t\tvar count = 0;\r\n\r\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\tvar el = elements[i];\r\n\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\tvar pos = el.tooltipPosition();\r\n\t\t\t\tx += pos.x;\r\n\t\t\t\ty += pos.y;\r\n\t\t\t\t++count;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x / count,\r\n\t\t\ty: y / count\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the tooltip position nearest of the item nearest to the event position\r\n\t * @function Chart.Tooltip.positioners.nearest\r\n\t * @param elements {Chart.Element[]} the tooltip elements\r\n\t * @param eventPosition {object} the position of the event in canvas coordinates\r\n\t * @returns {object} the tooltip position\r\n\t */\r\n\tnearest: function(elements, eventPosition) {\r\n\t\tvar x = eventPosition.x;\r\n\t\tvar y = eventPosition.y;\r\n\t\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\t\tvar i, len, nearestElement;\r\n\r\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\tvar el = elements[i];\r\n\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\tvar center = el.getCenterPoint();\r\n\t\t\t\tvar d = helpers$1.distanceBetweenPoints(eventPosition, center);\r\n\r\n\t\t\t\tif (d < minDistance) {\r\n\t\t\t\t\tminDistance = d;\r\n\t\t\t\t\tnearestElement = el;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (nearestElement) {\r\n\t\t\tvar tp = nearestElement.tooltipPosition();\r\n\t\t\tx = tp.x;\r\n\t\t\ty = tp.y;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x,\r\n\t\t\ty: y\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// Helper to push or concat based on if the 2nd parameter is an array or not\r\nfunction pushOrConcat(base, toPush) {\r\n\tif (toPush) {\r\n\t\tif (helpers$1.isArray(toPush)) {\r\n\t\t\t// base = base.concat(toPush);\r\n\t\t\tArray.prototype.push.apply(base, toPush);\r\n\t\t} else {\r\n\t\t\tbase.push(toPush);\r\n\t\t}\r\n\t}\r\n\r\n\treturn base;\r\n}\r\n\r\n/**\r\n * Returns array of strings split by newline\r\n * @param {string} value - The value to split by newline.\r\n * @returns {string[]} value if newline present - Returned from String split() method\r\n * @function\r\n */\r\nfunction splitNewlines(str) {\r\n\tif ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\r\n\t\treturn str.split('\\n');\r\n\t}\r\n\treturn str;\r\n}\r\n\r\n\r\n/**\r\n * Private helper to create a tooltip item model\r\n * @param element - the chart element (point, arc, bar) to create the tooltip item for\r\n * @return new tooltip item\r\n */\r\nfunction createTooltipItem(element) {\r\n\tvar xScale = element._xScale;\r\n\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\r\n\tvar index = element._index;\r\n\tvar datasetIndex = element._datasetIndex;\r\n\tvar controller = element._chart.getDatasetMeta(datasetIndex).controller;\r\n\tvar indexScale = controller._getIndexScale();\r\n\tvar valueScale = controller._getValueScale();\r\n\r\n\treturn {\r\n\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tlabel: indexScale ? '' + indexScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tvalue: valueScale ? '' + valueScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tindex: index,\r\n\t\tdatasetIndex: datasetIndex,\r\n\t\tx: element._model.x,\r\n\t\ty: element._model.y\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the reset model for the tooltip\r\n * @param tooltipOpts {object} the tooltip options\r\n */\r\nfunction getBaseModel(tooltipOpts) {\r\n\tvar globalDefaults = core_defaults.global;\r\n\r\n\treturn {\r\n\t\t// Positioning\r\n\t\txPadding: tooltipOpts.xPadding,\r\n\t\tyPadding: tooltipOpts.yPadding,\r\n\t\txAlign: tooltipOpts.xAlign,\r\n\t\tyAlign: tooltipOpts.yAlign,\r\n\r\n\t\t// Drawing direction and text direction\r\n\t\trtl: tooltipOpts.rtl,\r\n\t\ttextDirection: tooltipOpts.textDirection,\r\n\r\n\t\t// Body\r\n\t\tbodyFontColor: tooltipOpts.bodyFontColor,\r\n\t\t_bodyFontFamily: valueOrDefault$8(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_bodyFontStyle: valueOrDefault$8(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\r\n\t\t_bodyAlign: tooltipOpts.bodyAlign,\r\n\t\tbodyFontSize: valueOrDefault$8(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\r\n\t\tbodySpacing: tooltipOpts.bodySpacing,\r\n\r\n\t\t// Title\r\n\t\ttitleFontColor: tooltipOpts.titleFontColor,\r\n\t\t_titleFontFamily: valueOrDefault$8(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_titleFontStyle: valueOrDefault$8(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\r\n\t\ttitleFontSize: valueOrDefault$8(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\r\n\t\t_titleAlign: tooltipOpts.titleAlign,\r\n\t\ttitleSpacing: tooltipOpts.titleSpacing,\r\n\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\r\n\r\n\t\t// Footer\r\n\t\tfooterFontColor: tooltipOpts.footerFontColor,\r\n\t\t_footerFontFamily: valueOrDefault$8(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_footerFontStyle: valueOrDefault$8(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\r\n\t\tfooterFontSize: valueOrDefault$8(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\r\n\t\t_footerAlign: tooltipOpts.footerAlign,\r\n\t\tfooterSpacing: tooltipOpts.footerSpacing,\r\n\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\r\n\r\n\t\t// Appearance\r\n\t\tcaretSize: tooltipOpts.caretSize,\r\n\t\tcornerRadius: tooltipOpts.cornerRadius,\r\n\t\tbackgroundColor: tooltipOpts.backgroundColor,\r\n\t\topacity: 0,\r\n\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\r\n\t\tdisplayColors: tooltipOpts.displayColors,\r\n\t\tborderColor: tooltipOpts.borderColor,\r\n\t\tborderWidth: tooltipOpts.borderWidth\r\n\t};\r\n}\r\n\r\n/**\r\n * Get the size of the tooltip\r\n */\r\nfunction getTooltipSize(tooltip, model) {\r\n\tvar ctx = tooltip._chart.ctx;\r\n\r\n\tvar height = model.yPadding * 2; // Tooltip Padding\r\n\tvar width = 0;\r\n\r\n\t// Count of all lines in the body\r\n\tvar body = model.body;\r\n\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\r\n\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\r\n\t}, 0);\r\n\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\r\n\r\n\tvar titleLineCount = model.title.length;\r\n\tvar footerLineCount = model.footer.length;\r\n\tvar titleFontSize = model.titleFontSize;\r\n\tvar bodyFontSize = model.bodyFontSize;\r\n\tvar footerFontSize = model.footerFontSize;\r\n\r\n\theight += titleLineCount * titleFontSize; // Title Lines\r\n\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\r\n\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\r\n\theight += combinedBodyLength * bodyFontSize; // Body Lines\r\n\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\r\n\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\r\n\theight += footerLineCount * (footerFontSize); // Footer Lines\r\n\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\r\n\r\n\t// Title width\r\n\tvar widthPadding = 0;\r\n\tvar maxLineWidth = function(line) {\r\n\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\r\n\t};\r\n\r\n\tctx.font = helpers$1.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\r\n\thelpers$1.each(model.title, maxLineWidth);\r\n\r\n\t// Body width\r\n\tctx.font = helpers$1.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\r\n\thelpers$1.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\r\n\r\n\t// Body lines may include some extra width due to the color box\r\n\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\r\n\thelpers$1.each(body, function(bodyItem) {\r\n\t\thelpers$1.each(bodyItem.before, maxLineWidth);\r\n\t\thelpers$1.each(bodyItem.lines, maxLineWidth);\r\n\t\thelpers$1.each(bodyItem.after, maxLineWidth);\r\n\t});\r\n\r\n\t// Reset back to 0\r\n\twidthPadding = 0;\r\n\r\n\t// Footer width\r\n\tctx.font = helpers$1.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\r\n\thelpers$1.each(model.footer, maxLineWidth);\r\n\r\n\t// Add padding\r\n\twidth += 2 * model.xPadding;\r\n\r\n\treturn {\r\n\t\twidth: width,\r\n\t\theight: height\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the alignment of a tooltip given the size\r\n */\r\nfunction determineAlignment(tooltip, size) {\r\n\tvar model = tooltip._model;\r\n\tvar chart = tooltip._chart;\r\n\tvar chartArea = tooltip._chart.chartArea;\r\n\tvar xAlign = 'center';\r\n\tvar yAlign = 'center';\r\n\r\n\tif (model.y < size.height) {\r\n\t\tyAlign = 'top';\r\n\t} else if (model.y > (chart.height - size.height)) {\r\n\t\tyAlign = 'bottom';\r\n\t}\r\n\r\n\tvar lf, rf; // functions to determine left, right alignment\r\n\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\r\n\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\r\n\tvar midX = (chartArea.left + chartArea.right) / 2;\r\n\tvar midY = (chartArea.top + chartArea.bottom) / 2;\r\n\r\n\tif (yAlign === 'center') {\r\n\t\tlf = function(x) {\r\n\t\t\treturn x <= midX;\r\n\t\t};\r\n\t\trf = function(x) {\r\n\t\t\treturn x > midX;\r\n\t\t};\r\n\t} else {\r\n\t\tlf = function(x) {\r\n\t\t\treturn x <= (size.width / 2);\r\n\t\t};\r\n\t\trf = function(x) {\r\n\t\t\treturn x >= (chart.width - (size.width / 2));\r\n\t\t};\r\n\t}\r\n\r\n\tolf = function(x) {\r\n\t\treturn x + size.width + model.caretSize + model.caretPadding > chart.width;\r\n\t};\r\n\torf = function(x) {\r\n\t\treturn x - size.width - model.caretSize - model.caretPadding < 0;\r\n\t};\r\n\tyf = function(y) {\r\n\t\treturn y <= midY ? 'top' : 'bottom';\r\n\t};\r\n\r\n\tif (lf(model.x)) {\r\n\t\txAlign = 'left';\r\n\r\n\t\t// Is tooltip too wide and goes over the right side of the chart.?\r\n\t\tif (olf(model.x)) {\r\n\t\t\txAlign = 'center';\r\n\t\t\tyAlign = yf(model.y);\r\n\t\t}\r\n\t} else if (rf(model.x)) {\r\n\t\txAlign = 'right';\r\n\r\n\t\t// Is tooltip too wide and goes outside left edge of canvas?\r\n\t\tif (orf(model.x)) {\r\n\t\t\txAlign = 'center';\r\n\t\t\tyAlign = yf(model.y);\r\n\t\t}\r\n\t}\r\n\r\n\tvar opts = tooltip._options;\r\n\treturn {\r\n\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\r\n\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\r\n */\r\nfunction getBackgroundPoint(vm, size, alignment, chart) {\r\n\t// Background Position\r\n\tvar x = vm.x;\r\n\tvar y = vm.y;\r\n\r\n\tvar caretSize = vm.caretSize;\r\n\tvar caretPadding = vm.caretPadding;\r\n\tvar cornerRadius = vm.cornerRadius;\r\n\tvar xAlign = alignment.xAlign;\r\n\tvar yAlign = alignment.yAlign;\r\n\tvar paddingAndSize = caretSize + caretPadding;\r\n\tvar radiusAndPadding = cornerRadius + caretPadding;\r\n\r\n\tif (xAlign === 'right') {\r\n\t\tx -= size.width;\r\n\t} else if (xAlign === 'center') {\r\n\t\tx -= (size.width / 2);\r\n\t\tif (x + size.width > chart.width) {\r\n\t\t\tx = chart.width - size.width;\r\n\t\t}\r\n\t\tif (x < 0) {\r\n\t\t\tx = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tif (yAlign === 'top') {\r\n\t\ty += paddingAndSize;\r\n\t} else if (yAlign === 'bottom') {\r\n\t\ty -= size.height + paddingAndSize;\r\n\t} else {\r\n\t\ty -= (size.height / 2);\r\n\t}\r\n\r\n\tif (yAlign === 'center') {\r\n\t\tif (xAlign === 'left') {\r\n\t\t\tx += paddingAndSize;\r\n\t\t} else if (xAlign === 'right') {\r\n\t\t\tx -= paddingAndSize;\r\n\t\t}\r\n\t} else if (xAlign === 'left') {\r\n\t\tx -= radiusAndPadding;\r\n\t} else if (xAlign === 'right') {\r\n\t\tx += radiusAndPadding;\r\n\t}\r\n\r\n\treturn {\r\n\t\tx: x,\r\n\t\ty: y\r\n\t};\r\n}\r\n\r\nfunction getAlignedX(vm, align) {\r\n\treturn align === 'center'\r\n\t\t? vm.x + vm.width / 2\r\n\t\t: align === 'right'\r\n\t\t\t? vm.x + vm.width - vm.xPadding\r\n\t\t\t: vm.x + vm.xPadding;\r\n}\r\n\r\n/**\r\n * Helper to build before and after body lines\r\n */\r\nfunction getBeforeAfterBodyLines(callback) {\r\n\treturn pushOrConcat([], splitNewlines(callback));\r\n}\r\n\r\nvar exports$4 = core_element.extend({\r\n\tinitialize: function() {\r\n\t\tthis._model = getBaseModel(this._options);\r\n\t\tthis._lastActive = [];\r\n\t},\r\n\r\n\t// Get the title\r\n\t// Args are: (tooltipItem, data)\r\n\tgetTitle: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me._options;\r\n\t\tvar callbacks = opts.callbacks;\r\n\r\n\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments);\r\n\t\tvar title = callbacks.title.apply(me, arguments);\r\n\t\tvar afterTitle = callbacks.afterTitle.apply(me, arguments);\r\n\r\n\t\tvar lines = [];\r\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeTitle));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(title));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(afterTitle));\r\n\r\n\t\treturn lines;\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetBeforeBody: function() {\r\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this, arguments));\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetBody: function(tooltipItems, data) {\r\n\t\tvar me = this;\r\n\t\tvar callbacks = me._options.callbacks;\r\n\t\tvar bodyItems = [];\r\n\r\n\t\thelpers$1.each(tooltipItems, function(tooltipItem) {\r\n\t\t\tvar bodyItem = {\r\n\t\t\t\tbefore: [],\r\n\t\t\t\tlines: [],\r\n\t\t\t\tafter: []\r\n\t\t\t};\r\n\t\t\tpushOrConcat(bodyItem.before, splitNewlines(callbacks.beforeLabel.call(me, tooltipItem, data)));\r\n\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\r\n\t\t\tpushOrConcat(bodyItem.after, splitNewlines(callbacks.afterLabel.call(me, tooltipItem, data)));\r\n\r\n\t\t\tbodyItems.push(bodyItem);\r\n\t\t});\r\n\r\n\t\treturn bodyItems;\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetAfterBody: function() {\r\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this, arguments));\r\n\t},\r\n\r\n\t// Get the footer and beforeFooter and afterFooter lines\r\n\t// Args are: (tooltipItem, data)\r\n\tgetFooter: function() {\r\n\t\tvar me = this;\r\n\t\tvar callbacks = me._options.callbacks;\r\n\r\n\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\r\n\t\tvar footer = callbacks.footer.apply(me, arguments);\r\n\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\r\n\r\n\t\tvar lines = [];\r\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeFooter));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(footer));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(afterFooter));\r\n\r\n\t\treturn lines;\r\n\t},\r\n\r\n\tupdate: function(changed) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me._options;\r\n\r\n\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\r\n\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\r\n\t\t// which breaks any animations.\r\n\t\tvar existingModel = me._model;\r\n\t\tvar model = me._model = getBaseModel(opts);\r\n\t\tvar active = me._active;\r\n\r\n\t\tvar data = me._data;\r\n\r\n\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\r\n\t\tvar alignment = {\r\n\t\t\txAlign: existingModel.xAlign,\r\n\t\t\tyAlign: existingModel.yAlign\r\n\t\t};\r\n\t\tvar backgroundPoint = {\r\n\t\t\tx: existingModel.x,\r\n\t\t\ty: existingModel.y\r\n\t\t};\r\n\t\tvar tooltipSize = {\r\n\t\t\twidth: existingModel.width,\r\n\t\t\theight: existingModel.height\r\n\t\t};\r\n\t\tvar tooltipPosition = {\r\n\t\t\tx: existingModel.caretX,\r\n\t\t\ty: existingModel.caretY\r\n\t\t};\r\n\r\n\t\tvar i, len;\r\n\r\n\t\tif (active.length) {\r\n\t\t\tmodel.opacity = 1;\r\n\r\n\t\t\tvar labelColors = [];\r\n\t\t\tvar labelTextColors = [];\r\n\t\t\ttooltipPosition = positioners[opts.position].call(me, active, me._eventPosition);\r\n\r\n\t\t\tvar tooltipItems = [];\r\n\t\t\tfor (i = 0, len = active.length; i < len; ++i) {\r\n\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\r\n\t\t\t}\r\n\r\n\t\t\t// If the user provided a filter function, use it to modify the tooltip items\r\n\t\t\tif (opts.filter) {\r\n\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\r\n\t\t\t\t\treturn opts.filter(a, data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\r\n\t\t\tif (opts.itemSort) {\r\n\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\r\n\t\t\t\t\treturn opts.itemSort(a, b, data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Determine colors for boxes\r\n\t\t\thelpers$1.each(tooltipItems, function(tooltipItem) {\r\n\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\r\n\t\t\t\tlabelTextColors.push(opts.callbacks.labelTextColor.call(me, tooltipItem, me._chart));\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Build the Text Lines\r\n\t\t\tmodel.title = me.getTitle(tooltipItems, data);\r\n\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\r\n\t\t\tmodel.body = me.getBody(tooltipItems, data);\r\n\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\r\n\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\r\n\r\n\t\t\t// Initial positioning and colors\r\n\t\t\tmodel.x = tooltipPosition.x;\r\n\t\t\tmodel.y = tooltipPosition.y;\r\n\t\t\tmodel.caretPadding = opts.caretPadding;\r\n\t\t\tmodel.labelColors = labelColors;\r\n\t\t\tmodel.labelTextColors = labelTextColors;\r\n\r\n\t\t\t// data points\r\n\t\t\tmodel.dataPoints = tooltipItems;\r\n\r\n\t\t\t// We need to determine alignment of the tooltip\r\n\t\t\ttooltipSize = getTooltipSize(this, model);\r\n\t\t\talignment = determineAlignment(this, tooltipSize);\r\n\t\t\t// Final Size and Position\r\n\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment, me._chart);\r\n\t\t} else {\r\n\t\t\tmodel.opacity = 0;\r\n\t\t}\r\n\r\n\t\tmodel.xAlign = alignment.xAlign;\r\n\t\tmodel.yAlign = alignment.yAlign;\r\n\t\tmodel.x = backgroundPoint.x;\r\n\t\tmodel.y = backgroundPoint.y;\r\n\t\tmodel.width = tooltipSize.width;\r\n\t\tmodel.height = tooltipSize.height;\r\n\r\n\t\t// Point where the caret on the tooltip points to\r\n\t\tmodel.caretX = tooltipPosition.x;\r\n\t\tmodel.caretY = tooltipPosition.y;\r\n\r\n\t\tme._model = model;\r\n\r\n\t\tif (changed && opts.custom) {\r\n\t\t\topts.custom.call(me, model);\r\n\t\t}\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tdrawCaret: function(tooltipPoint, size) {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\r\n\r\n\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\r\n\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\r\n\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\r\n\t},\r\n\tgetCaretPosition: function(tooltipPoint, size, vm) {\r\n\t\tvar x1, x2, x3, y1, y2, y3;\r\n\t\tvar caretSize = vm.caretSize;\r\n\t\tvar cornerRadius = vm.cornerRadius;\r\n\t\tvar xAlign = vm.xAlign;\r\n\t\tvar yAlign = vm.yAlign;\r\n\t\tvar ptX = tooltipPoint.x;\r\n\t\tvar ptY = tooltipPoint.y;\r\n\t\tvar width = size.width;\r\n\t\tvar height = size.height;\r\n\r\n\t\tif (yAlign === 'center') {\r\n\t\t\ty2 = ptY + (height / 2);\r\n\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx1 = ptX;\r\n\t\t\t\tx2 = x1 - caretSize;\r\n\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\ty1 = y2 + caretSize;\r\n\t\t\t\ty3 = y2 - caretSize;\r\n\t\t\t} else {\r\n\t\t\t\tx1 = ptX + width;\r\n\t\t\t\tx2 = x1 + caretSize;\r\n\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\ty1 = y2 - caretSize;\r\n\t\t\t\ty3 = y2 + caretSize;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t} else if (xAlign === 'right') {\r\n\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t} else {\r\n\t\t\t\tx2 = vm.caretX;\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t}\r\n\t\t\tif (yAlign === 'top') {\r\n\t\t\t\ty1 = ptY;\r\n\t\t\t\ty2 = y1 - caretSize;\r\n\t\t\t\ty3 = y1;\r\n\t\t\t} else {\r\n\t\t\t\ty1 = ptY + height;\r\n\t\t\t\ty2 = y1 + caretSize;\r\n\t\t\t\ty3 = y1;\r\n\t\t\t\t// invert drawing order\r\n\t\t\t\tvar tmp = x3;\r\n\t\t\t\tx3 = x1;\r\n\t\t\t\tx1 = tmp;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\r\n\t},\r\n\r\n\tdrawTitle: function(pt, vm, ctx) {\r\n\t\tvar title = vm.title;\r\n\t\tvar length = title.length;\r\n\t\tvar titleFontSize, titleSpacing, i;\r\n\r\n\t\tif (length) {\r\n\t\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\t\tpt.x = getAlignedX(vm, vm._titleAlign);\r\n\r\n\t\t\tctx.textAlign = rtlHelper.textAlign(vm._titleAlign);\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\ttitleFontSize = vm.titleFontSize;\r\n\t\t\ttitleSpacing = vm.titleSpacing;\r\n\r\n\t\t\tctx.fillStyle = vm.titleFontColor;\r\n\t\t\tctx.font = helpers$1.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\r\n\r\n\t\t\tfor (i = 0; i < length; ++i) {\r\n\t\t\t\tctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFontSize / 2);\r\n\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\r\n\r\n\t\t\t\tif (i + 1 === length) {\r\n\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdrawBody: function(pt, vm, ctx) {\r\n\t\tvar bodyFontSize = vm.bodyFontSize;\r\n\t\tvar bodySpacing = vm.bodySpacing;\r\n\t\tvar bodyAlign = vm._bodyAlign;\r\n\t\tvar body = vm.body;\r\n\t\tvar drawColorBoxes = vm.displayColors;\r\n\t\tvar xLinePadding = 0;\r\n\t\tvar colorX = drawColorBoxes ? getAlignedX(vm, 'left') : 0;\r\n\r\n\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\tvar fillLineOfText = function(line) {\r\n\t\t\tctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyFontSize / 2);\r\n\t\t\tpt.y += bodyFontSize + bodySpacing;\r\n\t\t};\r\n\r\n\t\tvar bodyItem, textColor, labelColors, lines, i, j, ilen, jlen;\r\n\t\tvar bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\r\n\r\n\t\tctx.textAlign = bodyAlign;\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.font = helpers$1.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\r\n\r\n\t\tpt.x = getAlignedX(vm, bodyAlignForCalculation);\r\n\r\n\t\t// Before body lines\r\n\t\tctx.fillStyle = vm.bodyFontColor;\r\n\t\thelpers$1.each(vm.beforeBody, fillLineOfText);\r\n\r\n\t\txLinePadding = drawColorBoxes && bodyAlignForCalculation !== 'right'\r\n\t\t\t? bodyAlign === 'center' ? (bodyFontSize / 2 + 1) : (bodyFontSize + 2)\r\n\t\t\t: 0;\r\n\r\n\t\t// Draw body lines now\r\n\t\tfor (i = 0, ilen = body.length; i < ilen; ++i) {\r\n\t\t\tbodyItem = body[i];\r\n\t\t\ttextColor = vm.labelTextColors[i];\r\n\t\t\tlabelColors = vm.labelColors[i];\r\n\r\n\t\t\tctx.fillStyle = textColor;\r\n\t\t\thelpers$1.each(bodyItem.before, fillLineOfText);\r\n\r\n\t\t\tlines = bodyItem.lines;\r\n\t\t\tfor (j = 0, jlen = lines.length; j < jlen; ++j) {\r\n\t\t\t\t// Draw Legend-like boxes if needed\r\n\t\t\t\tif (drawColorBoxes) {\r\n\t\t\t\t\tvar rtlColorX = rtlHelper.x(colorX);\r\n\r\n\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is < 1\r\n\t\t\t\t\tctx.fillStyle = vm.legendColorBackground;\r\n\t\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(rtlColorX, bodyFontSize), pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t// Border\r\n\t\t\t\t\tctx.lineWidth = 1;\r\n\t\t\t\t\tctx.strokeStyle = labelColors.borderColor;\r\n\t\t\t\t\tctx.strokeRect(rtlHelper.leftForLtr(rtlColorX, bodyFontSize), pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t// Inner square\r\n\t\t\t\t\tctx.fillStyle = labelColors.backgroundColor;\r\n\t\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), bodyFontSize - 2), pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\r\n\t\t\t\t\tctx.fillStyle = textColor;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfillLineOfText(lines[j]);\r\n\t\t\t}\r\n\r\n\t\t\thelpers$1.each(bodyItem.after, fillLineOfText);\r\n\t\t}\r\n\r\n\t\t// Reset back to 0 for after body\r\n\t\txLinePadding = 0;\r\n\r\n\t\t// After body lines\r\n\t\thelpers$1.each(vm.afterBody, fillLineOfText);\r\n\t\tpt.y -= bodySpacing; // Remove last body spacing\r\n\t},\r\n\r\n\tdrawFooter: function(pt, vm, ctx) {\r\n\t\tvar footer = vm.footer;\r\n\t\tvar length = footer.length;\r\n\t\tvar footerFontSize, i;\r\n\r\n\t\tif (length) {\r\n\t\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\t\tpt.x = getAlignedX(vm, vm._footerAlign);\r\n\t\t\tpt.y += vm.footerMarginTop;\r\n\r\n\t\t\tctx.textAlign = rtlHelper.textAlign(vm._footerAlign);\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\tfooterFontSize = vm.footerFontSize;\r\n\r\n\t\t\tctx.fillStyle = vm.footerFontColor;\r\n\t\t\tctx.font = helpers$1.fontString(footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\r\n\r\n\t\t\tfor (i = 0; i < length; ++i) {\r\n\t\t\t\tctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFontSize / 2);\r\n\t\t\t\tpt.y += footerFontSize + vm.footerSpacing;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdrawBackground: function(pt, vm, ctx, tooltipSize) {\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tvar xAlign = vm.xAlign;\r\n\t\tvar yAlign = vm.yAlign;\r\n\t\tvar x = pt.x;\r\n\t\tvar y = pt.y;\r\n\t\tvar width = tooltipSize.width;\r\n\t\tvar height = tooltipSize.height;\r\n\t\tvar radius = vm.cornerRadius;\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.moveTo(x + radius, y);\r\n\t\tif (yAlign === 'top') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + width - radius, y);\r\n\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n\t\tif (yAlign === 'center' && xAlign === 'right') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + width, y + height - radius);\r\n\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\r\n\t\tif (yAlign === 'bottom') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + radius, y + height);\r\n\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n\t\tif (yAlign === 'center' && xAlign === 'left') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x, y + radius);\r\n\t\tctx.quadraticCurveTo(x, y, x + radius, y);\r\n\t\tctx.closePath();\r\n\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth > 0) {\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm.opacity === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tooltipSize = {\r\n\t\t\twidth: vm.width,\r\n\t\t\theight: vm.height\r\n\t\t};\r\n\t\tvar pt = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\r\n\t\t// IE11/Edge does not like very small opacities, so snap to 0\r\n\t\tvar opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;\r\n\r\n\t\t// Truthy/falsey value for empty tooltip\r\n\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\r\n\r\n\t\tif (this._options.enabled && hasTooltipContent) {\r\n\t\t\tctx.save();\r\n\t\t\tctx.globalAlpha = opacity;\r\n\r\n\t\t\t// Draw Background\r\n\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize);\r\n\r\n\t\t\t// Draw Title, Body, and Footer\r\n\t\t\tpt.y += vm.yPadding;\r\n\r\n\t\t\thelpers$1.rtl.overrideTextDirection(ctx, vm.textDirection);\r\n\r\n\t\t\t// Titles\r\n\t\t\tthis.drawTitle(pt, vm, ctx);\r\n\r\n\t\t\t// Body\r\n\t\t\tthis.drawBody(pt, vm, ctx);\r\n\r\n\t\t\t// Footer\r\n\t\t\tthis.drawFooter(pt, vm, ctx);\r\n\r\n\t\t\thelpers$1.rtl.restoreTextDirection(ctx, vm.textDirection);\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t * @returns {boolean} true if the tooltip changed\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar options = me._options;\r\n\t\tvar changed = false;\r\n\r\n\t\tme._lastActive = me._lastActive || [];\r\n\r\n\t\t// Find Active Elements for tooltips\r\n\t\tif (e.type === 'mouseout') {\r\n\t\t\tme._active = [];\r\n\t\t} else {\r\n\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\r\n\t\t\tif (options.reverse) {\r\n\t\t\t\tme._active.reverse();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remember Last Actives\r\n\t\tchanged = !helpers$1.arrayEquals(me._active, me._lastActive);\r\n\r\n\t\t// Only handle target event on tooltip change\r\n\t\tif (changed) {\r\n\t\t\tme._lastActive = me._active;\r\n\r\n\t\t\tif (options.enabled || options.custom) {\r\n\t\t\t\tme._eventPosition = {\r\n\t\t\t\t\tx: e.x,\r\n\t\t\t\t\ty: e.y\r\n\t\t\t\t};\r\n\r\n\t\t\t\tme.update(true);\r\n\t\t\t\tme.pivot();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\n/**\r\n * @namespace Chart.Tooltip.positioners\r\n */\r\nvar positioners_1 = positioners;\r\n\r\nvar core_tooltip = exports$4;\ncore_tooltip.positioners = positioners_1;\n\nvar valueOrDefault$9 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {},\r\n\tevents: [\r\n\t\t'mousemove',\r\n\t\t'mouseout',\r\n\t\t'click',\r\n\t\t'touchstart',\r\n\t\t'touchmove'\r\n\t],\r\n\thover: {\r\n\t\tonHover: null,\r\n\t\tmode: 'nearest',\r\n\t\tintersect: true,\r\n\t\tanimationDuration: 400\r\n\t},\r\n\tonClick: null,\r\n\tmaintainAspectRatio: true,\r\n\tresponsive: true,\r\n\tresponsiveAnimationDuration: 0\r\n});\r\n\r\n/**\r\n * Recursively merge the given config objects representing the `scales` option\r\n * by incorporating scale defaults in `xAxes` and `yAxes` array items, then\r\n * returns a deep copy of the result, thus doesn't alter inputs.\r\n */\r\nfunction mergeScaleConfig(/* config objects ... */) {\r\n\treturn helpers$1.merge(Object.create(null), [].slice.call(arguments), {\r\n\t\tmerger: function(key, target, source, options) {\r\n\t\t\tif (key === 'xAxes' || key === 'yAxes') {\r\n\t\t\t\tvar slen = source[key].length;\r\n\t\t\t\tvar i, type, scale;\r\n\r\n\t\t\t\tif (!target[key]) {\r\n\t\t\t\t\ttarget[key] = [];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (i = 0; i < slen; ++i) {\r\n\t\t\t\t\tscale = source[key][i];\r\n\t\t\t\t\ttype = valueOrDefault$9(scale.type, key === 'xAxes' ? 'category' : 'linear');\r\n\r\n\t\t\t\t\tif (i >= target[key].length) {\r\n\t\t\t\t\t\ttarget[key].push({});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!target[key][i].type || (scale.type && scale.type !== target[key][i].type)) {\r\n\t\t\t\t\t\t// new/untyped scale or type changed: let's apply the new defaults\r\n\t\t\t\t\t\t// then merge source scale to correctly overwrite the defaults.\r\n\t\t\t\t\t\thelpers$1.merge(target[key][i], [core_scaleService.getScaleDefaults(type), scale]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// scales type are the same\r\n\t\t\t\t\t\thelpers$1.merge(target[key][i], scale);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\thelpers$1._merger(key, target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Recursively merge the given config objects as the root options by handling\r\n * default scale options for the `scales` and `scale` properties, then returns\r\n * a deep copy of the result, thus doesn't alter inputs.\r\n */\r\nfunction mergeConfig(/* config objects ... */) {\r\n\treturn helpers$1.merge(Object.create(null), [].slice.call(arguments), {\r\n\t\tmerger: function(key, target, source, options) {\r\n\t\t\tvar tval = target[key] || Object.create(null);\r\n\t\t\tvar sval = source[key];\r\n\r\n\t\t\tif (key === 'scales') {\r\n\t\t\t\t// scale config merging is complex. Add our own function here for that\r\n\t\t\t\ttarget[key] = mergeScaleConfig(tval, sval);\r\n\t\t\t} else if (key === 'scale') {\r\n\t\t\t\t// used in polar area & radar charts since there is only one scale\r\n\t\t\t\ttarget[key] = helpers$1.merge(tval, [core_scaleService.getScaleDefaults(sval.type), sval]);\r\n\t\t\t} else {\r\n\t\t\t\thelpers$1._merger(key, target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction initConfig(config) {\r\n\tconfig = config || Object.create(null);\r\n\r\n\t// Do NOT use mergeConfig for the data object because this method merges arrays\r\n\t// and so would change references to labels and datasets, preventing data updates.\r\n\tvar data = config.data = config.data || {};\r\n\tdata.datasets = data.datasets || [];\r\n\tdata.labels = data.labels || [];\r\n\r\n\tconfig.options = mergeConfig(\r\n\t\tcore_defaults.global,\r\n\t\tcore_defaults[config.type],\r\n\t\tconfig.options || {});\r\n\r\n\treturn config;\r\n}\r\n\r\nfunction updateConfig(chart) {\r\n\tvar newOptions = chart.options;\r\n\r\n\thelpers$1.each(chart.scales, function(scale) {\r\n\t\tcore_layouts.removeBox(chart, scale);\r\n\t});\r\n\r\n\tnewOptions = mergeConfig(\r\n\t\tcore_defaults.global,\r\n\t\tcore_defaults[chart.config.type],\r\n\t\tnewOptions);\r\n\r\n\tchart.options = chart.config.options = newOptions;\r\n\tchart.ensureScalesHaveIDs();\r\n\tchart.buildOrUpdateScales();\r\n\r\n\t// Tooltip\r\n\tchart.tooltip._options = newOptions.tooltips;\r\n\tchart.tooltip.initialize();\r\n}\r\n\r\nfunction nextAvailableScaleId(axesOpts, prefix, index) {\r\n\tvar id;\r\n\tvar hasId = function(obj) {\r\n\t\treturn obj.id === id;\r\n\t};\r\n\r\n\tdo {\r\n\t\tid = prefix + index++;\r\n\t} while (helpers$1.findIndex(axesOpts, hasId) >= 0);\r\n\r\n\treturn id;\r\n}\r\n\r\nfunction positionIsHorizontal(position) {\r\n\treturn position === 'top' || position === 'bottom';\r\n}\r\n\r\nfunction compare2Level(l1, l2) {\r\n\treturn function(a, b) {\r\n\t\treturn a[l1] === b[l1]\r\n\t\t\t? a[l2] - b[l2]\r\n\t\t\t: a[l1] - b[l1];\r\n\t};\r\n}\r\n\r\nvar Chart = function(item, config) {\r\n\tthis.construct(item, config);\r\n\treturn this;\r\n};\r\n\r\nhelpers$1.extend(Chart.prototype, /** @lends Chart */ {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tconstruct: function(item, config) {\r\n\t\tvar me = this;\r\n\r\n\t\tconfig = initConfig(config);\r\n\r\n\t\tvar context = platform.acquireContext(item, config);\r\n\t\tvar canvas = context && context.canvas;\r\n\t\tvar height = canvas && canvas.height;\r\n\t\tvar width = canvas && canvas.width;\r\n\r\n\t\tme.id = helpers$1.uid();\r\n\t\tme.ctx = context;\r\n\t\tme.canvas = canvas;\r\n\t\tme.config = config;\r\n\t\tme.width = width;\r\n\t\tme.height = height;\r\n\t\tme.aspectRatio = height ? width / height : null;\r\n\t\tme.options = config.options;\r\n\t\tme._bufferedRender = false;\r\n\t\tme._layers = [];\r\n\r\n\t\t/**\r\n\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\r\n\t\t * the \"instance\" still need to be defined since it might be called from plugins.\r\n\t\t * @prop Chart#chart\r\n\t\t * @deprecated since version 2.6.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tme.chart = me;\r\n\t\tme.controller = me; // chart.chart.controller #inception\r\n\r\n\t\t// Add the chart instance to the global namespace\r\n\t\tChart.instances[me.id] = me;\r\n\r\n\t\t// Define alias to the config data: `chart.data === chart.config.data`\r\n\t\tObject.defineProperty(me, 'data', {\r\n\t\t\tget: function() {\r\n\t\t\t\treturn me.config.data;\r\n\t\t\t},\r\n\t\t\tset: function(value) {\r\n\t\t\t\tme.config.data = value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (!context || !canvas) {\r\n\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\r\n\t\t\t// the chart initialization but after setting basic chart / controller properties that\r\n\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme.initialize();\r\n\t\tme.update();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\r\n\t\t// Before init plugin notification\r\n\t\tcore_plugins.notify(me, 'beforeInit');\r\n\r\n\t\thelpers$1.retinaScale(me, me.options.devicePixelRatio);\r\n\r\n\t\tme.bindEvents();\r\n\r\n\t\tif (me.options.responsive) {\r\n\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\r\n\t\t\tme.resize(true);\r\n\t\t}\r\n\r\n\t\tme.initToolTip();\r\n\r\n\t\t// After init plugin notification\r\n\t\tcore_plugins.notify(me, 'afterInit');\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tclear: function() {\r\n\t\thelpers$1.canvas.clear(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tstop: function() {\r\n\t\t// Stops any current animation loop occurring\r\n\t\tcore_animations.cancelAnimation(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tresize: function(silent) {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar canvas = me.canvas;\r\n\t\tvar aspectRatio = (options.maintainAspectRatio && me.aspectRatio) || null;\r\n\r\n\t\t// the canvas render width and height will be casted to integers so make sure that\r\n\t\t// the canvas display style uses the same integer values to avoid blurring effect.\r\n\r\n\t\t// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collapsed\r\n\t\tvar newWidth = Math.max(0, Math.floor(helpers$1.getMaximumWidth(canvas)));\r\n\t\tvar newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers$1.getMaximumHeight(canvas)));\r\n\r\n\t\tif (me.width === newWidth && me.height === newHeight) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcanvas.width = me.width = newWidth;\r\n\t\tcanvas.height = me.height = newHeight;\r\n\t\tcanvas.style.width = newWidth + 'px';\r\n\t\tcanvas.style.height = newHeight + 'px';\r\n\r\n\t\thelpers$1.retinaScale(me, options.devicePixelRatio);\r\n\r\n\t\tif (!silent) {\r\n\t\t\t// Notify any plugins about the resize\r\n\t\t\tvar newSize = {width: newWidth, height: newHeight};\r\n\t\t\tcore_plugins.notify(me, 'resize', [newSize]);\r\n\r\n\t\t\t// Notify of resize\r\n\t\t\tif (options.onResize) {\r\n\t\t\t\toptions.onResize(me, newSize);\r\n\t\t\t}\r\n\r\n\t\t\tme.stop();\r\n\t\t\tme.update({\r\n\t\t\t\tduration: options.responsiveAnimationDuration\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tensureScalesHaveIDs: function() {\r\n\t\tvar options = this.options;\r\n\t\tvar scalesOptions = options.scales || {};\r\n\t\tvar scaleOptions = options.scale;\r\n\r\n\t\thelpers$1.each(scalesOptions.xAxes, function(xAxisOptions, index) {\r\n\t\t\tif (!xAxisOptions.id) {\r\n\t\t\t\txAxisOptions.id = nextAvailableScaleId(scalesOptions.xAxes, 'x-axis-', index);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.each(scalesOptions.yAxes, function(yAxisOptions, index) {\r\n\t\t\tif (!yAxisOptions.id) {\r\n\t\t\t\tyAxisOptions.id = nextAvailableScaleId(scalesOptions.yAxes, 'y-axis-', index);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (scaleOptions) {\r\n\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Builds a map of scale ID to scale object for future lookup.\r\n\t */\r\n\tbuildOrUpdateScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar scales = me.scales || {};\r\n\t\tvar items = [];\r\n\t\tvar updated = Object.keys(scales).reduce(function(obj, id) {\r\n\t\t\tobj[id] = false;\r\n\t\t\treturn obj;\r\n\t\t}, {});\r\n\r\n\t\tif (options.scales) {\r\n\t\t\titems = items.concat(\r\n\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\r\n\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\r\n\t\t\t\t}),\r\n\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\r\n\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.scale) {\r\n\t\t\titems.push({\r\n\t\t\t\toptions: options.scale,\r\n\t\t\t\tdtype: 'radialLinear',\r\n\t\t\t\tisDefault: true,\r\n\t\t\t\tdposition: 'chartArea'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\thelpers$1.each(items, function(item) {\r\n\t\t\tvar scaleOptions = item.options;\r\n\t\t\tvar id = scaleOptions.id;\r\n\t\t\tvar scaleType = valueOrDefault$9(scaleOptions.type, item.dtype);\r\n\r\n\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\r\n\t\t\t\tscaleOptions.position = item.dposition;\r\n\t\t\t}\r\n\r\n\t\t\tupdated[id] = true;\r\n\t\t\tvar scale = null;\r\n\t\t\tif (id in scales && scales[id].type === scaleType) {\r\n\t\t\t\tscale = scales[id];\r\n\t\t\t\tscale.options = scaleOptions;\r\n\t\t\t\tscale.ctx = me.ctx;\r\n\t\t\t\tscale.chart = me;\r\n\t\t\t} else {\r\n\t\t\t\tvar scaleClass = core_scaleService.getScaleConstructor(scaleType);\r\n\t\t\t\tif (!scaleClass) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tscale = new scaleClass({\r\n\t\t\t\t\tid: id,\r\n\t\t\t\t\ttype: scaleType,\r\n\t\t\t\t\toptions: scaleOptions,\r\n\t\t\t\t\tctx: me.ctx,\r\n\t\t\t\t\tchart: me\r\n\t\t\t\t});\r\n\t\t\t\tscales[scale.id] = scale;\r\n\t\t\t}\r\n\r\n\t\t\tscale.mergeTicksOptions();\r\n\r\n\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\r\n\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\r\n\t\t\t// make the logic easier and remove some useless? custom code.\r\n\t\t\tif (item.isDefault) {\r\n\t\t\t\tme.scale = scale;\r\n\t\t\t}\r\n\t\t});\r\n\t\t// clear up discarded scales\r\n\t\thelpers$1.each(updated, function(hasUpdated, id) {\r\n\t\t\tif (!hasUpdated) {\r\n\t\t\t\tdelete scales[id];\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tme.scales = scales;\r\n\r\n\t\tcore_scaleService.addScalesToLayout(this);\r\n\t},\r\n\r\n\tbuildOrUpdateControllers: function() {\r\n\t\tvar me = this;\r\n\t\tvar newControllers = [];\r\n\t\tvar datasets = me.data.datasets;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; i++) {\r\n\t\t\tvar dataset = datasets[i];\r\n\t\t\tvar meta = me.getDatasetMeta(i);\r\n\t\t\tvar type = dataset.type || me.config.type;\r\n\r\n\t\t\tif (meta.type && meta.type !== type) {\r\n\t\t\t\tme.destroyDatasetMeta(i);\r\n\t\t\t\tmeta = me.getDatasetMeta(i);\r\n\t\t\t}\r\n\t\t\tmeta.type = type;\r\n\t\t\tmeta.order = dataset.order || 0;\r\n\t\t\tmeta.index = i;\r\n\r\n\t\t\tif (meta.controller) {\r\n\t\t\t\tmeta.controller.updateIndex(i);\r\n\t\t\t\tmeta.controller.linkScales();\r\n\t\t\t} else {\r\n\t\t\t\tvar ControllerClass = controllers[meta.type];\r\n\t\t\t\tif (ControllerClass === undefined) {\r\n\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmeta.controller = new ControllerClass(me, i);\r\n\t\t\t\tnewControllers.push(meta.controller);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn newControllers;\r\n\t},\r\n\r\n\t/**\r\n\t * Reset the elements of all datasets\r\n\t * @private\r\n\t */\r\n\tresetElements: function() {\r\n\t\tvar me = this;\r\n\t\thelpers$1.each(me.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\r\n\t\t}, me);\r\n\t},\r\n\r\n\t/**\r\n\t* Resets the chart back to it's state before the initial animation\r\n\t*/\r\n\treset: function() {\r\n\t\tthis.resetElements();\r\n\t\tthis.tooltip.initialize();\r\n\t},\r\n\r\n\tupdate: function(config) {\r\n\t\tvar me = this;\r\n\t\tvar i, ilen;\r\n\r\n\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t// backwards compatibility\r\n\t\t\tconfig = {\r\n\t\t\t\tduration: config,\r\n\t\t\t\tlazy: arguments[1]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tupdateConfig(me);\r\n\r\n\t\t// plugins options references might have change, let's invalidate the cache\r\n\t\t// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t\tcore_plugins._invalidate(me);\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeUpdate') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// In case the entire data object changed\r\n\t\tme.tooltip._data = me.data;\r\n\r\n\t\t// Make sure dataset controllers are updated and new controllers are reset\r\n\t\tvar newControllers = me.buildOrUpdateControllers();\r\n\r\n\t\t// Make sure all dataset controllers have correct meta data counts\r\n\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; i++) {\r\n\t\t\tme.getDatasetMeta(i).controller.buildOrUpdateElements();\r\n\t\t}\r\n\r\n\t\tme.updateLayout();\r\n\r\n\t\t// Can only reset the new controllers after the scales have been updated\r\n\t\tif (me.options.animation && me.options.animation.duration) {\r\n\t\t\thelpers$1.each(newControllers, function(controller) {\r\n\t\t\t\tcontroller.reset();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tme.updateDatasets();\r\n\r\n\t\t// Need to reset tooltip in case it is displayed with elements that are removed\r\n\t\t// after update.\r\n\t\tme.tooltip.initialize();\r\n\r\n\t\t// Last active contains items that were previously in the tooltip.\r\n\t\t// When we reset the tooltip, we need to clear it\r\n\t\tme.lastActive = [];\r\n\r\n\t\t// Do this before render so that any plugins that need final scale updates can use it\r\n\t\tcore_plugins.notify(me, 'afterUpdate');\r\n\r\n\t\tme._layers.sort(compare2Level('z', '_idx'));\r\n\r\n\t\tif (me._bufferedRender) {\r\n\t\t\tme._bufferedRequest = {\r\n\t\t\t\tduration: config.duration,\r\n\t\t\t\teasing: config.easing,\r\n\t\t\t\tlazy: config.lazy\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tme.render(config);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\r\n\t * hook, in which case, plugins will not be called on `afterLayout`.\r\n\t * @private\r\n\t */\r\n\tupdateLayout: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeLayout') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcore_layouts.update(this, this.width, this.height);\r\n\r\n\t\tme._layers = [];\r\n\t\thelpers$1.each(me.boxes, function(box) {\r\n\t\t\t// _configure is called twice, once in core.scale.update and once here.\r\n\t\t\t// Here the boxes are fully updated and at their final positions.\r\n\t\t\tif (box._configure) {\r\n\t\t\t\tbox._configure();\r\n\t\t\t}\r\n\t\t\tme._layers.push.apply(me._layers, box._layers());\r\n\t\t}, me);\r\n\r\n\t\tme._layers.forEach(function(item, index) {\r\n\t\t\titem._idx = index;\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * Provided for backward compatibility, use `afterLayout` instead.\r\n\t\t * @method IPlugin#afterScaleUpdate\r\n\t\t * @deprecated since version 2.5.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tcore_plugins.notify(me, 'afterScaleUpdate');\r\n\t\tcore_plugins.notify(me, 'afterLayout');\r\n\t},\r\n\r\n\t/**\r\n\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\r\n\t * @private\r\n\t */\r\n\tupdateDatasets: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetsUpdate') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tme.updateDataset(i);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetsUpdate');\r\n\t},\r\n\r\n\t/**\r\n\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\r\n\t * @private\r\n\t */\r\n\tupdateDataset: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getDatasetMeta(index);\r\n\t\tvar args = {\r\n\t\t\tmeta: meta,\r\n\t\t\tindex: index\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmeta.controller._update();\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetUpdate', [args]);\r\n\t},\r\n\r\n\trender: function(config) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t// backwards compatibility\r\n\t\t\tconfig = {\r\n\t\t\t\tduration: config,\r\n\t\t\t\tlazy: arguments[1]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar animationOptions = me.options.animation;\r\n\t\tvar duration = valueOrDefault$9(config.duration, animationOptions && animationOptions.duration);\r\n\t\tvar lazy = config.lazy;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeRender') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar onComplete = function(animation) {\r\n\t\t\tcore_plugins.notify(me, 'afterRender');\r\n\t\t\thelpers$1.callback(animationOptions && animationOptions.onComplete, [animation], me);\r\n\t\t};\r\n\r\n\t\tif (animationOptions && duration) {\r\n\t\t\tvar animation = new core_animation({\r\n\t\t\t\tnumSteps: duration / 16.66, // 60 fps\r\n\t\t\t\teasing: config.easing || animationOptions.easing,\r\n\r\n\t\t\t\trender: function(chart, animationObject) {\r\n\t\t\t\t\tvar easingFunction = helpers$1.easing.effects[animationObject.easing];\r\n\t\t\t\t\tvar currentStep = animationObject.currentStep;\r\n\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\r\n\r\n\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tonAnimationProgress: animationOptions.onProgress,\r\n\t\t\t\tonAnimationComplete: onComplete\r\n\t\t\t});\r\n\r\n\t\t\tcore_animations.addAnimation(me, animation, duration, lazy);\r\n\t\t} else {\r\n\t\t\tme.draw();\r\n\r\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\r\n\t\t\tonComplete(new core_animation({numSteps: 0, chart: me}));\r\n\t\t}\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tdraw: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar i, layers;\r\n\r\n\t\tme.clear();\r\n\r\n\t\tif (helpers$1.isNullOrUndef(easingValue)) {\r\n\t\t\teasingValue = 1;\r\n\t\t}\r\n\r\n\t\tme.transition(easingValue);\r\n\r\n\t\tif (me.width <= 0 || me.height <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Because of plugin hooks (before/afterDatasetsDraw), datasets can't\r\n\t\t// currently be part of layers. Instead, we draw\r\n\t\t// layers <= 0 before(default, backward compat), and the rest after\r\n\t\tlayers = me._layers;\r\n\t\tfor (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\r\n\t\t\tlayers[i].draw(me.chartArea);\r\n\t\t}\r\n\r\n\t\tme.drawDatasets(easingValue);\r\n\r\n\t\t// Rest of layers\r\n\t\tfor (; i < layers.length; ++i) {\r\n\t\t\tlayers[i].draw(me.chartArea);\r\n\t\t}\r\n\r\n\t\tme._drawTooltip(easingValue);\r\n\r\n\t\tcore_plugins.notify(me, 'afterDraw', [easingValue]);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\ttransition: function(easingValue) {\r\n\t\tvar me = this;\r\n\r\n\t\tfor (var i = 0, ilen = (me.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\tif (me.isDatasetVisible(i)) {\r\n\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.tooltip.transition(easingValue);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getSortedDatasetMetas: function(filterVisible) {\r\n\t\tvar me = this;\r\n\t\tvar datasets = me.data.datasets || [];\r\n\t\tvar result = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\r\n\t\t\tif (!filterVisible || me.isDatasetVisible(i)) {\r\n\t\t\t\tresult.push(me.getDatasetMeta(i));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tresult.sort(compare2Level('order', 'index'));\r\n\r\n\t\treturn result;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getSortedVisibleDatasetMetas: function() {\r\n\t\treturn this._getSortedDatasetMetas(true);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\r\n\t * @private\r\n\t */\r\n\tdrawDatasets: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar metasets, i;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmetasets = me._getSortedVisibleDatasetMetas();\r\n\t\tfor (i = metasets.length - 1; i >= 0; --i) {\r\n\t\t\tme.drawDataset(metasets[i], easingValue);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetsDraw', [easingValue]);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\r\n\t * @private\r\n\t */\r\n\tdrawDataset: function(meta, easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar args = {\r\n\t\t\tmeta: meta,\r\n\t\t\tindex: meta.index,\r\n\t\t\teasingValue: easingValue\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmeta.controller.draw(easingValue);\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetDraw', [args]);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`\r\n\t * hook, in which case, plugins will not be called on `afterTooltipDraw`.\r\n\t * @private\r\n\t */\r\n\t_drawTooltip: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar tooltip = me.tooltip;\r\n\t\tvar args = {\r\n\t\t\ttooltip: tooltip,\r\n\t\t\teasingValue: easingValue\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeTooltipDraw', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttooltip.draw();\r\n\r\n\t\tcore_plugins.notify(me, 'afterTooltipDraw', [args]);\r\n\t},\r\n\r\n\t/**\r\n\t * Get the single element that was clicked on\r\n\t * @return An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\r\n\t */\r\n\tgetElementAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.single(this, e);\r\n\t},\r\n\r\n\tgetElementsAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.label(this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetElementsAtXAxis: function(e) {\r\n\t\treturn core_interaction.modes['x-axis'](this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetElementsAtEventForMode: function(e, mode, options) {\r\n\t\tvar method = core_interaction.modes[mode];\r\n\t\tif (typeof method === 'function') {\r\n\t\t\treturn method(this, e, options);\r\n\t\t}\r\n\r\n\t\treturn [];\r\n\t},\r\n\r\n\tgetDatasetAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.dataset(this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetDatasetMeta: function(datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.data.datasets[datasetIndex];\r\n\t\tif (!dataset._meta) {\r\n\t\t\tdataset._meta = {};\r\n\t\t}\r\n\r\n\t\tvar meta = dataset._meta[me.id];\r\n\t\tif (!meta) {\r\n\t\t\tmeta = dataset._meta[me.id] = {\r\n\t\t\t\ttype: null,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tdataset: null,\r\n\t\t\t\tcontroller: null,\r\n\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\r\n\t\t\t\txAxisID: null,\r\n\t\t\t\tyAxisID: null,\r\n\t\t\t\torder: dataset.order || 0,\r\n\t\t\t\tindex: datasetIndex\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn meta;\r\n\t},\r\n\r\n\tgetVisibleDatasetCount: function() {\r\n\t\tvar count = 0;\r\n\t\tfor (var i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tif (this.isDatasetVisible(i)) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn count;\r\n\t},\r\n\r\n\tisDatasetVisible: function(datasetIndex) {\r\n\t\tvar meta = this.getDatasetMeta(datasetIndex);\r\n\r\n\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\r\n\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\r\n\t\treturn typeof meta.hidden === 'boolean' ? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\r\n\t},\r\n\r\n\tgenerateLegend: function() {\r\n\t\treturn this.options.legendCallback(this);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroyDatasetMeta: function(datasetIndex) {\r\n\t\tvar id = this.id;\r\n\t\tvar dataset = this.data.datasets[datasetIndex];\r\n\t\tvar meta = dataset._meta && dataset._meta[id];\r\n\r\n\t\tif (meta) {\r\n\t\t\tmeta.controller.destroy();\r\n\t\t\tdelete dataset._meta[id];\r\n\t\t}\r\n\t},\r\n\r\n\tdestroy: function() {\r\n\t\tvar me = this;\r\n\t\tvar canvas = me.canvas;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme.stop();\r\n\r\n\t\t// dataset controllers need to cleanup associated data\r\n\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tme.destroyDatasetMeta(i);\r\n\t\t}\r\n\r\n\t\tif (canvas) {\r\n\t\t\tme.unbindEvents();\r\n\t\t\thelpers$1.canvas.clear(me);\r\n\t\t\tplatform.releaseContext(me.ctx);\r\n\t\t\tme.canvas = null;\r\n\t\t\tme.ctx = null;\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'destroy');\r\n\r\n\t\tdelete Chart.instances[me.id];\r\n\t},\r\n\r\n\ttoBase64Image: function() {\r\n\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\r\n\t},\r\n\r\n\tinitToolTip: function() {\r\n\t\tvar me = this;\r\n\t\tme.tooltip = new core_tooltip({\r\n\t\t\t_chart: me,\r\n\t\t\t_chartInstance: me, // deprecated, backward compatibility\r\n\t\t\t_data: me.data,\r\n\t\t\t_options: me.options.tooltips\r\n\t\t}, me);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tbindEvents: function() {\r\n\t\tvar me = this;\r\n\t\tvar listeners = me._listeners = {};\r\n\t\tvar listener = function() {\r\n\t\t\tme.eventHandler.apply(me, arguments);\r\n\t\t};\r\n\r\n\t\thelpers$1.each(me.options.events, function(type) {\r\n\t\t\tplatform.addEventListener(me, type, listener);\r\n\t\t\tlisteners[type] = listener;\r\n\t\t});\r\n\r\n\t\t// Elements used to detect size change should not be injected for non responsive charts.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/2210\r\n\t\tif (me.options.responsive) {\r\n\t\t\tlistener = function() {\r\n\t\t\t\tme.resize();\r\n\t\t\t};\r\n\r\n\t\t\tplatform.addEventListener(me, 'resize', listener);\r\n\t\t\tlisteners.resize = listener;\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tunbindEvents: function() {\r\n\t\tvar me = this;\r\n\t\tvar listeners = me._listeners;\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdelete me._listeners;\r\n\t\thelpers$1.each(listeners, function(listener, type) {\r\n\t\t\tplatform.removeEventListener(me, type, listener);\r\n\t\t});\r\n\t},\r\n\r\n\tupdateHoverStyle: function(elements, mode, enabled) {\r\n\t\tvar prefix = enabled ? 'set' : 'remove';\r\n\t\tvar element, i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\r\n\t\t\telement = elements[i];\r\n\t\t\tif (element) {\r\n\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[prefix + 'HoverStyle'](element);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (mode === 'dataset') {\r\n\t\t\tthis.getDatasetMeta(elements[0]._datasetIndex).controller['_' + prefix + 'DatasetHoverStyle']();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\teventHandler: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar tooltip = me.tooltip;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeEvent', [e]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Buffer any update calls so that renders do not occur\r\n\t\tme._bufferedRender = true;\r\n\t\tme._bufferedRequest = null;\r\n\r\n\t\tvar changed = me.handleEvent(e);\r\n\t\t// for smooth tooltip animations issue #4989\r\n\t\t// the tooltip should be the source of change\r\n\t\t// Animation check workaround:\r\n\t\t// tooltip._start will be null when tooltip isn't animating\r\n\t\tif (tooltip) {\r\n\t\t\tchanged = tooltip._start\r\n\t\t\t\t? tooltip.handleEvent(e)\r\n\t\t\t\t: changed | tooltip.handleEvent(e);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterEvent', [e]);\r\n\r\n\t\tvar bufferedRequest = me._bufferedRequest;\r\n\t\tif (bufferedRequest) {\r\n\t\t\t// If we have an update that was triggered, we need to do a normal render\r\n\t\t\tme.render(bufferedRequest);\r\n\t\t} else if (changed && !me.animating) {\r\n\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\r\n\t\t\tme.stop();\r\n\r\n\t\t\t// We only need to render at this point. Updating will cause scales to be\r\n\t\t\t// recomputed generating flicker & using more memory than necessary.\r\n\t\t\tme.render({\r\n\t\t\t\tduration: me.options.hover.animationDuration,\r\n\t\t\t\tlazy: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tme._bufferedRender = false;\r\n\t\tme._bufferedRequest = null;\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event the event to handle\r\n\t * @return {boolean} true if the chart needs to re-render\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options || {};\r\n\t\tvar hoverOptions = options.hover;\r\n\t\tvar changed = false;\r\n\r\n\t\tme.lastActive = me.lastActive || [];\r\n\r\n\t\t// Find Active Elements for hover and tooltips\r\n\t\tif (e.type === 'mouseout') {\r\n\t\t\tme.active = [];\r\n\t\t} else {\r\n\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\r\n\t\t}\r\n\r\n\t\t// Invoke onHover hook\r\n\t\t// Need to call with native event here to not break backwards compatibility\r\n\t\thelpers$1.callback(options.onHover || options.hover.onHover, [e.native, me.active], me);\r\n\r\n\t\tif (e.type === 'mouseup' || e.type === 'click') {\r\n\t\t\tif (options.onClick) {\r\n\t\t\t\t// Use e.native here for backwards compatibility\r\n\t\t\t\toptions.onClick.call(me, e.native, me.active);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remove styling for last active (even if it may still be active)\r\n\t\tif (me.lastActive.length) {\r\n\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\r\n\t\t}\r\n\r\n\t\t// Built in hover styling\r\n\t\tif (me.active.length && hoverOptions.mode) {\r\n\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\r\n\t\t}\r\n\r\n\t\tchanged = !helpers$1.arrayEquals(me.active, me.lastActive);\r\n\r\n\t\t// Remember Last Actives\r\n\t\tme.lastActive = me.active;\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\n/**\r\n * NOTE(SB) We actually don't use this container anymore but we need to keep it\r\n * for backward compatibility. Though, it can still be useful for plugins that\r\n * would need to work on multiple charts?!\r\n */\r\nChart.instances = {};\r\n\r\nvar core_controller = Chart;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart instead.\r\n * @class Chart.Controller\r\n * @deprecated since version 2.6\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.Controller = Chart;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart\r\n * @deprecated since version 2.8\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.types = {};\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.helpers.configMerge\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.configMerge = mergeConfig;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.helpers.scaleMerge\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.scaleMerge = mergeScaleConfig;\n\nvar core_helpers = function() {\r\n\r\n\t// -- Basic js utility methods\r\n\r\n\thelpers$1.where = function(collection, filterCallback) {\r\n\t\tif (helpers$1.isArray(collection) && Array.prototype.filter) {\r\n\t\t\treturn collection.filter(filterCallback);\r\n\t\t}\r\n\t\tvar filtered = [];\r\n\r\n\t\thelpers$1.each(collection, function(item) {\r\n\t\t\tif (filterCallback(item)) {\r\n\t\t\t\tfiltered.push(item);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn filtered;\r\n\t};\r\n\thelpers$1.findIndex = Array.prototype.findIndex ?\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\treturn array.findIndex(callback, scope);\r\n\t\t} :\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\tscope = scope === undefined ? array : scope;\r\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\r\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn -1;\r\n\t\t};\r\n\thelpers$1.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to start of the array\r\n\t\tif (helpers$1.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = -1;\r\n\t\t}\r\n\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers$1.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to end of the array\r\n\t\tif (helpers$1.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = arrayToSearch.length;\r\n\t\t}\r\n\t\tfor (var i = startIndex - 1; i >= 0; i--) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// -- Math methods\r\n\thelpers$1.isNumber = function(n) {\r\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\r\n\t};\r\n\thelpers$1.almostEquals = function(x, y, epsilon) {\r\n\t\treturn Math.abs(x - y) < epsilon;\r\n\t};\r\n\thelpers$1.almostWhole = function(x, epsilon) {\r\n\t\tvar rounded = Math.round(x);\r\n\t\treturn ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\r\n\t};\r\n\thelpers$1.max = function(array) {\r\n\t\treturn array.reduce(function(max, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.max(max, value);\r\n\t\t\t}\r\n\t\t\treturn max;\r\n\t\t}, Number.NEGATIVE_INFINITY);\r\n\t};\r\n\thelpers$1.min = function(array) {\r\n\t\treturn array.reduce(function(min, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.min(min, value);\r\n\t\t\t}\r\n\t\t\treturn min;\r\n\t\t}, Number.POSITIVE_INFINITY);\r\n\t};\r\n\thelpers$1.sign = Math.sign ?\r\n\t\tfunction(x) {\r\n\t\t\treturn Math.sign(x);\r\n\t\t} :\r\n\t\tfunction(x) {\r\n\t\t\tx = +x; // convert to a number\r\n\t\t\tif (x === 0 || isNaN(x)) {\r\n\t\t\t\treturn x;\r\n\t\t\t}\r\n\t\t\treturn x > 0 ? 1 : -1;\r\n\t\t};\r\n\thelpers$1.toRadians = function(degrees) {\r\n\t\treturn degrees * (Math.PI / 180);\r\n\t};\r\n\thelpers$1.toDegrees = function(radians) {\r\n\t\treturn radians * (180 / Math.PI);\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of decimal places\r\n\t * i.e. the number of digits after the decimal point, of the value of this Number.\r\n\t * @param {number} x - A number.\r\n\t * @returns {number} The number of decimal places.\r\n\t * @private\r\n\t */\r\n\thelpers$1._decimalPlaces = function(x) {\r\n\t\tif (!helpers$1.isFinite(x)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar e = 1;\r\n\t\tvar p = 0;\r\n\t\twhile (Math.round(x * e) / e !== x) {\r\n\t\t\te *= 10;\r\n\t\t\tp++;\r\n\t\t}\r\n\t\treturn p;\r\n\t};\r\n\r\n\t// Gets the angle from vertical upright to the point about a centre.\r\n\thelpers$1.getAngleFromPoint = function(centrePoint, anglePoint) {\r\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x;\r\n\t\tvar distanceFromYCenter = anglePoint.y - centrePoint.y;\r\n\t\tvar radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\r\n\r\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\r\n\r\n\t\tif (angle < (-0.5 * Math.PI)) {\r\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tangle: angle,\r\n\t\t\tdistance: radialDistanceFromCenter\r\n\t\t};\r\n\t};\r\n\thelpers$1.distanceBetweenPoints = function(pt1, pt2) {\r\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\r\n\t};\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, not available anymore\r\n\t * @function Chart.helpers.aliasPixel\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\thelpers$1.aliasPixel = function(pixelWidth) {\r\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the aligned pixel value to avoid anti-aliasing blur\r\n\t * @param {Chart} chart - The chart instance.\r\n\t * @param {number} pixel - A pixel value.\r\n\t * @param {number} width - The width of the element.\r\n\t * @returns {number} The aligned pixel value.\r\n\t * @private\r\n\t */\r\n\thelpers$1._alignPixel = function(chart, pixel, width) {\r\n\t\tvar devicePixelRatio = chart.currentDevicePixelRatio;\r\n\t\tvar halfWidth = width / 2;\r\n\t\treturn Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\r\n\t};\r\n\r\n\thelpers$1.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\r\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\r\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\r\n\r\n\t\t// This function must also respect \"skipped\" points\r\n\r\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint;\r\n\t\tvar current = middlePoint;\r\n\t\tvar next = afterPoint.skip ? middlePoint : afterPoint;\r\n\r\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\r\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\r\n\r\n\t\tvar s01 = d01 / (d01 + d12);\r\n\t\tvar s12 = d12 / (d01 + d12);\r\n\r\n\t\t// If all points are the same, s01 & s02 will be inf\r\n\t\ts01 = isNaN(s01) ? 0 : s01;\r\n\t\ts12 = isNaN(s12) ? 0 : s12;\r\n\r\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\r\n\t\tvar fb = t * s12;\r\n\r\n\t\treturn {\r\n\t\t\tprevious: {\r\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\r\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\r\n\t\t\t},\r\n\t\t\tnext: {\r\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\r\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\thelpers$1.EPSILON = Number.EPSILON || 1e-14;\r\n\thelpers$1.splineCurveMonotone = function(points) {\r\n\t\t// This function calculates Bézier control points in a similar way than |splineCurve|,\r\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\r\n\t\t// between the dataset discrete points due to the interpolation.\r\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\r\n\r\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tmodel: point._model,\r\n\t\t\t\tdeltaK: 0,\r\n\t\t\t\tmK: 0\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\r\n\t\tvar pointsLen = pointsWithTangents.length;\r\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\r\n\r\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\r\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\r\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\r\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\r\n\t\t\t\tpointCurrent.mK = 0;\r\n\t\t\t} else {\r\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Adjust tangents to ensure monotonic properties\r\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\r\n\t\tfor (i = 0; i < pointsLen - 1; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tpointAfter = pointsWithTangents[i + 1];\r\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (helpers$1.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\r\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\r\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\r\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\r\n\t\t\tif (squaredMagnitude <= 9) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\r\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\r\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\r\n\t\t}\r\n\r\n\t\t// Compute control points\r\n\t\tvar deltaX;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointBefore && !pointBefore.model.skip) {\r\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers$1.nextItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index >= collection.length - 1 ? collection[0] : collection[index + 1];\r\n\t\t}\r\n\t\treturn index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\r\n\t};\r\n\thelpers$1.previousItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index <= 0 ? collection[collection.length - 1] : collection[index - 1];\r\n\t\t}\r\n\t\treturn index <= 0 ? collection[0] : collection[index - 1];\r\n\t};\r\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\r\n\thelpers$1.niceNum = function(range, round) {\r\n\t\tvar exponent = Math.floor(helpers$1.log10(range));\r\n\t\tvar fraction = range / Math.pow(10, exponent);\r\n\t\tvar niceFraction;\r\n\r\n\t\tif (round) {\r\n\t\t\tif (fraction < 1.5) {\r\n\t\t\t\tniceFraction = 1;\r\n\t\t\t} else if (fraction < 3) {\r\n\t\t\t\tniceFraction = 2;\r\n\t\t\t} else if (fraction < 7) {\r\n\t\t\t\tniceFraction = 5;\r\n\t\t\t} else {\r\n\t\t\t\tniceFraction = 10;\r\n\t\t\t}\r\n\t\t} else if (fraction <= 1.0) {\r\n\t\t\tniceFraction = 1;\r\n\t\t} else if (fraction <= 2) {\r\n\t\t\tniceFraction = 2;\r\n\t\t} else if (fraction <= 5) {\r\n\t\t\tniceFraction = 5;\r\n\t\t} else {\r\n\t\t\tniceFraction = 10;\r\n\t\t}\r\n\r\n\t\treturn niceFraction * Math.pow(10, exponent);\r\n\t};\r\n\t// Request animation polyfill - https://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\thelpers$1.requestAnimFrame = (function() {\r\n\t\tif (typeof window === 'undefined') {\r\n\t\t\treturn function(callback) {\r\n\t\t\t\tcallback();\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn window.requestAnimationFrame ||\r\n\t\t\twindow.webkitRequestAnimationFrame ||\r\n\t\t\twindow.mozRequestAnimationFrame ||\r\n\t\t\twindow.oRequestAnimationFrame ||\r\n\t\t\twindow.msRequestAnimationFrame ||\r\n\t\t\tfunction(callback) {\r\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\r\n\t\t\t};\r\n\t}());\r\n\t// -- DOM methods\r\n\thelpers$1.getRelativePosition = function(evt, chart) {\r\n\t\tvar mouseX, mouseY;\r\n\t\tvar e = evt.originalEvent || evt;\r\n\t\tvar canvas = evt.target || evt.srcElement;\r\n\t\tvar boundingRect = canvas.getBoundingClientRect();\r\n\r\n\t\tvar touches = e.touches;\r\n\t\tif (touches && touches.length > 0) {\r\n\t\t\tmouseX = touches[0].clientX;\r\n\t\t\tmouseY = touches[0].clientY;\r\n\r\n\t\t} else {\r\n\t\t\tmouseX = e.clientX;\r\n\t\t\tmouseY = e.clientY;\r\n\t\t}\r\n\r\n\t\t// Scale mouse coordinates into canvas coordinates\r\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\r\n\t\t// https://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\r\n\t\tvar paddingLeft = parseFloat(helpers$1.getStyle(canvas, 'padding-left'));\r\n\t\tvar paddingTop = parseFloat(helpers$1.getStyle(canvas, 'padding-top'));\r\n\t\tvar paddingRight = parseFloat(helpers$1.getStyle(canvas, 'padding-right'));\r\n\t\tvar paddingBottom = parseFloat(helpers$1.getStyle(canvas, 'padding-bottom'));\r\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\r\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\r\n\r\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\r\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\r\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\r\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\r\n\r\n\t\treturn {\r\n\t\t\tx: mouseX,\r\n\t\t\ty: mouseY\r\n\t\t};\r\n\r\n\t};\r\n\r\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\r\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\r\n\t\tvar valueInPixels;\r\n\t\tif (typeof styleValue === 'string') {\r\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\r\n\r\n\t\t\tif (styleValue.indexOf('%') !== -1) {\r\n\t\t\t\t// percentage * size in dimension\r\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalueInPixels = styleValue;\r\n\t\t}\r\n\r\n\t\treturn valueInPixels;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns if the given value contains an effective constraint.\r\n\t * @private\r\n\t */\r\n\tfunction isConstrainedValue(value) {\r\n\t\treturn value !== undefined && value !== null && value !== 'none';\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the max width or height of the given DOM node in a cross-browser compatible fashion\r\n\t * @param {HTMLElement} domNode - the node to check the constraint on\r\n\t * @param {string} maxStyle - the style that defines the maximum for the direction we are using ('max-width' / 'max-height')\r\n\t * @param {string} percentageProperty - property of parent to use when calculating width as a percentage\r\n\t * @see {@link https://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser}\r\n\t */\r\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\r\n\t\tvar view = document.defaultView;\r\n\t\tvar parentNode = helpers$1._getParentNode(domNode);\r\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\r\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\r\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\r\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\r\n\t\tvar infinity = Number.POSITIVE_INFINITY;\r\n\r\n\t\tif (hasCNode || hasCContainer) {\r\n\t\t\treturn Math.min(\r\n\t\t\t\thasCNode ? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\r\n\t\t\t\thasCContainer ? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\r\n\t\t}\r\n\r\n\t\treturn 'none';\r\n\t}\r\n\t// returns Number or undefined if no constraint\r\n\thelpers$1.getConstraintWidth = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\r\n\t};\r\n\t// returns Number or undefined if no constraint\r\n\thelpers$1.getConstraintHeight = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\r\n\t};\r\n\t/**\r\n\t * @private\r\n \t */\r\n\thelpers$1._calculatePadding = function(container, padding, parentDimension) {\r\n\t\tpadding = helpers$1.getStyle(container, padding);\r\n\r\n\t\treturn padding.indexOf('%') > -1 ? parentDimension * parseInt(padding, 10) / 100 : parseInt(padding, 10);\r\n\t};\r\n\t/**\r\n\t * @private\r\n\t */\r\n\thelpers$1._getParentNode = function(domNode) {\r\n\t\tvar parent = domNode.parentNode;\r\n\t\tif (parent && parent.toString() === '[object ShadowRoot]') {\r\n\t\t\tparent = parent.host;\r\n\t\t}\r\n\t\treturn parent;\r\n\t};\r\n\thelpers$1.getMaximumWidth = function(domNode) {\r\n\t\tvar container = helpers$1._getParentNode(domNode);\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientWidth;\r\n\t\t}\r\n\r\n\t\tvar clientWidth = container.clientWidth;\r\n\t\tvar paddingLeft = helpers$1._calculatePadding(container, 'padding-left', clientWidth);\r\n\t\tvar paddingRight = helpers$1._calculatePadding(container, 'padding-right', clientWidth);\r\n\r\n\t\tvar w = clientWidth - paddingLeft - paddingRight;\r\n\t\tvar cw = helpers$1.getConstraintWidth(domNode);\r\n\t\treturn isNaN(cw) ? w : Math.min(w, cw);\r\n\t};\r\n\thelpers$1.getMaximumHeight = function(domNode) {\r\n\t\tvar container = helpers$1._getParentNode(domNode);\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientHeight;\r\n\t\t}\r\n\r\n\t\tvar clientHeight = container.clientHeight;\r\n\t\tvar paddingTop = helpers$1._calculatePadding(container, 'padding-top', clientHeight);\r\n\t\tvar paddingBottom = helpers$1._calculatePadding(container, 'padding-bottom', clientHeight);\r\n\r\n\t\tvar h = clientHeight - paddingTop - paddingBottom;\r\n\t\tvar ch = helpers$1.getConstraintHeight(domNode);\r\n\t\treturn isNaN(ch) ? h : Math.min(h, ch);\r\n\t};\r\n\thelpers$1.getStyle = function(el, property) {\r\n\t\treturn el.currentStyle ?\r\n\t\t\tel.currentStyle[property] :\r\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\r\n\t};\r\n\thelpers$1.retinaScale = function(chart, forceRatio) {\r\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = forceRatio || (typeof window !== 'undefined' && window.devicePixelRatio) || 1;\r\n\t\tif (pixelRatio === 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar height = chart.height;\r\n\t\tvar width = chart.width;\r\n\r\n\t\tcanvas.height = height * pixelRatio;\r\n\t\tcanvas.width = width * pixelRatio;\r\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\r\n\r\n\t\t// If no style has been set on the canvas, the render size is used as display size,\r\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\r\n\t\tif (!canvas.style.height && !canvas.style.width) {\r\n\t\t\tcanvas.style.height = height + 'px';\r\n\t\t\tcanvas.style.width = width + 'px';\r\n\t\t}\r\n\t};\r\n\t// -- Canvas methods\r\n\thelpers$1.fontString = function(pixelSize, fontStyle, fontFamily) {\r\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\r\n\t};\r\n\thelpers$1.longestText = function(ctx, font, arrayOfThings, cache) {\r\n\t\tcache = cache || {};\r\n\t\tvar data = cache.data = cache.data || {};\r\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\r\n\r\n\t\tif (cache.font !== font) {\r\n\t\t\tdata = cache.data = {};\r\n\t\t\tgc = cache.garbageCollect = [];\r\n\t\t\tcache.font = font;\r\n\t\t}\r\n\r\n\t\tctx.font = font;\r\n\t\tvar longest = 0;\r\n\t\tvar ilen = arrayOfThings.length;\r\n\t\tvar i, j, jlen, thing, nestedThing;\r\n\t\tfor (i = 0; i < ilen; i++) {\r\n\t\t\tthing = arrayOfThings[i];\r\n\r\n\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\tif (thing !== undefined && thing !== null && helpers$1.isArray(thing) !== true) {\r\n\t\t\t\tlongest = helpers$1.measureText(ctx, data, gc, longest, thing);\r\n\t\t\t} else if (helpers$1.isArray(thing)) {\r\n\t\t\t\t// if it is an array lets measure each element\r\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\r\n\t\t\t\tfor (j = 0, jlen = thing.length; j < jlen; j++) {\r\n\t\t\t\t\tnestedThing = thing[j];\r\n\t\t\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\t\t\tif (nestedThing !== undefined && nestedThing !== null && !helpers$1.isArray(nestedThing)) {\r\n\t\t\t\t\t\tlongest = helpers$1.measureText(ctx, data, gc, longest, nestedThing);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tif (gcLen > arrayOfThings.length) {\r\n\t\t\tfor (i = 0; i < gcLen; i++) {\r\n\t\t\t\tdelete data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\thelpers$1.measureText = function(ctx, data, gc, longest, string) {\r\n\t\tvar textWidth = data[string];\r\n\t\tif (!textWidth) {\r\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\r\n\t\t\tgc.push(string);\r\n\t\t}\r\n\t\tif (textWidth > longest) {\r\n\t\t\tlongest = textWidth;\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t */\r\n\thelpers$1.numberOfLabelLines = function(arrayOfThings) {\r\n\t\tvar numberOfLines = 1;\r\n\t\thelpers$1.each(arrayOfThings, function(thing) {\r\n\t\t\tif (helpers$1.isArray(thing)) {\r\n\t\t\t\tif (thing.length > numberOfLines) {\r\n\t\t\t\t\tnumberOfLines = thing.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn numberOfLines;\r\n\t};\r\n\r\n\thelpers$1.color = !chartjsColor ?\r\n\t\tfunction(value) {\r\n\t\t\tconsole.error('Color.js not found!');\r\n\t\t\treturn value;\r\n\t\t} :\r\n\t\tfunction(value) {\r\n\t\t\t/* global CanvasGradient */\r\n\t\t\tif (value instanceof CanvasGradient) {\r\n\t\t\t\tvalue = core_defaults.global.defaultColor;\r\n\t\t\t}\r\n\r\n\t\t\treturn chartjsColor(value);\r\n\t\t};\r\n\r\n\thelpers$1.getHoverColor = function(colorValue) {\r\n\t\t/* global CanvasPattern */\r\n\t\treturn (colorValue instanceof CanvasPattern || colorValue instanceof CanvasGradient) ?\r\n\t\t\tcolorValue :\r\n\t\t\thelpers$1.color(colorValue).saturate(0.5).darken(0.1).rgbString();\r\n\t};\r\n};\n\nfunction abstract() {\r\n\tthrow new Error(\r\n\t\t'This method is not implemented: either no adapter can ' +\r\n\t\t'be found or an incomplete integration was provided.'\r\n\t);\r\n}\r\n\r\n/**\r\n * Date adapter (current used by the time scale)\r\n * @namespace Chart._adapters._date\r\n * @memberof Chart._adapters\r\n * @private\r\n */\r\n\r\n/**\r\n * Currently supported unit string values.\r\n * @typedef {('millisecond'|'second'|'minute'|'hour'|'day'|'week'|'month'|'quarter'|'year')}\r\n * @memberof Chart._adapters._date\r\n * @name Unit\r\n */\r\n\r\n/**\r\n * @class\r\n */\r\nfunction DateAdapter(options) {\r\n\tthis.options = options || {};\r\n}\r\n\r\nhelpers$1.extend(DateAdapter.prototype, /** @lends DateAdapter */ {\r\n\t/**\r\n\t * Returns a map of time formats for the supported formatting units defined\r\n\t * in Unit as well as 'datetime' representing a detailed date/time string.\r\n\t * @returns {{string: string}}\r\n\t */\r\n\tformats: abstract,\r\n\r\n\t/**\r\n\t * Parses the given `value` and return the associated timestamp.\r\n\t * @param {any} value - the value to parse (usually comes from the data)\r\n\t * @param {string} [format] - the expected data format\r\n\t * @returns {(number|null)}\r\n\t * @function\r\n\t */\r\n\tparse: abstract,\r\n\r\n\t/**\r\n\t * Returns the formatted date in the specified `format` for a given `timestamp`.\r\n\t * @param {number} timestamp - the timestamp to format\r\n\t * @param {string} format - the date/time token\r\n\t * @return {string}\r\n\t * @function\r\n\t */\r\n\tformat: abstract,\r\n\r\n\t/**\r\n\t * Adds the specified `amount` of `unit` to the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {number} amount - the amount to add\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @return {number}\r\n\t * @function\r\n\t */\r\n\tadd: abstract,\r\n\r\n\t/**\r\n\t * Returns the number of `unit` between the given timestamps.\r\n\t * @param {number} max - the input timestamp (reference)\r\n\t * @param {number} min - the timestamp to substract\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @return {number}\r\n\t * @function\r\n\t */\r\n\tdiff: abstract,\r\n\r\n\t/**\r\n\t * Returns start of `unit` for the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @param {number} [weekday] - the ISO day of the week with 1 being Monday\r\n\t * and 7 being Sunday (only needed if param *unit* is `isoWeek`).\r\n\t * @function\r\n\t */\r\n\tstartOf: abstract,\r\n\r\n\t/**\r\n\t * Returns end of `unit` for the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @function\r\n\t */\r\n\tendOf: abstract,\r\n\r\n\t// DEPRECATIONS\r\n\r\n\t/**\r\n\t * Provided for backward compatibility for scale.getValueForPixel(),\r\n\t * this method should be overridden only by the moment adapter.\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\t_create: function(value) {\r\n\t\treturn value;\r\n\t}\r\n});\r\n\r\nDateAdapter.override = function(members) {\r\n\thelpers$1.extend(DateAdapter.prototype, members);\r\n};\r\n\r\nvar _date = DateAdapter;\n\nvar core_adapters = {\n\t_date: _date\n};\n\n/**\r\n * Namespace to hold static tick generation functions\r\n * @namespace Chart.Ticks\r\n */\r\nvar core_ticks = {\r\n\t/**\r\n\t * Namespace to hold formatters for different types of ticks\r\n\t * @namespace Chart.Ticks.formatters\r\n\t */\r\n\tformatters: {\r\n\t\t/**\r\n\t\t * Formatter for value labels\r\n\t\t * @method Chart.Ticks.formatters.values\r\n\t\t * @param value the value to display\r\n\t\t * @return {string|string[]} the label to display\r\n\t\t */\r\n\t\tvalues: function(value) {\r\n\t\t\treturn helpers$1.isArray(value) ? value : '' + value;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Formatter for linear numeric ticks\r\n\t\t * @method Chart.Ticks.formatters.linear\r\n\t\t * @param tickValue {number} the value to be formatted\r\n\t\t * @param index {number} the position of the tickValue parameter in the ticks array\r\n\t\t * @param ticks {number[]} the list of ticks being converted\r\n\t\t * @return {string} string representation of the tickValue parameter\r\n\t\t */\r\n\t\tlinear: function(tickValue, index, ticks) {\r\n\t\t\t// If we have lots of ticks, don't use the ones\r\n\t\t\tvar delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\r\n\r\n\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\r\n\t\t\tif (Math.abs(delta) > 1) {\r\n\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\r\n\t\t\t\t\t// not an integer\r\n\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar logDelta = helpers$1.log10(Math.abs(delta));\r\n\t\t\tvar tickString = '';\r\n\r\n\t\t\tif (tickValue !== 0) {\r\n\t\t\t\tvar maxTick = Math.max(Math.abs(ticks[0]), Math.abs(ticks[ticks.length - 1]));\r\n\t\t\t\tif (maxTick < 1e-4) { // all ticks are small numbers; use scientific notation\r\n\t\t\t\t\tvar logTick = helpers$1.log10(Math.abs(tickValue));\r\n\t\t\t\t\tvar numExponential = Math.floor(logTick) - Math.floor(logDelta);\r\n\t\t\t\t\tnumExponential = Math.max(Math.min(numExponential, 20), 0);\r\n\t\t\t\t\ttickString = tickValue.toExponential(numExponential);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\r\n\t\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\r\n\t\t\t\t\ttickString = tickValue.toFixed(numDecimal);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttickString = '0'; // never show decimal places for 0\r\n\t\t\t}\r\n\r\n\t\t\treturn tickString;\r\n\t\t},\r\n\r\n\t\tlogarithmic: function(tickValue, index, ticks) {\r\n\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers$1.log10(tickValue))));\r\n\r\n\t\t\tif (tickValue === 0) {\r\n\t\t\t\treturn '0';\r\n\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\r\n\t\t\t\treturn tickValue.toExponential();\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n};\n\nvar isArray = helpers$1.isArray;\r\nvar isNullOrUndef = helpers$1.isNullOrUndef;\r\nvar valueOrDefault$a = helpers$1.valueOrDefault;\r\nvar valueAtIndexOrDefault = helpers$1.valueAtIndexOrDefault;\r\n\r\ncore_defaults._set('scale', {\r\n\tdisplay: true,\r\n\tposition: 'left',\r\n\toffset: false,\r\n\r\n\t// grid line settings\r\n\tgridLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0,0,0,0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tdrawBorder: true,\r\n\t\tdrawOnChartArea: true,\r\n\t\tdrawTicks: true,\r\n\t\ttickMarkLength: 10,\r\n\t\tzeroLineWidth: 1,\r\n\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\r\n\t\tzeroLineBorderDash: [],\r\n\t\tzeroLineBorderDashOffset: 0.0,\r\n\t\toffsetGridLines: false,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\t// scale label\r\n\tscaleLabel: {\r\n\t\t// display property\r\n\t\tdisplay: false,\r\n\r\n\t\t// actual label\r\n\t\tlabelString: '',\r\n\r\n\t\t// top/bottom padding\r\n\t\tpadding: {\r\n\t\t\ttop: 4,\r\n\t\t\tbottom: 4\r\n\t\t}\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tbeginAtZero: false,\r\n\t\tminRotation: 0,\r\n\t\tmaxRotation: 50,\r\n\t\tmirror: false,\r\n\t\tpadding: 0,\r\n\t\treverse: false,\r\n\t\tdisplay: true,\r\n\t\tautoSkip: true,\r\n\t\tautoSkipPadding: 0,\r\n\t\tlabelOffset: 0,\r\n\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\r\n\t\tcallback: core_ticks.formatters.values,\r\n\t\tminor: {},\r\n\t\tmajor: {}\r\n\t}\r\n});\r\n\r\n/** Returns a new array containing numItems from arr */\r\nfunction sample(arr, numItems) {\r\n\tvar result = [];\r\n\tvar increment = arr.length / numItems;\r\n\tvar i = 0;\r\n\tvar len = arr.length;\r\n\r\n\tfor (; i < len; i += increment) {\r\n\t\tresult.push(arr[Math.floor(i)]);\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\r\n\tvar length = scale.getTicks().length;\r\n\tvar validIndex = Math.min(index, length - 1);\r\n\tvar lineValue = scale.getPixelForTick(validIndex);\r\n\tvar start = scale._startPixel;\r\n\tvar end = scale._endPixel;\r\n\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\tvar offset;\r\n\r\n\tif (offsetGridLines) {\r\n\t\tif (length === 1) {\r\n\t\t\toffset = Math.max(lineValue - start, end - lineValue);\r\n\t\t} else if (index === 0) {\r\n\t\t\toffset = (scale.getPixelForTick(1) - lineValue) / 2;\r\n\t\t} else {\r\n\t\t\toffset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\r\n\t\t}\r\n\t\tlineValue += validIndex < index ? offset : -offset;\r\n\r\n\t\t// Return undefined if the pixel is out of the range\r\n\t\tif (lineValue < start - epsilon || lineValue > end + epsilon) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\treturn lineValue;\r\n}\r\n\r\nfunction garbageCollect(caches, length) {\r\n\thelpers$1.each(caches, function(cache) {\r\n\t\tvar gc = cache.gc;\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tvar i;\r\n\t\tif (gcLen > length) {\r\n\t\t\tfor (i = 0; i < gcLen; ++i) {\r\n\t\t\t\tdelete cache.data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Returns {width, height, offset} objects for the first, last, widest, highest tick\r\n * labels where offset indicates the anchor point offset from the top in pixels.\r\n */\r\nfunction computeLabelSizes(ctx, tickFonts, ticks, caches) {\r\n\tvar length = ticks.length;\r\n\tvar widths = [];\r\n\tvar heights = [];\r\n\tvar offsets = [];\r\n\tvar widestLabelSize = 0;\r\n\tvar highestLabelSize = 0;\r\n\tvar i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel, widest, highest;\r\n\r\n\tfor (i = 0; i < length; ++i) {\r\n\t\tlabel = ticks[i].label;\r\n\t\ttickFont = ticks[i].major ? tickFonts.major : tickFonts.minor;\r\n\t\tctx.font = fontString = tickFont.string;\r\n\t\tcache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\r\n\t\tlineHeight = tickFont.lineHeight;\r\n\t\twidth = height = 0;\r\n\t\t// Undefined labels and arrays should not be measured\r\n\t\tif (!isNullOrUndef(label) && !isArray(label)) {\r\n\t\t\twidth = helpers$1.measureText(ctx, cache.data, cache.gc, width, label);\r\n\t\t\theight = lineHeight;\r\n\t\t} else if (isArray(label)) {\r\n\t\t\t// if it is an array let's measure each element\r\n\t\t\tfor (j = 0, jlen = label.length; j < jlen; ++j) {\r\n\t\t\t\tnestedLabel = label[j];\r\n\t\t\t\t// Undefined labels and arrays should not be measured\r\n\t\t\t\tif (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\r\n\t\t\t\t\twidth = helpers$1.measureText(ctx, cache.data, cache.gc, width, nestedLabel);\r\n\t\t\t\t\theight += lineHeight;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\twidths.push(width);\r\n\t\theights.push(height);\r\n\t\toffsets.push(lineHeight / 2);\r\n\t\twidestLabelSize = Math.max(width, widestLabelSize);\r\n\t\thighestLabelSize = Math.max(height, highestLabelSize);\r\n\t}\r\n\tgarbageCollect(caches, length);\r\n\r\n\twidest = widths.indexOf(widestLabelSize);\r\n\thighest = heights.indexOf(highestLabelSize);\r\n\r\n\tfunction valueAt(idx) {\r\n\t\treturn {\r\n\t\t\twidth: widths[idx] || 0,\r\n\t\t\theight: heights[idx] || 0,\r\n\t\t\toffset: offsets[idx] || 0\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tfirst: valueAt(0),\r\n\t\tlast: valueAt(length - 1),\r\n\t\twidest: valueAt(widest),\r\n\t\thighest: valueAt(highest)\r\n\t};\r\n}\r\n\r\nfunction getTickMarkLength(options) {\r\n\treturn options.drawTicks ? options.tickMarkLength : 0;\r\n}\r\n\r\nfunction getScaleLabelHeight(options) {\r\n\tvar font, padding;\r\n\r\n\tif (!options.display) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tfont = helpers$1.options._parseFont(options);\r\n\tpadding = helpers$1.options.toPadding(options.padding);\r\n\r\n\treturn font.lineHeight + padding.height;\r\n}\r\n\r\nfunction parseFontOptions(options, nestedOpts) {\r\n\treturn helpers$1.extend(helpers$1.options._parseFont({\r\n\t\tfontFamily: valueOrDefault$a(nestedOpts.fontFamily, options.fontFamily),\r\n\t\tfontSize: valueOrDefault$a(nestedOpts.fontSize, options.fontSize),\r\n\t\tfontStyle: valueOrDefault$a(nestedOpts.fontStyle, options.fontStyle),\r\n\t\tlineHeight: valueOrDefault$a(nestedOpts.lineHeight, options.lineHeight)\r\n\t}), {\r\n\t\tcolor: helpers$1.options.resolve([nestedOpts.fontColor, options.fontColor, core_defaults.global.defaultFontColor])\r\n\t});\r\n}\r\n\r\nfunction parseTickFontOptions(options) {\r\n\tvar minor = parseFontOptions(options, options.minor);\r\n\tvar major = options.major.enabled ? parseFontOptions(options, options.major) : minor;\r\n\r\n\treturn {minor: minor, major: major};\r\n}\r\n\r\nfunction nonSkipped(ticksToFilter) {\r\n\tvar filtered = [];\r\n\tvar item, index, len;\r\n\tfor (index = 0, len = ticksToFilter.length; index < len; ++index) {\r\n\t\titem = ticksToFilter[index];\r\n\t\tif (typeof item._index !== 'undefined') {\r\n\t\t\tfiltered.push(item);\r\n\t\t}\r\n\t}\r\n\treturn filtered;\r\n}\r\n\r\nfunction getEvenSpacing(arr) {\r\n\tvar len = arr.length;\r\n\tvar i, diff;\r\n\r\n\tif (len < 2) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfor (diff = arr[0], i = 1; i < len; ++i) {\r\n\t\tif (arr[i] - arr[i - 1] !== diff) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn diff;\r\n}\r\n\r\nfunction calculateSpacing(majorIndices, ticks, axisLength, ticksLimit) {\r\n\tvar evenMajorSpacing = getEvenSpacing(majorIndices);\r\n\tvar spacing = (ticks.length - 1) / ticksLimit;\r\n\tvar factors, factor, i, ilen;\r\n\r\n\t// If the major ticks are evenly spaced apart, place the minor ticks\r\n\t// so that they divide the major ticks into even chunks\r\n\tif (!evenMajorSpacing) {\r\n\t\treturn Math.max(spacing, 1);\r\n\t}\r\n\r\n\tfactors = helpers$1.math._factorize(evenMajorSpacing);\r\n\tfor (i = 0, ilen = factors.length - 1; i < ilen; i++) {\r\n\t\tfactor = factors[i];\r\n\t\tif (factor > spacing) {\r\n\t\t\treturn factor;\r\n\t\t}\r\n\t}\r\n\treturn Math.max(spacing, 1);\r\n}\r\n\r\nfunction getMajorIndices(ticks) {\r\n\tvar result = [];\r\n\tvar i, ilen;\r\n\tfor (i = 0, ilen = ticks.length; i < ilen; i++) {\r\n\t\tif (ticks[i].major) {\r\n\t\t\tresult.push(i);\r\n\t\t}\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nfunction skipMajors(ticks, majorIndices, spacing) {\r\n\tvar count = 0;\r\n\tvar next = majorIndices[0];\r\n\tvar i, tick;\r\n\r\n\tspacing = Math.ceil(spacing);\r\n\tfor (i = 0; i < ticks.length; i++) {\r\n\t\ttick = ticks[i];\r\n\t\tif (i === next) {\r\n\t\t\ttick._index = i;\r\n\t\t\tcount++;\r\n\t\t\tnext = majorIndices[count * spacing];\r\n\t\t} else {\r\n\t\t\tdelete tick.label;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction skip(ticks, spacing, majorStart, majorEnd) {\r\n\tvar start = valueOrDefault$a(majorStart, 0);\r\n\tvar end = Math.min(valueOrDefault$a(majorEnd, ticks.length), ticks.length);\r\n\tvar count = 0;\r\n\tvar length, i, tick, next;\r\n\r\n\tspacing = Math.ceil(spacing);\r\n\tif (majorEnd) {\r\n\t\tlength = majorEnd - majorStart;\r\n\t\tspacing = length / Math.floor(length / spacing);\r\n\t}\r\n\r\n\tnext = start;\r\n\r\n\twhile (next < 0) {\r\n\t\tcount++;\r\n\t\tnext = Math.round(start + count * spacing);\r\n\t}\r\n\r\n\tfor (i = Math.max(start, 0); i < end; i++) {\r\n\t\ttick = ticks[i];\r\n\t\tif (i === next) {\r\n\t\t\ttick._index = i;\r\n\t\t\tcount++;\r\n\t\t\tnext = Math.round(start + count * spacing);\r\n\t\t} else {\r\n\t\t\tdelete tick.label;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvar Scale = core_element.extend({\r\n\r\n\tzeroLineIndex: 0,\r\n\r\n\t/**\r\n\t * Get the padding needed for the scale\r\n\t * @method getPadding\r\n\t * @private\r\n\t * @returns {Padding} the necessary padding\r\n\t */\r\n\tgetPadding: function() {\r\n\t\tvar me = this;\r\n\t\treturn {\r\n\t\t\tleft: me.paddingLeft || 0,\r\n\t\t\ttop: me.paddingTop || 0,\r\n\t\t\tright: me.paddingRight || 0,\r\n\t\t\tbottom: me.paddingBottom || 0\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the scale tick objects ({label, major})\r\n\t * @since 2.7\r\n\t */\r\n\tgetTicks: function() {\r\n\t\treturn this._ticks;\r\n\t},\r\n\r\n\t/**\r\n\t* @private\r\n\t*/\r\n\t_getLabels: function() {\r\n\t\tvar data = this.chart.data;\r\n\t\treturn this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecyle. Utilities then follow.\r\n\t// Any function defined here is inherited by all scale types.\r\n\t// Any function can be extended by the scale type\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, not available anymore\r\n\t * @function Chart.Scale.mergeTicksOptions\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\tmergeTicksOptions: function() {\r\n\t\t// noop\r\n\t},\r\n\r\n\tbeforeUpdate: function() {\r\n\t\thelpers$1.callback(this.options.beforeUpdate, [this]);\r\n\t},\r\n\r\n\t/**\r\n\t * @param {number} maxWidth - the max width in pixels\r\n\t * @param {number} maxHeight - the max height in pixels\r\n\t * @param {object} margins - the space between the edge of the other scales and edge of the chart\r\n\t * This space comes from two sources:\r\n\t * - padding - space that's required to show the labels at the edges of the scale\r\n\t * - thickness of scales or legends in another orientation\r\n\t */\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar sampleSize = tickOpts.sampleSize;\r\n\t\tvar i, ilen, labels, ticks, samplingEnabled;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = helpers$1.extend({\r\n\t\t\tleft: 0,\r\n\t\t\tright: 0,\r\n\t\t\ttop: 0,\r\n\t\t\tbottom: 0\r\n\t\t}, margins);\r\n\r\n\t\tme._ticks = null;\r\n\t\tme.ticks = null;\r\n\t\tme._labelSizes = null;\r\n\t\tme._maxLabelLines = 0;\r\n\t\tme.longestLabelWidth = 0;\r\n\t\tme.longestTextCache = me.longestTextCache || {};\r\n\t\tme._gridLineItems = null;\r\n\t\tme._labelItems = null;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\r\n\t\t// Data min/max\r\n\t\tme.beforeDataLimits();\r\n\t\tme.determineDataLimits();\r\n\t\tme.afterDataLimits();\r\n\r\n\t\t// Ticks - `this.ticks` is now DEPRECATED!\r\n\t\t// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member\r\n\t\t// and must not be accessed directly from outside this class. `this.ticks` being\r\n\t\t// around for long time and not marked as private, we can't change its structure\r\n\t\t// without unexpected breaking changes. If you need to access the scale ticks,\r\n\t\t// use scale.getTicks() instead.\r\n\r\n\t\tme.beforeBuildTicks();\r\n\r\n\t\t// New implementations should return an array of objects but for BACKWARD COMPAT,\r\n\t\t// we still support no return (`this.ticks` internally set by calling this method).\r\n\t\tticks = me.buildTicks() || [];\r\n\r\n\t\t// Allow modification of ticks in callback.\r\n\t\tticks = me.afterBuildTicks(ticks) || ticks;\r\n\r\n\t\t// Ensure ticks contains ticks in new tick format\r\n\t\tif ((!ticks || !ticks.length) && me.ticks) {\r\n\t\t\tticks = [];\r\n\t\t\tfor (i = 0, ilen = me.ticks.length; i < ilen; ++i) {\r\n\t\t\t\tticks.push({\r\n\t\t\t\t\tvalue: me.ticks[i],\r\n\t\t\t\t\tmajor: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme._ticks = ticks;\r\n\r\n\t\t// Compute tick rotation and fit using a sampled subset of labels\r\n\t\t// We generally don't need to compute the size of every single label for determining scale size\r\n\t\tsamplingEnabled = sampleSize < ticks.length;\r\n\t\tlabels = me._convertTicksToLabels(samplingEnabled ? sample(ticks, sampleSize) : ticks);\r\n\r\n\t\t// _configure is called twice, once here, once from core.controller.updateLayout.\r\n\t\t// Here we haven't been positioned yet, but dimensions are correct.\r\n\t\t// Variables set in _configure are needed for calculateTickRotation, and\r\n\t\t// it's ok that coordinates are not correct there, only dimensions matter.\r\n\t\tme._configure();\r\n\r\n\t\t// Tick Rotation\r\n\t\tme.beforeCalculateTickRotation();\r\n\t\tme.calculateTickRotation();\r\n\t\tme.afterCalculateTickRotation();\r\n\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\r\n\t\t// Auto-skip\r\n\t\tme._ticksToDraw = tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto') ? me._autoSkip(ticks) : ticks;\r\n\r\n\t\tif (samplingEnabled) {\r\n\t\t\t// Generate labels using all non-skipped ticks\r\n\t\t\tlabels = me._convertTicksToLabels(me._ticksToDraw);\r\n\t\t}\r\n\r\n\t\tme.ticks = labels; // BACKWARD COMPATIBILITY\r\n\r\n\t\t// IMPORTANT: after this point, we consider that `this.ticks` will NEVER change!\r\n\r\n\t\tme.afterUpdate();\r\n\r\n\t\t// TODO(v3): remove minSize as a public property and return value from all layout boxes. It is unused\r\n\t\t// make maxWidth and maxHeight private\r\n\t\treturn me.minSize;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar reversePixels = me.options.ticks.reverse;\r\n\t\tvar startPixel, endPixel;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tstartPixel = me.left;\r\n\t\t\tendPixel = me.right;\r\n\t\t} else {\r\n\t\t\tstartPixel = me.top;\r\n\t\t\tendPixel = me.bottom;\r\n\t\t\t// by default vertical scales are from bottom to top, so pixels are reversed\r\n\t\t\treversePixels = !reversePixels;\r\n\t\t}\r\n\t\tme._startPixel = startPixel;\r\n\t\tme._endPixel = endPixel;\r\n\t\tme._reversePixels = reversePixels;\r\n\t\tme._length = endPixel - startPixel;\r\n\t},\r\n\r\n\tafterUpdate: function() {\r\n\t\thelpers$1.callback(this.options.afterUpdate, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: function() {\r\n\t\thelpers$1.callback(this.options.beforeSetDimensions, [this]);\r\n\t},\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\t},\r\n\tafterSetDimensions: function() {\r\n\t\thelpers$1.callback(this.options.afterSetDimensions, [this]);\r\n\t},\r\n\r\n\t// Data limits\r\n\tbeforeDataLimits: function() {\r\n\t\thelpers$1.callback(this.options.beforeDataLimits, [this]);\r\n\t},\r\n\tdetermineDataLimits: helpers$1.noop,\r\n\tafterDataLimits: function() {\r\n\t\thelpers$1.callback(this.options.afterDataLimits, [this]);\r\n\t},\r\n\r\n\t//\r\n\tbeforeBuildTicks: function() {\r\n\t\thelpers$1.callback(this.options.beforeBuildTicks, [this]);\r\n\t},\r\n\tbuildTicks: helpers$1.noop,\r\n\tafterBuildTicks: function(ticks) {\r\n\t\tvar me = this;\r\n\t\t// ticks is empty for old axis implementations here\r\n\t\tif (isArray(ticks) && ticks.length) {\r\n\t\t\treturn helpers$1.callback(me.options.afterBuildTicks, [me, ticks]);\r\n\t\t}\r\n\t\t// Support old implementations (that modified `this.ticks` directly in buildTicks)\r\n\t\tme.ticks = helpers$1.callback(me.options.afterBuildTicks, [me, me.ticks]) || me.ticks;\r\n\t\treturn ticks;\r\n\t},\r\n\r\n\tbeforeTickToLabelConversion: function() {\r\n\t\thelpers$1.callback(this.options.beforeTickToLabelConversion, [this]);\r\n\t},\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\t\t// Convert ticks to strings\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback, this);\r\n\t},\r\n\tafterTickToLabelConversion: function() {\r\n\t\thelpers$1.callback(this.options.afterTickToLabelConversion, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeCalculateTickRotation: function() {\r\n\t\thelpers$1.callback(this.options.beforeCalculateTickRotation, [this]);\r\n\t},\r\n\tcalculateTickRotation: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar numTicks = me.getTicks().length;\r\n\t\tvar minRotation = tickOpts.minRotation || 0;\r\n\t\tvar maxRotation = tickOpts.maxRotation;\r\n\t\tvar labelRotation = minRotation;\r\n\t\tvar labelSizes, maxLabelWidth, maxLabelHeight, maxWidth, tickWidth, maxHeight, maxLabelDiagonal;\r\n\r\n\t\tif (!me._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !me.isHorizontal()) {\r\n\t\t\tme.labelRotation = minRotation;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlabelSizes = me._getLabelSizes();\r\n\t\tmaxLabelWidth = labelSizes.widest.width;\r\n\t\tmaxLabelHeight = labelSizes.highest.height - labelSizes.highest.offset;\r\n\r\n\t\t// Estimate the width of each grid based on the canvas width, the maximum\r\n\t\t// label width and the number of tick intervals\r\n\t\tmaxWidth = Math.min(me.maxWidth, me.chart.width - maxLabelWidth);\r\n\t\ttickWidth = options.offset ? me.maxWidth / numTicks : maxWidth / (numTicks - 1);\r\n\r\n\t\t// Allow 3 pixels x2 padding either side for label readability\r\n\t\tif (maxLabelWidth + 6 > tickWidth) {\r\n\t\t\ttickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\r\n\t\t\tmaxHeight = me.maxHeight - getTickMarkLength(options.gridLines)\r\n\t\t\t\t- tickOpts.padding - getScaleLabelHeight(options.scaleLabel);\r\n\t\t\tmaxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\r\n\t\t\tlabelRotation = helpers$1.toDegrees(Math.min(\r\n\t\t\t\tMath.asin(Math.min((labelSizes.highest.height + 6) / tickWidth, 1)),\r\n\t\t\t\tMath.asin(Math.min(maxHeight / maxLabelDiagonal, 1)) - Math.asin(maxLabelHeight / maxLabelDiagonal)\r\n\t\t\t));\r\n\t\t\tlabelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\r\n\t\t}\r\n\r\n\t\tme.labelRotation = labelRotation;\r\n\t},\r\n\tafterCalculateTickRotation: function() {\r\n\t\thelpers$1.callback(this.options.afterCalculateTickRotation, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeFit: function() {\r\n\t\thelpers$1.callback(this.options.beforeFit, [this]);\r\n\t},\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\t// Reset\r\n\t\tvar minSize = me.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\r\n\t\tvar chart = me.chart;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\t\tvar scaleLabelOpts = opts.scaleLabel;\r\n\t\tvar gridLineOpts = opts.gridLines;\r\n\t\tvar display = me._isVisible();\r\n\t\tvar isBottom = opts.position === 'bottom';\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\t// Width\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth;\r\n\t\t} else if (display) {\r\n\t\t\tminSize.width = getTickMarkLength(gridLineOpts) + getScaleLabelHeight(scaleLabelOpts);\r\n\t\t}\r\n\r\n\t\t// height\r\n\t\tif (!isHorizontal) {\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t} else if (display) {\r\n\t\t\tminSize.height = getTickMarkLength(gridLineOpts) + getScaleLabelHeight(scaleLabelOpts);\r\n\t\t}\r\n\r\n\t\t// Don't bother fitting the ticks if we are not showing the labels\r\n\t\tif (tickOpts.display && display) {\r\n\t\t\tvar tickFonts = parseTickFontOptions(tickOpts);\r\n\t\t\tvar labelSizes = me._getLabelSizes();\r\n\t\t\tvar firstLabelSize = labelSizes.first;\r\n\t\t\tvar lastLabelSize = labelSizes.last;\r\n\t\t\tvar widestLabelSize = labelSizes.widest;\r\n\t\t\tvar highestLabelSize = labelSizes.highest;\r\n\t\t\tvar lineSpace = tickFonts.minor.lineHeight * 0.4;\r\n\t\t\tvar tickPadding = tickOpts.padding;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\t// A horizontal axis is more constrained by the height.\r\n\t\t\t\tvar isRotated = me.labelRotation !== 0;\r\n\t\t\t\tvar angleRadians = helpers$1.toRadians(me.labelRotation);\r\n\t\t\t\tvar cosRotation = Math.cos(angleRadians);\r\n\t\t\t\tvar sinRotation = Math.sin(angleRadians);\r\n\r\n\t\t\t\tvar labelHeight = sinRotation * widestLabelSize.width\r\n\t\t\t\t\t+ cosRotation * (highestLabelSize.height - (isRotated ? highestLabelSize.offset : 0))\r\n\t\t\t\t\t+ (isRotated ? 0 : lineSpace); // padding\r\n\r\n\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\r\n\r\n\t\t\t\tvar offsetLeft = me.getPixelForTick(0) - me.left;\r\n\t\t\t\tvar offsetRight = me.right - me.getPixelForTick(me.getTicks().length - 1);\r\n\t\t\t\tvar paddingLeft, paddingRight;\r\n\r\n\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\r\n\t\t\t\t// which means that the right padding is dominated by the font height\r\n\t\t\t\tif (isRotated) {\r\n\t\t\t\t\tpaddingLeft = isBottom ?\r\n\t\t\t\t\t\tcosRotation * firstLabelSize.width + sinRotation * firstLabelSize.offset :\r\n\t\t\t\t\t\tsinRotation * (firstLabelSize.height - firstLabelSize.offset);\r\n\t\t\t\t\tpaddingRight = isBottom ?\r\n\t\t\t\t\t\tsinRotation * (lastLabelSize.height - lastLabelSize.offset) :\r\n\t\t\t\t\t\tcosRotation * lastLabelSize.width + sinRotation * lastLabelSize.offset;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpaddingLeft = firstLabelSize.width / 2;\r\n\t\t\t\t\tpaddingRight = lastLabelSize.width / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Adjust padding taking into account changes in offsets\r\n\t\t\t\t// and add 3 px to move away from canvas edges\r\n\t\t\t\tme.paddingLeft = Math.max((paddingLeft - offsetLeft) * me.width / (me.width - offsetLeft), 0) + 3;\r\n\t\t\t\tme.paddingRight = Math.max((paddingRight - offsetRight) * me.width / (me.width - offsetRight), 0) + 3;\r\n\t\t\t} else {\r\n\t\t\t\t// A vertical axis is more constrained by the width. Labels are the\r\n\t\t\t\t// dominant factor here, so get that length first and account for padding\r\n\t\t\t\tvar labelWidth = tickOpts.mirror ? 0 :\r\n\t\t\t\t\t// use lineSpace for consistency with horizontal axis\r\n\t\t\t\t\t// tickPadding is not implemented for horizontal\r\n\t\t\t\t\twidestLabelSize.width + tickPadding + lineSpace;\r\n\r\n\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + labelWidth);\r\n\r\n\t\t\t\tme.paddingTop = firstLabelSize.height / 2;\r\n\t\t\t\tme.paddingBottom = lastLabelSize.height / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.handleMargins();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tme.width = me._length = chart.width - me.margins.left - me.margins.right;\r\n\t\t\tme.height = minSize.height;\r\n\t\t} else {\r\n\t\t\tme.width = minSize.width;\r\n\t\t\tme.height = me._length = chart.height - me.margins.top - me.margins.bottom;\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle margins and padding interactions\r\n\t * @private\r\n\t */\r\n\thandleMargins: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.margins) {\r\n\t\t\tme.margins.left = Math.max(me.paddingLeft, me.margins.left);\r\n\t\t\tme.margins.top = Math.max(me.paddingTop, me.margins.top);\r\n\t\t\tme.margins.right = Math.max(me.paddingRight, me.margins.right);\r\n\t\t\tme.margins.bottom = Math.max(me.paddingBottom, me.margins.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tafterFit: function() {\r\n\t\thelpers$1.callback(this.options.afterFit, [this]);\r\n\t},\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\tisFullWidth: function() {\r\n\t\treturn this.options.fullWidth;\r\n\t},\r\n\r\n\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\r\n\tgetRightValue: function(rawValue) {\r\n\t\t// Null and undefined values first\r\n\t\tif (isNullOrUndef(rawValue)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\r\n\t\tif ((typeof rawValue === 'number' || rawValue instanceof Number) && !isFinite(rawValue)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\r\n\t\t// If it is in fact an object, dive in one more level\r\n\t\tif (rawValue) {\r\n\t\t\tif (this.isHorizontal()) {\r\n\t\t\t\tif (rawValue.x !== undefined) {\r\n\t\t\t\t\treturn this.getRightValue(rawValue.x);\r\n\t\t\t\t}\r\n\t\t\t} else if (rawValue.y !== undefined) {\r\n\t\t\t\treturn this.getRightValue(rawValue.y);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Value is good, return it\r\n\t\treturn rawValue;\r\n\t},\r\n\r\n\t_convertTicksToLabels: function(ticks) {\r\n\t\tvar me = this;\r\n\t\tvar labels, i, ilen;\r\n\r\n\t\tme.ticks = ticks.map(function(tick) {\r\n\t\t\treturn tick.value;\r\n\t\t});\r\n\r\n\t\tme.beforeTickToLabelConversion();\r\n\r\n\t\t// New implementations should return the formatted tick labels but for BACKWARD\r\n\t\t// COMPAT, we still support no return (`this.ticks` internally changed by calling\r\n\t\t// this method and supposed to contain only string values).\r\n\t\tlabels = me.convertTicksToLabels(ticks) || me.ticks;\r\n\r\n\t\tme.afterTickToLabelConversion();\r\n\r\n\t\t// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\tticks[i].label = labels[i];\r\n\t\t}\r\n\r\n\t\treturn labels;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLabelSizes: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelSizes = me._labelSizes;\r\n\r\n\t\tif (!labelSizes) {\r\n\t\t\tme._labelSizes = labelSizes = computeLabelSizes(me.ctx, parseTickFontOptions(me.options.ticks), me.getTicks(), me.longestTextCache);\r\n\t\t\tme.longestLabelWidth = labelSizes.widest.width;\r\n\t\t}\r\n\r\n\t\treturn labelSizes;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_parseValue: function(value) {\r\n\t\tvar start, end, min, max;\r\n\r\n\t\tif (isArray(value)) {\r\n\t\t\tstart = +this.getRightValue(value[0]);\r\n\t\t\tend = +this.getRightValue(value[1]);\r\n\t\t\tmin = Math.min(start, end);\r\n\t\t\tmax = Math.max(start, end);\r\n\t\t} else {\r\n\t\t\tvalue = +this.getRightValue(value);\r\n\t\t\tstart = undefined;\r\n\t\t\tend = value;\r\n\t\t\tmin = value;\r\n\t\t\tmax = value;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tmin: min,\r\n\t\t\tmax: max,\r\n\t\t\tstart: start,\r\n\t\t\tend: end\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t* @private\r\n\t*/\r\n\t_getScaleLabel: function(rawValue) {\r\n\t\tvar v = this._parseValue(rawValue);\r\n\t\tif (v.start !== undefined) {\r\n\t\t\treturn '[' + v.start + ', ' + v.end + ']';\r\n\t\t}\r\n\r\n\t\treturn +this.getRightValue(rawValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Used to get the value to display in the tooltip for the data at the given index\r\n\t * @param index\r\n\t * @param datasetIndex\r\n\t */\r\n\tgetLabelForIndex: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Returns the location of the given data point. Value can either be an index or a numerical value\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t * @param value\r\n\t * @param index\r\n\t * @param datasetIndex\r\n\t */\r\n\tgetPixelForValue: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t * @param pixel\r\n\t */\r\n\tgetValueForPixel: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Returns the location of the tick at the given index\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar offset = me.options.offset;\r\n\t\tvar numTicks = me._ticks.length;\r\n\t\tvar tickWidth = 1 / Math.max(numTicks - (offset ? 0 : 1), 1);\r\n\r\n\t\treturn index < 0 || index > numTicks - 1\r\n\t\t\t? null\r\n\t\t\t: me.getPixelForDecimal(index * tickWidth + (offset ? tickWidth / 2 : 0));\r\n\t},\r\n\r\n\t/**\r\n\t * Utility for getting the pixel location of a percentage of scale\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetPixelForDecimal: function(decimal) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (me._reversePixels) {\r\n\t\t\tdecimal = 1 - decimal;\r\n\t\t}\r\n\r\n\t\treturn me._startPixel + decimal * me._length;\r\n\t},\r\n\r\n\tgetDecimalForPixel: function(pixel) {\r\n\t\tvar decimal = (pixel - this._startPixel) / this._length;\r\n\t\treturn this._reversePixels ? 1 - decimal : decimal;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the pixel for the minimum chart value\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetBasePixel: function() {\r\n\t\treturn this.getPixelForValue(this.getBaseValue());\r\n\t},\r\n\r\n\tgetBaseValue: function() {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\r\n\t\treturn me.beginAtZero ? 0 :\r\n\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t0;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a subset of ticks to be plotted to avoid overlapping labels.\r\n\t * @private\r\n\t */\r\n\t_autoSkip: function(ticks) {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar axisLength = me._length;\r\n\t\tvar ticksLimit = tickOpts.maxTicksLimit || axisLength / me._tickSize() + 1;\r\n\t\tvar majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\r\n\t\tvar numMajorIndices = majorIndices.length;\r\n\t\tvar first = majorIndices[0];\r\n\t\tvar last = majorIndices[numMajorIndices - 1];\r\n\t\tvar i, ilen, spacing, avgMajorSpacing;\r\n\r\n\t\t// If there are too many major ticks to display them all\r\n\t\tif (numMajorIndices > ticksLimit) {\r\n\t\t\tskipMajors(ticks, majorIndices, numMajorIndices / ticksLimit);\r\n\t\t\treturn nonSkipped(ticks);\r\n\t\t}\r\n\r\n\t\tspacing = calculateSpacing(majorIndices, ticks, axisLength, ticksLimit);\r\n\r\n\t\tif (numMajorIndices > 0) {\r\n\t\t\tfor (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\r\n\t\t\t\tskip(ticks, spacing, majorIndices[i], majorIndices[i + 1]);\r\n\t\t\t}\r\n\t\t\tavgMajorSpacing = numMajorIndices > 1 ? (last - first) / (numMajorIndices - 1) : null;\r\n\t\t\tskip(ticks, spacing, helpers$1.isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\r\n\t\t\tskip(ticks, spacing, last, helpers$1.isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\r\n\t\t\treturn nonSkipped(ticks);\r\n\t\t}\r\n\t\tskip(ticks, spacing);\r\n\t\treturn nonSkipped(ticks);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_tickSize: function() {\r\n\t\tvar me = this;\r\n\t\tvar optionTicks = me.options.ticks;\r\n\r\n\t\t// Calculate space needed by label in axis direction.\r\n\t\tvar rot = helpers$1.toRadians(me.labelRotation);\r\n\t\tvar cos = Math.abs(Math.cos(rot));\r\n\t\tvar sin = Math.abs(Math.sin(rot));\r\n\r\n\t\tvar labelSizes = me._getLabelSizes();\r\n\t\tvar padding = optionTicks.autoSkipPadding || 0;\r\n\t\tvar w = labelSizes ? labelSizes.widest.width + padding : 0;\r\n\t\tvar h = labelSizes ? labelSizes.highest.height + padding : 0;\r\n\r\n\t\t// Calculate space needed for 1 tick in axis direction.\r\n\t\treturn me.isHorizontal()\r\n\t\t\t? h * cos > w * sin ? w / cos : h / sin\r\n\t\t\t: h * sin < w * cos ? h / cos : w / sin;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_isVisible: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar display = me.options.display;\r\n\t\tvar i, ilen, meta;\r\n\r\n\t\tif (display !== 'auto') {\r\n\t\t\treturn !!display;\r\n\t\t}\r\n\r\n\t\t// When 'auto', the scale is visible if at least one associated dataset is visible.\r\n\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tif (meta.xAxisID === me.id || meta.yAxisID === me.id) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeGridLineItems: function(chartArea) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar options = me.options;\r\n\t\tvar gridLines = options.gridLines;\r\n\t\tvar position = options.position;\r\n\t\tvar offsetGridLines = gridLines.offsetGridLines;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar ticks = me._ticksToDraw;\r\n\t\tvar ticksLength = ticks.length + (offsetGridLines ? 1 : 0);\r\n\r\n\t\tvar tl = getTickMarkLength(gridLines);\r\n\t\tvar items = [];\r\n\t\tvar axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;\r\n\t\tvar axisHalfWidth = axisWidth / 2;\r\n\t\tvar alignPixel = helpers$1._alignPixel;\r\n\t\tvar alignBorderValue = function(pixel) {\r\n\t\t\treturn alignPixel(chart, pixel, axisWidth);\r\n\t\t};\r\n\t\tvar borderValue, i, tick, lineValue, alignedLineValue;\r\n\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, lineWidth, lineColor, borderDash, borderDashOffset;\r\n\r\n\t\tif (position === 'top') {\r\n\t\t\tborderValue = alignBorderValue(me.bottom);\r\n\t\t\tty1 = me.bottom - tl;\r\n\t\t\tty2 = borderValue - axisHalfWidth;\r\n\t\t\ty1 = alignBorderValue(chartArea.top) + axisHalfWidth;\r\n\t\t\ty2 = chartArea.bottom;\r\n\t\t} else if (position === 'bottom') {\r\n\t\t\tborderValue = alignBorderValue(me.top);\r\n\t\t\ty1 = chartArea.top;\r\n\t\t\ty2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\r\n\t\t\tty1 = borderValue + axisHalfWidth;\r\n\t\t\tty2 = me.top + tl;\r\n\t\t} else if (position === 'left') {\r\n\t\t\tborderValue = alignBorderValue(me.right);\r\n\t\t\ttx1 = me.right - tl;\r\n\t\t\ttx2 = borderValue - axisHalfWidth;\r\n\t\t\tx1 = alignBorderValue(chartArea.left) + axisHalfWidth;\r\n\t\t\tx2 = chartArea.right;\r\n\t\t} else {\r\n\t\t\tborderValue = alignBorderValue(me.left);\r\n\t\t\tx1 = chartArea.left;\r\n\t\t\tx2 = alignBorderValue(chartArea.right) - axisHalfWidth;\r\n\t\t\ttx1 = borderValue + axisHalfWidth;\r\n\t\t\ttx2 = me.left + tl;\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < ticksLength; ++i) {\r\n\t\t\ttick = ticks[i] || {};\r\n\r\n\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\tif (isNullOrUndef(tick.label) && i < ticks.length) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (i === me.zeroLineIndex && options.offset === offsetGridLines) {\r\n\t\t\t\t// Draw the first index specially\r\n\t\t\t\tlineWidth = gridLines.zeroLineWidth;\r\n\t\t\t\tlineColor = gridLines.zeroLineColor;\r\n\t\t\t\tborderDash = gridLines.zeroLineBorderDash || [];\r\n\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset || 0.0;\r\n\t\t\t} else {\r\n\t\t\t\tlineWidth = valueAtIndexOrDefault(gridLines.lineWidth, i, 1);\r\n\t\t\t\tlineColor = valueAtIndexOrDefault(gridLines.color, i, 'rgba(0,0,0,0.1)');\r\n\t\t\t\tborderDash = gridLines.borderDash || [];\r\n\t\t\t\tborderDashOffset = gridLines.borderDashOffset || 0.0;\r\n\t\t\t}\r\n\r\n\t\t\tlineValue = getPixelForGridLine(me, tick._index || i, offsetGridLines);\r\n\r\n\t\t\t// Skip if the pixel is out of the range\r\n\t\t\tif (lineValue === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talignedLineValue = alignPixel(chart, lineValue, lineWidth);\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\ttx1 = tx2 = x1 = x2 = alignedLineValue;\r\n\t\t\t} else {\r\n\t\t\t\tty1 = ty2 = y1 = y2 = alignedLineValue;\r\n\t\t\t}\r\n\r\n\t\t\titems.push({\r\n\t\t\t\ttx1: tx1,\r\n\t\t\t\tty1: ty1,\r\n\t\t\t\ttx2: tx2,\r\n\t\t\t\tty2: ty2,\r\n\t\t\t\tx1: x1,\r\n\t\t\t\ty1: y1,\r\n\t\t\t\tx2: x2,\r\n\t\t\t\ty2: y2,\r\n\t\t\t\twidth: lineWidth,\r\n\t\t\t\tcolor: lineColor,\r\n\t\t\t\tborderDash: borderDash,\r\n\t\t\t\tborderDashOffset: borderDashOffset,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\titems.ticksLength = ticksLength;\r\n\t\titems.borderValue = borderValue;\r\n\r\n\t\treturn items;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeLabelItems: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar optionTicks = options.ticks;\r\n\t\tvar position = options.position;\r\n\t\tvar isMirrored = optionTicks.mirror;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar ticks = me._ticksToDraw;\r\n\t\tvar fonts = parseTickFontOptions(optionTicks);\r\n\t\tvar tickPadding = optionTicks.padding;\r\n\t\tvar tl = getTickMarkLength(options.gridLines);\r\n\t\tvar rotation = -helpers$1.toRadians(me.labelRotation);\r\n\t\tvar items = [];\r\n\t\tvar i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\r\n\r\n\t\tif (position === 'top') {\r\n\t\t\ty = me.bottom - tl - tickPadding;\r\n\t\t\ttextAlign = !rotation ? 'center' : 'left';\r\n\t\t} else if (position === 'bottom') {\r\n\t\t\ty = me.top + tl + tickPadding;\r\n\t\t\ttextAlign = !rotation ? 'center' : 'right';\r\n\t\t} else if (position === 'left') {\r\n\t\t\tx = me.right - (isMirrored ? 0 : tl) - tickPadding;\r\n\t\t\ttextAlign = isMirrored ? 'left' : 'right';\r\n\t\t} else {\r\n\t\t\tx = me.left + (isMirrored ? 0 : tl) + tickPadding;\r\n\t\t\ttextAlign = isMirrored ? 'right' : 'left';\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\ttick = ticks[i];\r\n\t\t\tlabel = tick.label;\r\n\r\n\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\tif (isNullOrUndef(label)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpixel = me.getPixelForTick(tick._index || i) + optionTicks.labelOffset;\r\n\t\t\tfont = tick.major ? fonts.major : fonts.minor;\r\n\t\t\tlineHeight = font.lineHeight;\r\n\t\t\tlineCount = isArray(label) ? label.length : 1;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tx = pixel;\r\n\t\t\t\ttextOffset = position === 'top'\r\n\t\t\t\t\t? ((!rotation ? 0.5 : 1) - lineCount) * lineHeight\r\n\t\t\t\t\t: (!rotation ? 0.5 : 0) * lineHeight;\r\n\t\t\t} else {\r\n\t\t\t\ty = pixel;\r\n\t\t\t\ttextOffset = (1 - lineCount) * lineHeight / 2;\r\n\t\t\t}\r\n\r\n\t\t\titems.push({\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t\trotation: rotation,\r\n\t\t\t\tlabel: label,\r\n\t\t\t\tfont: font,\r\n\t\t\t\ttextOffset: textOffset,\r\n\t\t\t\ttextAlign: textAlign\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn items;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawGrid: function(chartArea) {\r\n\t\tvar me = this;\r\n\t\tvar gridLines = me.options.gridLines;\r\n\r\n\t\tif (!gridLines.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar chart = me.chart;\r\n\t\tvar alignPixel = helpers$1._alignPixel;\r\n\t\tvar axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;\r\n\t\tvar items = me._gridLineItems || (me._gridLineItems = me._computeGridLineItems(chartArea));\r\n\t\tvar width, color, i, ilen, item;\r\n\r\n\t\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\t\titem = items[i];\r\n\t\t\twidth = item.width;\r\n\t\t\tcolor = item.color;\r\n\r\n\t\t\tif (width && color) {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.lineWidth = width;\r\n\t\t\t\tctx.strokeStyle = color;\r\n\t\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t\tctx.setLineDash(item.borderDash);\r\n\t\t\t\t\tctx.lineDashOffset = item.borderDashOffset;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.beginPath();\r\n\r\n\t\t\t\tif (gridLines.drawTicks) {\r\n\t\t\t\t\tctx.moveTo(item.tx1, item.ty1);\r\n\t\t\t\t\tctx.lineTo(item.tx2, item.ty2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (gridLines.drawOnChartArea) {\r\n\t\t\t\t\tctx.moveTo(item.x1, item.y1);\r\n\t\t\t\t\tctx.lineTo(item.x2, item.y2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.stroke();\r\n\t\t\t\tctx.restore();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (axisWidth) {\r\n\t\t\t// Draw the line at the edge of the axis\r\n\t\t\tvar firstLineWidth = axisWidth;\r\n\t\t\tvar lastLineWidth = valueAtIndexOrDefault(gridLines.lineWidth, items.ticksLength - 1, 1);\r\n\t\t\tvar borderValue = items.borderValue;\r\n\t\t\tvar x1, x2, y1, y2;\r\n\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tx1 = alignPixel(chart, me.left, firstLineWidth) - firstLineWidth / 2;\r\n\t\t\t\tx2 = alignPixel(chart, me.right, lastLineWidth) + lastLineWidth / 2;\r\n\t\t\t\ty1 = y2 = borderValue;\r\n\t\t\t} else {\r\n\t\t\t\ty1 = alignPixel(chart, me.top, firstLineWidth) - firstLineWidth / 2;\r\n\t\t\t\ty2 = alignPixel(chart, me.bottom, lastLineWidth) + lastLineWidth / 2;\r\n\t\t\t\tx1 = x2 = borderValue;\r\n\t\t\t}\r\n\r\n\t\t\tctx.lineWidth = axisWidth;\r\n\t\t\tctx.strokeStyle = valueAtIndexOrDefault(gridLines.color, 0);\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x1, y1);\r\n\t\t\tctx.lineTo(x2, y2);\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar optionTicks = me.options.ticks;\r\n\r\n\t\tif (!optionTicks.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar items = me._labelItems || (me._labelItems = me._computeLabelItems());\r\n\t\tvar i, j, ilen, jlen, item, tickFont, label, y;\r\n\r\n\t\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\t\titem = items[i];\r\n\t\t\ttickFont = item.font;\r\n\r\n\t\t\t// Make sure we draw text in the correct color and font\r\n\t\t\tctx.save();\r\n\t\t\tctx.translate(item.x, item.y);\r\n\t\t\tctx.rotate(item.rotation);\r\n\t\t\tctx.font = tickFont.string;\r\n\t\t\tctx.fillStyle = tickFont.color;\r\n\t\t\tctx.textBaseline = 'middle';\r\n\t\t\tctx.textAlign = item.textAlign;\r\n\r\n\t\t\tlabel = item.label;\r\n\t\t\ty = item.textOffset;\r\n\t\t\tif (isArray(label)) {\r\n\t\t\t\tfor (j = 0, jlen = label.length; j < jlen; ++j) {\r\n\t\t\t\t\t// We just make sure the multiline element is a string here..\r\n\t\t\t\t\tctx.fillText('' + label[j], 0, y);\r\n\t\t\t\t\ty += tickFont.lineHeight;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tctx.fillText(label, 0, y);\r\n\t\t\t}\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawTitle: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar options = me.options;\r\n\t\tvar scaleLabel = options.scaleLabel;\r\n\r\n\t\tif (!scaleLabel.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar scaleLabelFontColor = valueOrDefault$a(scaleLabel.fontColor, core_defaults.global.defaultFontColor);\r\n\t\tvar scaleLabelFont = helpers$1.options._parseFont(scaleLabel);\r\n\t\tvar scaleLabelPadding = helpers$1.options.toPadding(scaleLabel.padding);\r\n\t\tvar halfLineHeight = scaleLabelFont.lineHeight / 2;\r\n\t\tvar position = options.position;\r\n\t\tvar rotation = 0;\r\n\t\tvar scaleLabelX, scaleLabelY;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tscaleLabelX = me.left + me.width / 2; // midpoint of the width\r\n\t\t\tscaleLabelY = position === 'bottom'\r\n\t\t\t\t? me.bottom - halfLineHeight - scaleLabelPadding.bottom\r\n\t\t\t\t: me.top + halfLineHeight + scaleLabelPadding.top;\r\n\t\t} else {\r\n\t\t\tvar isLeft = position === 'left';\r\n\t\t\tscaleLabelX = isLeft\r\n\t\t\t\t? me.left + halfLineHeight + scaleLabelPadding.top\r\n\t\t\t\t: me.right - halfLineHeight - scaleLabelPadding.top;\r\n\t\t\tscaleLabelY = me.top + me.height / 2;\r\n\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.translate(scaleLabelX, scaleLabelY);\r\n\t\tctx.rotate(rotation);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.fillStyle = scaleLabelFontColor; // render in correct colour\r\n\t\tctx.font = scaleLabelFont.string;\r\n\t\tctx.fillText(scaleLabel.labelString, 0, 0);\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (!me._isVisible()) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme._drawGrid(chartArea);\r\n\t\tme._drawTitle();\r\n\t\tme._drawLabels();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_layers: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tz = opts.ticks && opts.ticks.z || 0;\r\n\t\tvar gz = opts.gridLines && opts.gridLines.z || 0;\r\n\r\n\t\tif (!me._isVisible() || tz === gz || me.draw !== me._draw) {\r\n\t\t\t// backward compatibility: draw has been overridden by custom scale\r\n\t\t\treturn [{\r\n\t\t\t\tz: tz,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\tme.draw.apply(me, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t}\r\n\r\n\t\treturn [{\r\n\t\t\tz: gz,\r\n\t\t\tdraw: function() {\r\n\t\t\t\tme._drawGrid.apply(me, arguments);\r\n\t\t\t\tme._drawTitle.apply(me, arguments);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tz: tz,\r\n\t\t\tdraw: function() {\r\n\t\t\t\tme._drawLabels.apply(me, arguments);\r\n\t\t\t}\r\n\t\t}];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getMatchingVisibleMetas: function(type) {\r\n\t\tvar me = this;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\treturn me.chart._getSortedVisibleDatasetMetas()\r\n\t\t\t.filter(function(meta) {\r\n\t\t\t\treturn (!type || meta.type === type)\r\n\t\t\t\t\t&& (isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id);\r\n\t\t\t});\r\n\t}\r\n});\r\n\r\nScale.prototype._draw = Scale.prototype.draw;\r\n\r\nvar core_scale = Scale;\n\nvar isNullOrUndef$1 = helpers$1.isNullOrUndef;\r\n\r\nvar defaultConfig = {\r\n\tposition: 'bottom'\r\n};\r\n\r\nvar scale_category = core_scale.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar labels = me._getLabels();\r\n\t\tvar ticksOpts = me.options.ticks;\r\n\t\tvar min = ticksOpts.min;\r\n\t\tvar max = ticksOpts.max;\r\n\t\tvar minIndex = 0;\r\n\t\tvar maxIndex = labels.length - 1;\r\n\t\tvar findIndex;\r\n\r\n\t\tif (min !== undefined) {\r\n\t\t\t// user specified min value\r\n\t\t\tfindIndex = labels.indexOf(min);\r\n\t\t\tif (findIndex >= 0) {\r\n\t\t\t\tminIndex = findIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (max !== undefined) {\r\n\t\t\t// user specified max value\r\n\t\t\tfindIndex = labels.indexOf(max);\r\n\t\t\tif (findIndex >= 0) {\r\n\t\t\t\tmaxIndex = findIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.minIndex = minIndex;\r\n\t\tme.maxIndex = maxIndex;\r\n\t\tme.min = labels[minIndex];\r\n\t\tme.max = labels[maxIndex];\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar labels = me._getLabels();\r\n\t\tvar minIndex = me.minIndex;\r\n\t\tvar maxIndex = me.maxIndex;\r\n\r\n\t\t// If we are viewing some subset of labels, slice the original array\r\n\t\tme.ticks = (minIndex === 0 && maxIndex === labels.length - 1) ? labels : labels.slice(minIndex, maxIndex + 1);\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\r\n\t\tif (chart.getDatasetMeta(datasetIndex).controller._getValueScaleId() === me.id) {\r\n\t\t\treturn me.getRightValue(chart.data.datasets[datasetIndex].data[index]);\r\n\t\t}\r\n\r\n\t\treturn me._getLabels()[index];\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar offset = me.options.offset;\r\n\t\tvar ticks = me.ticks;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (!me.isHorizontal()) {\r\n\t\t\t// For backward compatibility, vertical category scale reverse is inverted.\r\n\t\t\tme._reversePixels = !me._reversePixels;\r\n\t\t}\r\n\r\n\t\tif (!ticks) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme._startValue = me.minIndex - (offset ? 0.5 : 0);\r\n\t\tme._valueRange = Math.max(ticks.length - (offset ? 0 : 1), 1);\r\n\t},\r\n\r\n\t// Used to get data value locations. Value can either be an index or a numerical value\r\n\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar valueCategory, labels, idx;\r\n\r\n\t\tif (!isNullOrUndef$1(index) && !isNullOrUndef$1(datasetIndex)) {\r\n\t\t\tvalue = me.chart.data.datasets[datasetIndex].data[index];\r\n\t\t}\r\n\r\n\t\t// If value is a data object, then index is the index in the data array,\r\n\t\t// not the index of the scale. We need to change that.\r\n\t\tif (!isNullOrUndef$1(value)) {\r\n\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\r\n\t\t}\r\n\t\tif (valueCategory !== undefined || (value !== undefined && isNaN(index))) {\r\n\t\t\tlabels = me._getLabels();\r\n\t\t\tvalue = helpers$1.valueOrDefault(valueCategory, value);\r\n\t\t\tidx = labels.indexOf(value);\r\n\t\t\tindex = idx !== -1 ? idx : index;\r\n\t\t\tif (isNaN(index)) {\r\n\t\t\t\tindex = value;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn me.getPixelForDecimal((index - me._startValue) / me._valueRange);\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.ticks;\r\n\t\treturn index < 0 || index > ticks.length - 1\r\n\t\t\t? null\r\n\t\t\t: this.getPixelForValue(ticks[index], index + this.minIndex);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar value = Math.round(me._startValue + me.getDecimalForPixel(pixel) * me._valueRange);\r\n\t\treturn Math.min(Math.max(value, 0), me.ticks.length - 1);\r\n\t},\r\n\r\n\tgetBasePixel: function() {\r\n\t\treturn this.bottom;\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults = defaultConfig;\nscale_category._defaults = _defaults;\n\nvar noop = helpers$1.noop;\r\nvar isNullOrUndef$2 = helpers$1.isNullOrUndef;\r\n\r\n/**\r\n * Generate a set of linear ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {number[]} array of tick values\r\n */\r\nfunction generateTicks(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\r\n\t// \"nice number\" algorithm. See https://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\r\n\t// for details.\r\n\r\n\tvar MIN_SPACING = 1e-14;\r\n\tvar stepSize = generationOptions.stepSize;\r\n\tvar unit = stepSize || 1;\r\n\tvar maxNumSpaces = generationOptions.maxTicks - 1;\r\n\tvar min = generationOptions.min;\r\n\tvar max = generationOptions.max;\r\n\tvar precision = generationOptions.precision;\r\n\tvar rmin = dataRange.min;\r\n\tvar rmax = dataRange.max;\r\n\tvar spacing = helpers$1.niceNum((rmax - rmin) / maxNumSpaces / unit) * unit;\r\n\tvar factor, niceMin, niceMax, numSpaces;\r\n\r\n\t// Beyond MIN_SPACING floating point numbers being to lose precision\r\n\t// such that we can't do the math necessary to generate ticks\r\n\tif (spacing < MIN_SPACING && isNullOrUndef$2(min) && isNullOrUndef$2(max)) {\r\n\t\treturn [rmin, rmax];\r\n\t}\r\n\r\n\tnumSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\r\n\tif (numSpaces > maxNumSpaces) {\r\n\t\t// If the calculated num of spaces exceeds maxNumSpaces, recalculate it\r\n\t\tspacing = helpers$1.niceNum(numSpaces * spacing / maxNumSpaces / unit) * unit;\r\n\t}\r\n\r\n\tif (stepSize || isNullOrUndef$2(precision)) {\r\n\t\t// If a precision is not specified, calculate factor based on spacing\r\n\t\tfactor = Math.pow(10, helpers$1._decimalPlaces(spacing));\r\n\t} else {\r\n\t\t// If the user specified a precision, round to that number of decimal places\r\n\t\tfactor = Math.pow(10, precision);\r\n\t\tspacing = Math.ceil(spacing * factor) / factor;\r\n\t}\r\n\r\n\tniceMin = Math.floor(rmin / spacing) * spacing;\r\n\tniceMax = Math.ceil(rmax / spacing) * spacing;\r\n\r\n\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\r\n\tif (stepSize) {\r\n\t\t// If very close to our whole number, use it.\r\n\t\tif (!isNullOrUndef$2(min) && helpers$1.almostWhole(min / spacing, spacing / 1000)) {\r\n\t\t\tniceMin = min;\r\n\t\t}\r\n\t\tif (!isNullOrUndef$2(max) && helpers$1.almostWhole(max / spacing, spacing / 1000)) {\r\n\t\t\tniceMax = max;\r\n\t\t}\r\n\t}\r\n\r\n\tnumSpaces = (niceMax - niceMin) / spacing;\r\n\t// If very close to our rounded value, use it.\r\n\tif (helpers$1.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\r\n\t\tnumSpaces = Math.round(numSpaces);\r\n\t} else {\r\n\t\tnumSpaces = Math.ceil(numSpaces);\r\n\t}\r\n\r\n\tniceMin = Math.round(niceMin * factor) / factor;\r\n\tniceMax = Math.round(niceMax * factor) / factor;\r\n\tticks.push(isNullOrUndef$2(min) ? niceMin : min);\r\n\tfor (var j = 1; j < numSpaces; ++j) {\r\n\t\tticks.push(Math.round((niceMin + j * spacing) * factor) / factor);\r\n\t}\r\n\tticks.push(isNullOrUndef$2(max) ? niceMax : max);\r\n\r\n\treturn ticks;\r\n}\r\n\r\nvar scale_linearbase = core_scale.extend({\r\n\tgetRightValue: function(value) {\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn +value;\r\n\t\t}\r\n\t\treturn core_scale.prototype.getRightValue.call(this, value);\r\n\t},\r\n\r\n\thandleTickRangeOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\r\n\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\r\n\t\t// axis, they can manually override it\r\n\t\tif (tickOpts.beginAtZero) {\r\n\t\t\tvar minSign = helpers$1.sign(me.min);\r\n\t\t\tvar maxSign = helpers$1.sign(me.max);\r\n\r\n\t\t\tif (minSign < 0 && maxSign < 0) {\r\n\t\t\t\t// move the top up to 0\r\n\t\t\t\tme.max = 0;\r\n\t\t\t} else if (minSign > 0 && maxSign > 0) {\r\n\t\t\t\t// move the bottom down to 0\r\n\t\t\t\tme.min = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar setMin = tickOpts.min !== undefined || tickOpts.suggestedMin !== undefined;\r\n\t\tvar setMax = tickOpts.max !== undefined || tickOpts.suggestedMax !== undefined;\r\n\r\n\t\tif (tickOpts.min !== undefined) {\r\n\t\t\tme.min = tickOpts.min;\r\n\t\t} else if (tickOpts.suggestedMin !== undefined) {\r\n\t\t\tif (me.min === null) {\r\n\t\t\t\tme.min = tickOpts.suggestedMin;\r\n\t\t\t} else {\r\n\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (tickOpts.max !== undefined) {\r\n\t\t\tme.max = tickOpts.max;\r\n\t\t} else if (tickOpts.suggestedMax !== undefined) {\r\n\t\t\tif (me.max === null) {\r\n\t\t\t\tme.max = tickOpts.suggestedMax;\r\n\t\t\t} else {\r\n\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (setMin !== setMax) {\r\n\t\t\t// We set the min or the max but not both.\r\n\t\t\t// So ensure that our range is good\r\n\t\t\t// Inverted or 0 length range can happen when\r\n\t\t\t// ticks.min is set, and no datasets are visible\r\n\t\t\tif (me.min >= me.max) {\r\n\t\t\t\tif (setMin) {\r\n\t\t\t\t\tme.max = me.min + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.min = me.max - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (me.min === me.max) {\r\n\t\t\tme.max++;\r\n\r\n\t\t\tif (!tickOpts.beginAtZero) {\r\n\t\t\t\tme.min--;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tgetTickLimit: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar stepSize = tickOpts.stepSize;\r\n\t\tvar maxTicksLimit = tickOpts.maxTicksLimit;\r\n\t\tvar maxTicks;\r\n\r\n\t\tif (stepSize) {\r\n\t\t\tmaxTicks = Math.ceil(me.max / stepSize) - Math.floor(me.min / stepSize) + 1;\r\n\t\t} else {\r\n\t\t\tmaxTicks = me._computeTickLimit();\r\n\t\t\tmaxTicksLimit = maxTicksLimit || 11;\r\n\t\t}\r\n\r\n\t\tif (maxTicksLimit) {\r\n\t\t\tmaxTicks = Math.min(maxTicksLimit, maxTicks);\r\n\t\t}\r\n\r\n\t\treturn maxTicks;\r\n\t},\r\n\r\n\t_computeTickLimit: function() {\r\n\t\treturn Number.POSITIVE_INFINITY;\r\n\t},\r\n\r\n\thandleDirectionalChanges: noop,\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t// Figure out what the max number of ticks we can support it is based on the size of\r\n\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 40\r\n\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\r\n\t\t// the graph. Make sure we always have at least 2 ticks\r\n\t\tvar maxTicks = me.getTickLimit();\r\n\t\tmaxTicks = Math.max(2, maxTicks);\r\n\r\n\t\tvar numericGeneratorOptions = {\r\n\t\t\tmaxTicks: maxTicks,\r\n\t\t\tmin: tickOpts.min,\r\n\t\t\tmax: tickOpts.max,\r\n\t\t\tprecision: tickOpts.precision,\r\n\t\t\tstepSize: helpers$1.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\r\n\t\t};\r\n\t\tvar ticks = me.ticks = generateTicks(numericGeneratorOptions, me);\r\n\r\n\t\tme.handleDirectionalChanges();\r\n\r\n\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t// range of the scale\r\n\t\tme.max = helpers$1.max(ticks);\r\n\t\tme.min = helpers$1.min(ticks);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\tticks.reverse();\r\n\r\n\t\t\tme.start = me.max;\r\n\t\t\tme.end = me.min;\r\n\t\t} else {\r\n\t\t\tme.start = me.min;\r\n\t\t\tme.end = me.max;\r\n\t\t}\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\t\tme.ticksAsNumbers = me.ticks.slice();\r\n\t\tme.zeroLineIndex = me.ticks.indexOf(0);\r\n\r\n\t\tcore_scale.prototype.convertTicksToLabels.call(me);\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar ticks = me.getTicks();\r\n\t\tvar start = me.min;\r\n\t\tvar end = me.max;\r\n\t\tvar offset;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (me.options.offset && ticks.length) {\r\n\t\t\toffset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\r\n\t\t\tstart -= offset;\r\n\t\t\tend += offset;\r\n\t\t}\r\n\t\tme._startValue = start;\r\n\t\tme._endValue = end;\r\n\t\tme._valueRange = end - start;\r\n\t}\r\n});\n\nvar defaultConfig$1 = {\r\n\tposition: 'left',\r\n\tticks: {\r\n\t\tcallback: core_ticks.formatters.linear\r\n\t}\r\n};\r\n\r\nvar DEFAULT_MIN = 0;\r\nvar DEFAULT_MAX = 1;\r\n\r\nfunction getOrCreateStack(stacks, stacked, meta) {\r\n\tvar key = [\r\n\t\tmeta.type,\r\n\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\tstacked === undefined && meta.stack === undefined ? meta.index : '',\r\n\t\tmeta.stack\r\n\t].join('.');\r\n\r\n\tif (stacks[key] === undefined) {\r\n\t\tstacks[key] = {\r\n\t\t\tpos: [],\r\n\t\t\tneg: []\r\n\t\t};\r\n\t}\r\n\r\n\treturn stacks[key];\r\n}\r\n\r\nfunction stackData(scale, stacks, meta, data) {\r\n\tvar opts = scale.options;\r\n\tvar stacked = opts.stacked;\r\n\tvar stack = getOrCreateStack(stacks, stacked, meta);\r\n\tvar pos = stack.pos;\r\n\tvar neg = stack.neg;\r\n\tvar ilen = data.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = scale._parseValue(data[i]);\r\n\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tpos[i] = pos[i] || 0;\r\n\t\tneg[i] = neg[i] || 0;\r\n\r\n\t\tif (opts.relativePoints) {\r\n\t\t\tpos[i] = 100;\r\n\t\t} else if (value.min < 0 || value.max < 0) {\r\n\t\t\tneg[i] += value.min;\r\n\t\t} else {\r\n\t\t\tpos[i] += value.max;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction updateMinMax(scale, meta, data) {\r\n\tvar ilen = data.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = scale._parseValue(data[i]);\r\n\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tscale.min = Math.min(scale.min, value.min);\r\n\t\tscale.max = Math.max(scale.max, value.max);\r\n\t}\r\n}\r\n\r\nvar scale_linear = scale_linearbase.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = me._getMatchingVisibleMetas();\r\n\t\tvar hasStacks = opts.stacked;\r\n\t\tvar stacks = {};\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, meta, data, values;\r\n\r\n\t\tme.min = Number.POSITIVE_INFINITY;\r\n\t\tme.max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\tif (hasStacks === undefined) {\r\n\t\t\tfor (i = 0; !hasStacks && i < ilen; ++i) {\r\n\t\t\t\tmeta = metasets[i];\r\n\t\t\t\thasStacks = meta.stack !== undefined;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\tdata = datasets[meta.index].data;\r\n\t\t\tif (hasStacks) {\r\n\t\t\t\tstackData(me, stacks, meta, data);\r\n\t\t\t} else {\r\n\t\t\t\tupdateMinMax(me, meta, data);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.each(stacks, function(stackValues) {\r\n\t\t\tvalues = stackValues.pos.concat(stackValues.neg);\r\n\t\t\tme.min = Math.min(me.min, helpers$1.min(values));\r\n\t\t\tme.max = Math.max(me.max, helpers$1.max(values));\r\n\t\t});\r\n\r\n\t\tme.min = helpers$1.isFinite(me.min) && !isNaN(me.min) ? me.min : DEFAULT_MIN;\r\n\t\tme.max = helpers$1.isFinite(me.max) && !isNaN(me.max) ? me.max : DEFAULT_MAX;\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\tme.handleTickRangeOptions();\r\n\t},\r\n\r\n\t// Returns the maximum number of ticks based on the scale dimension\r\n\t_computeTickLimit: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickFont;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\treturn Math.ceil(me.width / 40);\r\n\t\t}\r\n\t\ttickFont = helpers$1.options._parseFont(me.options.ticks);\r\n\t\treturn Math.ceil(me.height / tickFont.lineHeight);\r\n\t},\r\n\r\n\t// Called after the ticks are built. We need\r\n\thandleDirectionalChanges: function() {\r\n\t\tif (!this.isHorizontal()) {\r\n\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\r\n\t\t\tthis.ticks.reverse();\r\n\t\t}\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\t// Utils\r\n\tgetPixelForValue: function(value) {\r\n\t\tvar me = this;\r\n\t\treturn me.getPixelForDecimal((+me.getRightValue(value) - me._startValue) / me._valueRange);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\treturn this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.ticksAsNumbers;\r\n\t\tif (index < 0 || index > ticks.length - 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.getPixelForValue(ticks[index]);\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$1 = defaultConfig$1;\nscale_linear._defaults = _defaults$1;\n\nvar valueOrDefault$b = helpers$1.valueOrDefault;\r\nvar log10 = helpers$1.math.log10;\r\n\r\n/**\r\n * Generate a set of logarithmic ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {number[]} array of tick values\r\n */\r\nfunction generateTicks$1(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\r\n\tvar tickVal = valueOrDefault$b(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\r\n\r\n\tvar endExp = Math.floor(log10(dataRange.max));\r\n\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\r\n\tvar exp, significand;\r\n\r\n\tif (tickVal === 0) {\r\n\t\texp = Math.floor(log10(dataRange.minNotZero));\r\n\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\r\n\r\n\t\tticks.push(tickVal);\r\n\t\ttickVal = significand * Math.pow(10, exp);\r\n\t} else {\r\n\t\texp = Math.floor(log10(tickVal));\r\n\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\r\n\t}\r\n\tvar precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\r\n\r\n\tdo {\r\n\t\tticks.push(tickVal);\r\n\r\n\t\t++significand;\r\n\t\tif (significand === 10) {\r\n\t\t\tsignificand = 1;\r\n\t\t\t++exp;\r\n\t\t\tprecision = exp >= 0 ? 1 : precision;\r\n\t\t}\r\n\r\n\t\ttickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\r\n\t} while (exp < endExp || (exp === endExp && significand < endSignificand));\r\n\r\n\tvar lastTick = valueOrDefault$b(generationOptions.max, tickVal);\r\n\tticks.push(lastTick);\r\n\r\n\treturn ticks;\r\n}\r\n\r\nvar defaultConfig$2 = {\r\n\tposition: 'left',\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tcallback: core_ticks.formatters.logarithmic\r\n\t}\r\n};\r\n\r\n// TODO(v3): change this to positiveOrDefault\r\nfunction nonNegativeOrDefault(value, defaultValue) {\r\n\treturn helpers$1.isFinite(value) && value >= 0 ? value : defaultValue;\r\n}\r\n\r\nvar scale_logarithmic = core_scale.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tfunction IDMatches(meta) {\r\n\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\r\n\t\t}\r\n\t\tvar datasetIndex, meta, value, data, i, ilen;\r\n\r\n\t\t// Calculate Range\r\n\t\tme.min = Number.POSITIVE_INFINITY;\r\n\t\tme.max = Number.NEGATIVE_INFINITY;\r\n\t\tme.minNotZero = Number.POSITIVE_INFINITY;\r\n\r\n\t\tvar hasStacks = opts.stacked;\r\n\t\tif (hasStacks === undefined) {\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\r\n\t\t\t\t\tmeta.stack !== undefined) {\r\n\t\t\t\t\thasStacks = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (opts.stacked || hasStacks) {\r\n\t\t\tvar valuesPerStack = {};\r\n\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tvar key = [\r\n\t\t\t\t\tmeta.type,\r\n\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\r\n\t\t\t\t\tmeta.stack\r\n\t\t\t\t].join('.');\r\n\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\r\n\t\t\t\t\t\tvaluesPerStack[key] = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = datasets[datasetIndex].data;\r\n\t\t\t\t\tfor (i = 0, ilen = data.length; i < ilen; i++) {\r\n\t\t\t\t\t\tvar values = valuesPerStack[key];\r\n\t\t\t\t\t\tvalue = me._parseValue(data[i]);\r\n\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden || value.min < 0 || value.max < 0) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvalues[i] = values[i] || 0;\r\n\t\t\t\t\t\tvalues[i] += value.max;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\thelpers$1.each(valuesPerStack, function(valuesForType) {\r\n\t\t\t\tif (valuesForType.length > 0) {\r\n\t\t\t\t\tvar minVal = helpers$1.min(valuesForType);\r\n\t\t\t\t\tvar maxVal = helpers$1.max(valuesForType);\r\n\t\t\t\t\tme.min = Math.min(me.min, minVal);\r\n\t\t\t\t\tme.max = Math.max(me.max, maxVal);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t} else {\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\tdata = datasets[datasetIndex].data;\r\n\t\t\t\t\tfor (i = 0, ilen = data.length; i < ilen; i++) {\r\n\t\t\t\t\t\tvalue = me._parseValue(data[i]);\r\n\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden || value.min < 0 || value.max < 0) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tme.min = Math.min(value.min, me.min);\r\n\t\t\t\t\t\tme.max = Math.max(value.max, me.max);\r\n\r\n\t\t\t\t\t\tif (value.min !== 0) {\r\n\t\t\t\t\t\t\tme.minNotZero = Math.min(value.min, me.minNotZero);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.min = helpers$1.isFinite(me.min) ? me.min : null;\r\n\t\tme.max = helpers$1.isFinite(me.max) ? me.max : null;\r\n\t\tme.minNotZero = helpers$1.isFinite(me.minNotZero) ? me.minNotZero : null;\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max\r\n\t\tthis.handleTickRangeOptions();\r\n\t},\r\n\r\n\thandleTickRangeOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar DEFAULT_MIN = 1;\r\n\t\tvar DEFAULT_MAX = 10;\r\n\r\n\t\tme.min = nonNegativeOrDefault(tickOpts.min, me.min);\r\n\t\tme.max = nonNegativeOrDefault(tickOpts.max, me.max);\r\n\r\n\t\tif (me.min === me.max) {\r\n\t\t\tif (me.min !== 0 && me.min !== null) {\r\n\t\t\t\tme.min = Math.pow(10, Math.floor(log10(me.min)) - 1);\r\n\t\t\t\tme.max = Math.pow(10, Math.floor(log10(me.max)) + 1);\r\n\t\t\t} else {\r\n\t\t\t\tme.min = DEFAULT_MIN;\r\n\t\t\t\tme.max = DEFAULT_MAX;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (me.min === null) {\r\n\t\t\tme.min = Math.pow(10, Math.floor(log10(me.max)) - 1);\r\n\t\t}\r\n\t\tif (me.max === null) {\r\n\t\t\tme.max = me.min !== 0\r\n\t\t\t\t? Math.pow(10, Math.floor(log10(me.min)) + 1)\r\n\t\t\t\t: DEFAULT_MAX;\r\n\t\t}\r\n\t\tif (me.minNotZero === null) {\r\n\t\t\tif (me.min > 0) {\r\n\t\t\t\tme.minNotZero = me.min;\r\n\t\t\t} else if (me.max < 1) {\r\n\t\t\t\tme.minNotZero = Math.pow(10, Math.floor(log10(me.max)));\r\n\t\t\t} else {\r\n\t\t\t\tme.minNotZero = DEFAULT_MIN;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar reverse = !me.isHorizontal();\r\n\r\n\t\tvar generationOptions = {\r\n\t\t\tmin: nonNegativeOrDefault(tickOpts.min),\r\n\t\t\tmax: nonNegativeOrDefault(tickOpts.max)\r\n\t\t};\r\n\t\tvar ticks = me.ticks = generateTicks$1(generationOptions, me);\r\n\r\n\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t// range of the scale\r\n\t\tme.max = helpers$1.max(ticks);\r\n\t\tme.min = helpers$1.min(ticks);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\treverse = !reverse;\r\n\t\t\tme.start = me.max;\r\n\t\t\tme.end = me.min;\r\n\t\t} else {\r\n\t\t\tme.start = me.min;\r\n\t\t\tme.end = me.max;\r\n\t\t}\r\n\t\tif (reverse) {\r\n\t\t\tticks.reverse();\r\n\t\t}\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tthis.tickValues = this.ticks.slice();\r\n\r\n\t\tcore_scale.prototype.convertTicksToLabels.call(this);\r\n\t},\r\n\r\n\t// Get the correct tooltip label\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.tickValues;\r\n\t\tif (index < 0 || index > ticks.length - 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.getPixelForValue(ticks[index]);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the value of the first tick.\r\n\t * @param {number} value - The minimum not zero value.\r\n\t * @return {number} The first tick value.\r\n\t * @private\r\n\t */\r\n\t_getFirstTickValue: function(value) {\r\n\t\tvar exp = Math.floor(log10(value));\r\n\t\tvar significand = Math.floor(value / Math.pow(10, exp));\r\n\r\n\t\treturn significand * Math.pow(10, exp);\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar start = me.min;\r\n\t\tvar offset = 0;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (start === 0) {\r\n\t\t\tstart = me._getFirstTickValue(me.minNotZero);\r\n\t\t\toffset = valueOrDefault$b(me.options.ticks.fontSize, core_defaults.global.defaultFontSize) / me._length;\r\n\t\t}\r\n\r\n\t\tme._startValue = log10(start);\r\n\t\tme._valueOffset = offset;\r\n\t\tme._valueRange = (log10(me.max) - log10(start)) / (1 - offset);\r\n\t},\r\n\r\n\tgetPixelForValue: function(value) {\r\n\t\tvar me = this;\r\n\t\tvar decimal = 0;\r\n\r\n\t\tvalue = +me.getRightValue(value);\r\n\r\n\t\tif (value > me.min && value > 0) {\r\n\t\t\tdecimal = (log10(value) - me._startValue) / me._valueRange + me._valueOffset;\r\n\t\t}\r\n\t\treturn me.getPixelForDecimal(decimal);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar decimal = me.getDecimalForPixel(pixel);\r\n\t\treturn decimal === 0 && me.min === 0\r\n\t\t\t? 0\r\n\t\t\t: Math.pow(10, me._startValue + (decimal - me._valueOffset) * me._valueRange);\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$2 = defaultConfig$2;\nscale_logarithmic._defaults = _defaults$2;\n\nvar valueOrDefault$c = helpers$1.valueOrDefault;\r\nvar valueAtIndexOrDefault$1 = helpers$1.valueAtIndexOrDefault;\r\nvar resolve$4 = helpers$1.options.resolve;\r\n\r\nvar defaultConfig$3 = {\r\n\tdisplay: true,\r\n\r\n\t// Boolean - Whether to animate scaling the chart from the centre\r\n\tanimate: true,\r\n\tposition: 'chartArea',\r\n\r\n\tangleLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0,0,0,0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\tgridLines: {\r\n\t\tcircular: false\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\t// Boolean - Show a backdrop to the scale label\r\n\t\tshowLabelBackdrop: true,\r\n\r\n\t\t// String - The colour of the label backdrop\r\n\t\tbackdropColor: 'rgba(255,255,255,0.75)',\r\n\r\n\t\t// Number - The backdrop padding above & below the label in pixels\r\n\t\tbackdropPaddingY: 2,\r\n\r\n\t\t// Number - The backdrop padding to the side of the label in pixels\r\n\t\tbackdropPaddingX: 2,\r\n\r\n\t\tcallback: core_ticks.formatters.linear\r\n\t},\r\n\r\n\tpointLabels: {\r\n\t\t// Boolean - if true, show point labels\r\n\t\tdisplay: true,\r\n\r\n\t\t// Number - Point label font size in pixels\r\n\t\tfontSize: 10,\r\n\r\n\t\t// Function - Used to convert point labels\r\n\t\tcallback: function(label) {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nfunction getTickBackdropHeight(opts) {\r\n\tvar tickOpts = opts.ticks;\r\n\r\n\tif (tickOpts.display && opts.display) {\r\n\t\treturn valueOrDefault$c(tickOpts.fontSize, core_defaults.global.defaultFontSize) + tickOpts.backdropPaddingY * 2;\r\n\t}\r\n\treturn 0;\r\n}\r\n\r\nfunction measureLabelSize(ctx, lineHeight, label) {\r\n\tif (helpers$1.isArray(label)) {\r\n\t\treturn {\r\n\t\t\tw: helpers$1.longestText(ctx, ctx.font, label),\r\n\t\t\th: label.length * lineHeight\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tw: ctx.measureText(label).width,\r\n\t\th: lineHeight\r\n\t};\r\n}\r\n\r\nfunction determineLimits(angle, pos, size, min, max) {\r\n\tif (angle === min || angle === max) {\r\n\t\treturn {\r\n\t\t\tstart: pos - (size / 2),\r\n\t\t\tend: pos + (size / 2)\r\n\t\t};\r\n\t} else if (angle < min || angle > max) {\r\n\t\treturn {\r\n\t\t\tstart: pos - size,\r\n\t\t\tend: pos\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tstart: pos,\r\n\t\tend: pos + size\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper function to fit a radial linear scale with point labels\r\n */\r\nfunction fitWithPointLabels(scale) {\r\n\r\n\t// Right, this is really confusing and there is a lot of maths going on here\r\n\t// The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\r\n\t//\r\n\t// Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\r\n\t//\r\n\t// Solution:\r\n\t//\r\n\t// We assume the radius of the polygon is half the size of the canvas at first\r\n\t// at each index we check if the text overlaps.\r\n\t//\r\n\t// Where it does, we store that angle and that index.\r\n\t//\r\n\t// After finding the largest index and angle we calculate how much we need to remove\r\n\t// from the shape radius to move the point inwards by that x.\r\n\t//\r\n\t// We average the left and right distances to get the maximum shape radius that can fit in the box\r\n\t// along with labels.\r\n\t//\r\n\t// Once we have that, we can find the centre point for the chart, by taking the x text protrusion\r\n\t// on each side, removing that from the size, halving it and adding the left x protrusion width.\r\n\t//\r\n\t// This will mean we have a shape fitted to the canvas, as large as it can be with the labels\r\n\t// and position it in the most space efficient manner\r\n\t//\r\n\t// https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\r\n\r\n\tvar plFont = helpers$1.options._parseFont(scale.options.pointLabels);\r\n\r\n\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\r\n\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\r\n\tvar furthestLimits = {\r\n\t\tl: 0,\r\n\t\tr: scale.width,\r\n\t\tt: 0,\r\n\t\tb: scale.height - scale.paddingTop\r\n\t};\r\n\tvar furthestAngles = {};\r\n\tvar i, textSize, pointPosition;\r\n\r\n\tscale.ctx.font = plFont.string;\r\n\tscale._pointLabelSizes = [];\r\n\r\n\tvar valueCount = scale.chart.data.labels.length;\r\n\tfor (i = 0; i < valueCount; i++) {\r\n\t\tpointPosition = scale.getPointPosition(i, scale.drawingArea + 5);\r\n\t\ttextSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale.pointLabels[i]);\r\n\t\tscale._pointLabelSizes[i] = textSize;\r\n\r\n\t\t// Add quarter circle to make degree 0 mean top of circle\r\n\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\tvar angle = helpers$1.toDegrees(angleRadians) % 360;\r\n\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\r\n\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\r\n\r\n\t\tif (hLimits.start < furthestLimits.l) {\r\n\t\t\tfurthestLimits.l = hLimits.start;\r\n\t\t\tfurthestAngles.l = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (hLimits.end > furthestLimits.r) {\r\n\t\t\tfurthestLimits.r = hLimits.end;\r\n\t\t\tfurthestAngles.r = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (vLimits.start < furthestLimits.t) {\r\n\t\t\tfurthestLimits.t = vLimits.start;\r\n\t\t\tfurthestAngles.t = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (vLimits.end > furthestLimits.b) {\r\n\t\t\tfurthestLimits.b = vLimits.end;\r\n\t\t\tfurthestAngles.b = angleRadians;\r\n\t\t}\r\n\t}\r\n\r\n\tscale.setReductions(scale.drawingArea, furthestLimits, furthestAngles);\r\n}\r\n\r\nfunction getTextAlignForAngle(angle) {\r\n\tif (angle === 0 || angle === 180) {\r\n\t\treturn 'center';\r\n\t} else if (angle < 180) {\r\n\t\treturn 'left';\r\n\t}\r\n\r\n\treturn 'right';\r\n}\r\n\r\nfunction fillText(ctx, text, position, lineHeight) {\r\n\tvar y = position.y + lineHeight / 2;\r\n\tvar i, ilen;\r\n\r\n\tif (helpers$1.isArray(text)) {\r\n\t\tfor (i = 0, ilen = text.length; i < ilen; ++i) {\r\n\t\t\tctx.fillText(text[i], position.x, y);\r\n\t\t\ty += lineHeight;\r\n\t\t}\r\n\t} else {\r\n\t\tctx.fillText(text, position.x, y);\r\n\t}\r\n}\r\n\r\nfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\r\n\tif (angle === 90 || angle === 270) {\r\n\t\tposition.y -= (textSize.h / 2);\r\n\t} else if (angle > 270 || angle < 90) {\r\n\t\tposition.y -= textSize.h;\r\n\t}\r\n}\r\n\r\nfunction drawPointLabels(scale) {\r\n\tvar ctx = scale.ctx;\r\n\tvar opts = scale.options;\r\n\tvar pointLabelOpts = opts.pointLabels;\r\n\tvar tickBackdropHeight = getTickBackdropHeight(opts);\r\n\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\r\n\tvar plFont = helpers$1.options._parseFont(pointLabelOpts);\r\n\r\n\tctx.save();\r\n\r\n\tctx.font = plFont.string;\r\n\tctx.textBaseline = 'middle';\r\n\r\n\tfor (var i = scale.chart.data.labels.length - 1; i >= 0; i--) {\r\n\t\t// Extra pixels out for some label spacing\r\n\t\tvar extra = (i === 0 ? tickBackdropHeight / 2 : 0);\r\n\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5);\r\n\r\n\t\t// Keep this in loop since we may support array properties here\r\n\t\tvar pointLabelFontColor = valueAtIndexOrDefault$1(pointLabelOpts.fontColor, i, core_defaults.global.defaultFontColor);\r\n\t\tctx.fillStyle = pointLabelFontColor;\r\n\r\n\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\tvar angle = helpers$1.toDegrees(angleRadians);\r\n\t\tctx.textAlign = getTextAlignForAngle(angle);\r\n\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\r\n\t\tfillText(ctx, scale.pointLabels[i], pointLabelPosition, plFont.lineHeight);\r\n\t}\r\n\tctx.restore();\r\n}\r\n\r\nfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\r\n\tvar ctx = scale.ctx;\r\n\tvar circular = gridLineOpts.circular;\r\n\tvar valueCount = scale.chart.data.labels.length;\r\n\tvar lineColor = valueAtIndexOrDefault$1(gridLineOpts.color, index - 1);\r\n\tvar lineWidth = valueAtIndexOrDefault$1(gridLineOpts.lineWidth, index - 1);\r\n\tvar pointPosition;\r\n\r\n\tif ((!circular && !valueCount) || !lineColor || !lineWidth) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tctx.save();\r\n\tctx.strokeStyle = lineColor;\r\n\tctx.lineWidth = lineWidth;\r\n\tif (ctx.setLineDash) {\r\n\t\tctx.setLineDash(gridLineOpts.borderDash || []);\r\n\t\tctx.lineDashOffset = gridLineOpts.borderDashOffset || 0.0;\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tif (circular) {\r\n\t\t// Draw circular arcs between the points\r\n\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\r\n\t} else {\r\n\t\t// Draw straight lines connecting each index\r\n\t\tpointPosition = scale.getPointPosition(0, radius);\r\n\t\tctx.moveTo(pointPosition.x, pointPosition.y);\r\n\r\n\t\tfor (var i = 1; i < valueCount; i++) {\r\n\t\t\tpointPosition = scale.getPointPosition(i, radius);\r\n\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\r\n\t\t}\r\n\t}\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n\tctx.restore();\r\n}\r\n\r\nfunction numberOrZero(param) {\r\n\treturn helpers$1.isNumber(param) ? param : 0;\r\n}\r\n\r\nvar scale_radialLinear = scale_linearbase.extend({\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tme.width = me.maxWidth;\r\n\t\tme.height = me.maxHeight;\r\n\t\tme.paddingTop = getTickBackdropHeight(me.options) / 2;\r\n\t\tme.xCenter = Math.floor(me.width / 2);\r\n\t\tme.yCenter = Math.floor((me.height - me.paddingTop) / 2);\r\n\t\tme.drawingArea = Math.min(me.height - me.paddingTop, me.width) / 2;\r\n\t},\r\n\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar min = Number.POSITIVE_INFINITY;\r\n\t\tvar max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\thelpers$1.each(chart.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\r\n\t\t\t\thelpers$1.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmin = Math.min(value, min);\r\n\t\t\t\t\tmax = Math.max(value, max);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\r\n\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\tme.handleTickRangeOptions();\r\n\t},\r\n\r\n\t// Returns the maximum number of ticks based on the scale dimension\r\n\t_computeTickLimit: function() {\r\n\t\treturn Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tscale_linearbase.prototype.convertTicksToLabels.call(me);\r\n\r\n\t\t// Point labels\r\n\t\tme.pointLabels = me.chart.data.labels.map(function() {\r\n\t\t\tvar label = helpers$1.callback(me.options.pointLabels.callback, arguments, me);\r\n\t\t\treturn label || label === 0 ? label : '';\r\n\t\t});\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\r\n\t\tif (opts.display && opts.pointLabels.display) {\r\n\t\t\tfitWithPointLabels(me);\r\n\t\t} else {\r\n\t\t\tme.setCenterPoint(0, 0, 0, 0);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Set radius reductions and determine new radius and center point\r\n\t * @private\r\n\t */\r\n\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\r\n\t\tvar me = this;\r\n\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\r\n\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\r\n\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\r\n\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);\r\n\r\n\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\r\n\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\r\n\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\r\n\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\r\n\r\n\t\tme.drawingArea = Math.min(\r\n\t\t\tMath.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\r\n\t\t\tMath.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\r\n\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\r\n\t},\r\n\r\n\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\r\n\t\tvar me = this;\r\n\t\tvar maxRight = me.width - rightMovement - me.drawingArea;\r\n\t\tvar maxLeft = leftMovement + me.drawingArea;\r\n\t\tvar maxTop = topMovement + me.drawingArea;\r\n\t\tvar maxBottom = (me.height - me.paddingTop) - bottomMovement - me.drawingArea;\r\n\r\n\t\tme.xCenter = Math.floor(((maxLeft + maxRight) / 2) + me.left);\r\n\t\tme.yCenter = Math.floor(((maxTop + maxBottom) / 2) + me.top + me.paddingTop);\r\n\t},\r\n\r\n\tgetIndexAngle: function(index) {\r\n\t\tvar chart = this.chart;\r\n\t\tvar angleMultiplier = 360 / chart.data.labels.length;\r\n\t\tvar options = chart.options || {};\r\n\t\tvar startAngle = options.startAngle || 0;\r\n\r\n\t\t// Start from the top instead of right, so remove a quarter of the circle\r\n\t\tvar angle = (index * angleMultiplier + startAngle) % 360;\r\n\r\n\t\treturn (angle < 0 ? angle + 360 : angle) * Math.PI * 2 / 360;\r\n\t},\r\n\r\n\tgetDistanceFromCenterForValue: function(value) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (helpers$1.isNullOrUndef(value)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\r\n\t\t// Take into account half font size + the yPadding of the top value\r\n\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\r\n\t\tif (me.options.ticks.reverse) {\r\n\t\t\treturn (me.max - value) * scalingFactor;\r\n\t\t}\r\n\t\treturn (value - me.min) * scalingFactor;\r\n\t},\r\n\r\n\tgetPointPosition: function(index, distanceFromCenter) {\r\n\t\tvar me = this;\r\n\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\r\n\t\treturn {\r\n\t\t\tx: Math.cos(thisAngle) * distanceFromCenter + me.xCenter,\r\n\t\t\ty: Math.sin(thisAngle) * distanceFromCenter + me.yCenter\r\n\t\t};\r\n\t},\r\n\r\n\tgetPointPositionForValue: function(index, value) {\r\n\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\r\n\t},\r\n\r\n\tgetBasePosition: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\r\n\t\treturn me.getPointPositionForValue(index || 0,\r\n\t\t\tme.beginAtZero ? 0 :\r\n\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t0);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawGrid: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\t\tvar gridLineOpts = opts.gridLines;\r\n\t\tvar angleLineOpts = opts.angleLines;\r\n\t\tvar lineWidth = valueOrDefault$c(angleLineOpts.lineWidth, gridLineOpts.lineWidth);\r\n\t\tvar lineColor = valueOrDefault$c(angleLineOpts.color, gridLineOpts.color);\r\n\t\tvar i, offset, position;\r\n\r\n\t\tif (opts.pointLabels.display) {\r\n\t\t\tdrawPointLabels(me);\r\n\t\t}\r\n\r\n\t\tif (gridLineOpts.display) {\r\n\t\t\thelpers$1.each(me.ticks, function(label, index) {\r\n\t\t\t\tif (index !== 0) {\r\n\t\t\t\t\toffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, offset, index);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (angleLineOpts.display && lineWidth && lineColor) {\r\n\t\t\tctx.save();\r\n\t\t\tctx.lineWidth = lineWidth;\r\n\t\t\tctx.strokeStyle = lineColor;\r\n\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\tctx.setLineDash(resolve$4([angleLineOpts.borderDash, gridLineOpts.borderDash, []]));\r\n\t\t\t\tctx.lineDashOffset = resolve$4([angleLineOpts.borderDashOffset, gridLineOpts.borderDashOffset, 0.0]);\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = me.chart.data.labels.length - 1; i >= 0; i--) {\r\n\t\t\t\toffset = me.getDistanceFromCenterForValue(opts.ticks.reverse ? me.min : me.max);\r\n\t\t\t\tposition = me.getPointPosition(i, offset);\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.moveTo(me.xCenter, me.yCenter);\r\n\t\t\t\tctx.lineTo(position.x, position.y);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\tif (!tickOpts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar startAngle = me.getIndexAngle(0);\r\n\t\tvar tickFont = helpers$1.options._parseFont(tickOpts);\r\n\t\tvar tickFontColor = valueOrDefault$c(tickOpts.fontColor, core_defaults.global.defaultFontColor);\r\n\t\tvar offset, width;\r\n\r\n\t\tctx.save();\r\n\t\tctx.font = tickFont.string;\r\n\t\tctx.translate(me.xCenter, me.yCenter);\r\n\t\tctx.rotate(startAngle);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\r\n\t\thelpers$1.each(me.ticks, function(label, index) {\r\n\t\t\tif (index === 0 && !tickOpts.reverse) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\toffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\r\n\t\t\tif (tickOpts.showLabelBackdrop) {\r\n\t\t\t\twidth = ctx.measureText(label).width;\r\n\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\r\n\r\n\t\t\t\tctx.fillRect(\r\n\t\t\t\t\t-width / 2 - tickOpts.backdropPaddingX,\r\n\t\t\t\t\t-offset - tickFont.size / 2 - tickOpts.backdropPaddingY,\r\n\t\t\t\t\twidth + tickOpts.backdropPaddingX * 2,\r\n\t\t\t\t\ttickFont.size + tickOpts.backdropPaddingY * 2\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tctx.fillStyle = tickFontColor;\r\n\t\t\tctx.fillText(label, 0, -offset);\r\n\t\t});\r\n\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawTitle: helpers$1.noop\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$3 = defaultConfig$3;\nscale_radialLinear._defaults = _defaults$3;\n\nvar deprecated$1 = helpers$1._deprecated;\r\nvar resolve$5 = helpers$1.options.resolve;\r\nvar valueOrDefault$d = helpers$1.valueOrDefault;\r\n\r\n// Integer constants are from the ES6 spec.\r\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\r\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\n\r\nvar INTERVALS = {\r\n\tmillisecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1,\r\n\t\tsteps: 1000\r\n\t},\r\n\tsecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1000,\r\n\t\tsteps: 60\r\n\t},\r\n\tminute: {\r\n\t\tcommon: true,\r\n\t\tsize: 60000,\r\n\t\tsteps: 60\r\n\t},\r\n\thour: {\r\n\t\tcommon: true,\r\n\t\tsize: 3600000,\r\n\t\tsteps: 24\r\n\t},\r\n\tday: {\r\n\t\tcommon: true,\r\n\t\tsize: 86400000,\r\n\t\tsteps: 30\r\n\t},\r\n\tweek: {\r\n\t\tcommon: false,\r\n\t\tsize: 604800000,\r\n\t\tsteps: 4\r\n\t},\r\n\tmonth: {\r\n\t\tcommon: true,\r\n\t\tsize: 2.628e9,\r\n\t\tsteps: 12\r\n\t},\r\n\tquarter: {\r\n\t\tcommon: false,\r\n\t\tsize: 7.884e9,\r\n\t\tsteps: 4\r\n\t},\r\n\tyear: {\r\n\t\tcommon: true,\r\n\t\tsize: 3.154e10\r\n\t}\r\n};\r\n\r\nvar UNITS = Object.keys(INTERVALS);\r\n\r\nfunction sorter(a, b) {\r\n\treturn a - b;\r\n}\r\n\r\nfunction arrayUnique(items) {\r\n\tvar hash = {};\r\n\tvar out = [];\r\n\tvar i, ilen, item;\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\titem = items[i];\r\n\t\tif (!hash[item]) {\r\n\t\t\thash[item] = true;\r\n\t\t\tout.push(item);\r\n\t\t}\r\n\t}\r\n\r\n\treturn out;\r\n}\r\n\r\nfunction getMin(options) {\r\n\treturn helpers$1.valueOrDefault(options.time.min, options.ticks.min);\r\n}\r\n\r\nfunction getMax(options) {\r\n\treturn helpers$1.valueOrDefault(options.time.max, options.ticks.max);\r\n}\r\n\r\n/**\r\n * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\r\n * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\r\n * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\r\n * extremity (left + width or top + height). Note that it would be more optimized to directly\r\n * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\r\n * to create the lookup table. The table ALWAYS contains at least two items: min and max.\r\n *\r\n * @param {number[]} timestamps - timestamps sorted from lowest to highest.\r\n * @param {string} distribution - If 'linear', timestamps will be spread linearly along the min\r\n * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.\r\n * If 'series', timestamps will be positioned at the same distance from each other. In this\r\n * case, only timestamps that break the time linearity are registered, meaning that in the\r\n * best case, all timestamps are linear, the table contains only min and max.\r\n */\r\nfunction buildLookupTable(timestamps, min, max, distribution) {\r\n\tif (distribution === 'linear' || !timestamps.length) {\r\n\t\treturn [\r\n\t\t\t{time: min, pos: 0},\r\n\t\t\t{time: max, pos: 1}\r\n\t\t];\r\n\t}\r\n\r\n\tvar table = [];\r\n\tvar items = [min];\r\n\tvar i, ilen, prev, curr, next;\r\n\r\n\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\tcurr = timestamps[i];\r\n\t\tif (curr > min && curr < max) {\r\n\t\t\titems.push(curr);\r\n\t\t}\r\n\t}\r\n\r\n\titems.push(max);\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\tnext = items[i + 1];\r\n\t\tprev = items[i - 1];\r\n\t\tcurr = items[i];\r\n\r\n\t\t// only add points that breaks the scale linearity\r\n\t\tif (prev === undefined || next === undefined || Math.round((next + prev) / 2) !== curr) {\r\n\t\t\ttable.push({time: curr, pos: i / (ilen - 1)});\r\n\t\t}\r\n\t}\r\n\r\n\treturn table;\r\n}\r\n\r\n// @see adapted from https://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/\r\nfunction lookup(table, key, value) {\r\n\tvar lo = 0;\r\n\tvar hi = table.length - 1;\r\n\tvar mid, i0, i1;\r\n\r\n\twhile (lo >= 0 && lo <= hi) {\r\n\t\tmid = (lo + hi) >> 1;\r\n\t\ti0 = table[mid - 1] || null;\r\n\t\ti1 = table[mid];\r\n\r\n\t\tif (!i0) {\r\n\t\t\t// given value is outside table (before first item)\r\n\t\t\treturn {lo: null, hi: i1};\r\n\t\t} else if (i1[key] < value) {\r\n\t\t\tlo = mid + 1;\r\n\t\t} else if (i0[key] > value) {\r\n\t\t\thi = mid - 1;\r\n\t\t} else {\r\n\t\t\treturn {lo: i0, hi: i1};\r\n\t\t}\r\n\t}\r\n\r\n\t// given value is outside table (after last item)\r\n\treturn {lo: i1, hi: null};\r\n}\r\n\r\n/**\r\n * Linearly interpolates the given source `value` using the table items `skey` values and\r\n * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')\r\n * returns the position for a timestamp equal to 42. If value is out of bounds, values at\r\n * index [0, 1] or [n - 1, n] are used for the interpolation.\r\n */\r\nfunction interpolate$1(table, skey, sval, tkey) {\r\n\tvar range = lookup(table, skey, sval);\r\n\r\n\t// Note: the lookup table ALWAYS contains at least 2 items (min and max)\r\n\tvar prev = !range.lo ? table[0] : !range.hi ? table[table.length - 2] : range.lo;\r\n\tvar next = !range.lo ? table[1] : !range.hi ? table[table.length - 1] : range.hi;\r\n\r\n\tvar span = next[skey] - prev[skey];\r\n\tvar ratio = span ? (sval - prev[skey]) / span : 0;\r\n\tvar offset = (next[tkey] - prev[tkey]) * ratio;\r\n\r\n\treturn prev[tkey] + offset;\r\n}\r\n\r\nfunction toTimestamp(scale, input) {\r\n\tvar adapter = scale._adapter;\r\n\tvar options = scale.options.time;\r\n\tvar parser = options.parser;\r\n\tvar format = parser || options.format;\r\n\tvar value = input;\r\n\r\n\tif (typeof parser === 'function') {\r\n\t\tvalue = parser(value);\r\n\t}\r\n\r\n\t// Only parse if its not a timestamp already\r\n\tif (!helpers$1.isFinite(value)) {\r\n\t\tvalue = typeof format === 'string'\r\n\t\t\t? adapter.parse(value, format)\r\n\t\t\t: adapter.parse(value);\r\n\t}\r\n\r\n\tif (value !== null) {\r\n\t\treturn +value;\r\n\t}\r\n\r\n\t// Labels are in an incompatible format and no `parser` has been provided.\r\n\t// The user might still use the deprecated `format` option for parsing.\r\n\tif (!parser && typeof format === 'function') {\r\n\t\tvalue = format(input);\r\n\r\n\t\t// `format` could return something else than a timestamp, if so, parse it\r\n\t\tif (!helpers$1.isFinite(value)) {\r\n\t\t\tvalue = adapter.parse(value);\r\n\t\t}\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\nfunction parse(scale, input) {\r\n\tif (helpers$1.isNullOrUndef(input)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar options = scale.options.time;\r\n\tvar value = toTimestamp(scale, scale.getRightValue(input));\r\n\tif (value === null) {\r\n\t\treturn value;\r\n\t}\r\n\r\n\tif (options.round) {\r\n\t\tvalue = +scale._adapter.startOf(value, options.round);\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\n/**\r\n * Figures out what unit results in an appropriate number of auto-generated ticks\r\n */\r\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\r\n\tvar ilen = UNITS.length;\r\n\tvar i, interval, factor;\r\n\r\n\tfor (i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\r\n\t\tinterval = INTERVALS[UNITS[i]];\r\n\t\tfactor = interval.steps ? interval.steps : MAX_INTEGER;\r\n\r\n\t\tif (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[ilen - 1];\r\n}\r\n\r\n/**\r\n * Figures out what unit to format a set of ticks with\r\n */\r\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\r\n\tvar i, unit;\r\n\r\n\tfor (i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\r\n\t\tunit = UNITS[i];\r\n\t\tif (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\r\n\t\t\treturn unit;\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\r\n}\r\n\r\nfunction determineMajorUnit(unit) {\r\n\tfor (var i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\r\n\t\tif (INTERVALS[UNITS[i]].common) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Generates a maximum of `capacity` timestamps between min and max, rounded to the\r\n * `minor` unit using the given scale time `options`.\r\n * Important: this method can return ticks outside the min and max range, it's the\r\n * responsibility of the calling code to clamp values if needed.\r\n */\r\nfunction generate(scale, min, max, capacity) {\r\n\tvar adapter = scale._adapter;\r\n\tvar options = scale.options;\r\n\tvar timeOpts = options.time;\r\n\tvar minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);\r\n\tvar stepSize = resolve$5([timeOpts.stepSize, timeOpts.unitStepSize, 1]);\r\n\tvar weekday = minor === 'week' ? timeOpts.isoWeekday : false;\r\n\tvar first = min;\r\n\tvar ticks = [];\r\n\tvar time;\r\n\r\n\t// For 'week' unit, handle the first day of week option\r\n\tif (weekday) {\r\n\t\tfirst = +adapter.startOf(first, 'isoWeek', weekday);\r\n\t}\r\n\r\n\t// Align first ticks on unit\r\n\tfirst = +adapter.startOf(first, weekday ? 'day' : minor);\r\n\r\n\t// Prevent browser from freezing in case user options request millions of milliseconds\r\n\tif (adapter.diff(max, min, minor) > 100000 * stepSize) {\r\n\t\tthrow min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor;\r\n\t}\r\n\r\n\tfor (time = first; time < max; time = +adapter.add(time, stepSize, minor)) {\r\n\t\tticks.push(time);\r\n\t}\r\n\r\n\tif (time === max || options.bounds === 'ticks') {\r\n\t\tticks.push(time);\r\n\t}\r\n\r\n\treturn ticks;\r\n}\r\n\r\n/**\r\n * Returns the start and end offsets from edges in the form of {start, end}\r\n * where each value is a relative width to the scale and ranges between 0 and 1.\r\n * They add extra margins on the both sides by scaling down the original scale.\r\n * Offsets are added when the `offset` option is true.\r\n */\r\nfunction computeOffsets(table, ticks, min, max, options) {\r\n\tvar start = 0;\r\n\tvar end = 0;\r\n\tvar first, last;\r\n\r\n\tif (options.offset && ticks.length) {\r\n\t\tfirst = interpolate$1(table, 'time', ticks[0], 'pos');\r\n\t\tif (ticks.length === 1) {\r\n\t\t\tstart = 1 - first;\r\n\t\t} else {\r\n\t\t\tstart = (interpolate$1(table, 'time', ticks[1], 'pos') - first) / 2;\r\n\t\t}\r\n\t\tlast = interpolate$1(table, 'time', ticks[ticks.length - 1], 'pos');\r\n\t\tif (ticks.length === 1) {\r\n\t\t\tend = last;\r\n\t\t} else {\r\n\t\t\tend = (last - interpolate$1(table, 'time', ticks[ticks.length - 2], 'pos')) / 2;\r\n\t\t}\r\n\t}\r\n\r\n\treturn {start: start, end: end, factor: 1 / (start + 1 + end)};\r\n}\r\n\r\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\r\n\tvar adapter = scale._adapter;\r\n\tvar first = +adapter.startOf(ticks[0].value, majorUnit);\r\n\tvar last = ticks[ticks.length - 1].value;\r\n\tvar major, index;\r\n\r\n\tfor (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\r\n\t\tindex = map[major];\r\n\t\tif (index >= 0) {\r\n\t\t\tticks[index].major = true;\r\n\t\t}\r\n\t}\r\n\treturn ticks;\r\n}\r\n\r\nfunction ticksFromTimestamps(scale, values, majorUnit) {\r\n\tvar ticks = [];\r\n\tvar map = {};\r\n\tvar ilen = values.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = values[i];\r\n\t\tmap[value] = i;\r\n\r\n\t\tticks.push({\r\n\t\t\tvalue: value,\r\n\t\t\tmajor: false\r\n\t\t});\r\n\t}\r\n\r\n\t// We set the major ticks separately from the above loop because calling startOf for every tick\r\n\t// is expensive when there is a large number of ticks\r\n\treturn (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\r\n}\r\n\r\nvar defaultConfig$4 = {\r\n\tposition: 'bottom',\r\n\r\n\t/**\r\n\t * Data distribution along the scale:\r\n\t * - 'linear': data are spread according to their time (distances can vary),\r\n\t * - 'series': data are spread at the same distance from each other.\r\n\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t * @since 2.7.0\r\n\t */\r\n\tdistribution: 'linear',\r\n\r\n\t/**\r\n\t * Scale boundary strategy (bypassed by min/max time options)\r\n\t * - `data`: make sure data are fully visible, ticks outside are removed\r\n\t * - `ticks`: make sure ticks are fully visible, data outside are truncated\r\n\t * @see https://github.com/chartjs/Chart.js/pull/4556\r\n\t * @since 2.7.0\r\n\t */\r\n\tbounds: 'data',\r\n\r\n\tadapters: {},\r\n\ttime: {\r\n\t\tparser: false, // false == a pattern string from https://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\r\n\t\tunit: false, // false == automatic or override with week, month, year, etc.\r\n\t\tround: false, // none, or override with week, month, year, etc.\r\n\t\tdisplayFormat: false, // DEPRECATED\r\n\t\tisoWeekday: false, // override week start day - see https://momentjs.com/docs/#/get-set/iso-weekday/\r\n\t\tminUnit: 'millisecond',\r\n\t\tdisplayFormats: {}\r\n\t},\r\n\tticks: {\r\n\t\tautoSkip: false,\r\n\r\n\t\t/**\r\n\t\t * Ticks generation input values:\r\n\t\t * - 'auto': generates \"optimal\" ticks based on scale size and time options.\r\n\t\t * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\r\n\t\t * - 'labels': generates ticks from user given `data.labels` values ONLY.\r\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t\t * @since 2.7.0\r\n\t\t */\r\n\t\tsource: 'auto',\r\n\r\n\t\tmajor: {\r\n\t\t\tenabled: false\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar scale_time = core_scale.extend({\r\n\tinitialize: function() {\r\n\t\tthis.mergeTicksOptions();\r\n\t\tcore_scale.prototype.initialize.call(this);\r\n\t},\r\n\r\n\tupdate: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar time = options.time || (options.time = {});\r\n\t\tvar adapter = me._adapter = new core_adapters._date(options.adapters.date);\r\n\r\n\t\t// DEPRECATIONS: output a message only one time per update\r\n\t\tdeprecated$1('time scale', time.format, 'time.format', 'time.parser');\r\n\t\tdeprecated$1('time scale', time.min, 'time.min', 'ticks.min');\r\n\t\tdeprecated$1('time scale', time.max, 'time.max', 'ticks.max');\r\n\r\n\t\t// Backward compatibility: before introducing adapter, `displayFormats` was\r\n\t\t// supposed to contain *all* unit/string pairs but this can't be resolved\r\n\t\t// when loading the scale (adapters are loaded afterward), so let's populate\r\n\t\t// missing formats on update\r\n\t\thelpers$1.mergeIf(time.displayFormats, adapter.formats());\r\n\r\n\t\treturn core_scale.prototype.update.apply(me, arguments);\r\n\t},\r\n\r\n\t/**\r\n\t * Allows data to be referenced via 't' attribute\r\n\t */\r\n\tgetRightValue: function(rawValue) {\r\n\t\tif (rawValue && rawValue.t !== undefined) {\r\n\t\t\trawValue = rawValue.t;\r\n\t\t}\r\n\t\treturn core_scale.prototype.getRightValue.call(this, rawValue);\r\n\t},\r\n\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar options = me.options;\r\n\t\tvar unit = options.time.unit || 'day';\r\n\t\tvar min = MAX_INTEGER;\r\n\t\tvar max = MIN_INTEGER;\r\n\t\tvar timestamps = [];\r\n\t\tvar datasets = [];\r\n\t\tvar labels = [];\r\n\t\tvar i, j, ilen, jlen, data, timestamp, labelsAdded;\r\n\t\tvar dataLabels = me._getLabels();\r\n\r\n\t\tfor (i = 0, ilen = dataLabels.length; i < ilen; ++i) {\r\n\t\t\tlabels.push(parse(me, dataLabels[i]));\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\tdata = chart.data.datasets[i].data;\r\n\r\n\t\t\t\t// Let's consider that all data have the same format.\r\n\t\t\t\tif (helpers$1.isObject(data[0])) {\r\n\t\t\t\t\tdatasets[i] = [];\r\n\r\n\t\t\t\t\tfor (j = 0, jlen = data.length; j < jlen; ++j) {\r\n\t\t\t\t\t\ttimestamp = parse(me, data[j]);\r\n\t\t\t\t\t\ttimestamps.push(timestamp);\r\n\t\t\t\t\t\tdatasets[i][j] = timestamp;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdatasets[i] = labels.slice(0);\r\n\t\t\t\t\tif (!labelsAdded) {\r\n\t\t\t\t\t\ttimestamps = timestamps.concat(labels);\r\n\t\t\t\t\t\tlabelsAdded = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tdatasets[i] = [];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (labels.length) {\r\n\t\t\tmin = Math.min(min, labels[0]);\r\n\t\t\tmax = Math.max(max, labels[labels.length - 1]);\r\n\t\t}\r\n\r\n\t\tif (timestamps.length) {\r\n\t\t\ttimestamps = ilen > 1 ? arrayUnique(timestamps).sort(sorter) : timestamps.sort(sorter);\r\n\t\t\tmin = Math.min(min, timestamps[0]);\r\n\t\t\tmax = Math.max(max, timestamps[timestamps.length - 1]);\r\n\t\t}\r\n\r\n\t\tmin = parse(me, getMin(options)) || min;\r\n\t\tmax = parse(me, getMax(options)) || max;\r\n\r\n\t\t// In case there is no valid min/max, set limits based on unit time option\r\n\t\tmin = min === MAX_INTEGER ? +adapter.startOf(Date.now(), unit) : min;\r\n\t\tmax = max === MIN_INTEGER ? +adapter.endOf(Date.now(), unit) + 1 : max;\r\n\r\n\t\t// Make sure that max is strictly higher than min (required by the lookup table)\r\n\t\tme.min = Math.min(min, max);\r\n\t\tme.max = Math.max(min + 1, max);\r\n\r\n\t\t// PRIVATE\r\n\t\tme._table = [];\r\n\t\tme._timestamps = {\r\n\t\t\tdata: timestamps,\r\n\t\t\tdatasets: datasets,\r\n\t\t\tlabels: labels\r\n\t\t};\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\t\tvar options = me.options;\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar timeOpts = options.time;\r\n\t\tvar timestamps = me._timestamps;\r\n\t\tvar ticks = [];\r\n\t\tvar capacity = me.getLabelCapacity(min);\r\n\t\tvar source = tickOpts.source;\r\n\t\tvar distribution = options.distribution;\r\n\t\tvar i, ilen, timestamp;\r\n\r\n\t\tif (source === 'data' || (source === 'auto' && distribution === 'series')) {\r\n\t\t\ttimestamps = timestamps.data;\r\n\t\t} else if (source === 'labels') {\r\n\t\t\ttimestamps = timestamps.labels;\r\n\t\t} else {\r\n\t\t\ttimestamps = generate(me, min, max, capacity);\r\n\t\t}\r\n\r\n\t\tif (options.bounds === 'ticks' && timestamps.length) {\r\n\t\t\tmin = timestamps[0];\r\n\t\t\tmax = timestamps[timestamps.length - 1];\r\n\t\t}\r\n\r\n\t\t// Enforce limits with user min/max options\r\n\t\tmin = parse(me, getMin(options)) || min;\r\n\t\tmax = parse(me, getMax(options)) || max;\r\n\r\n\t\t// Remove ticks outside the min/max range\r\n\t\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\t\ttimestamp = timestamps[i];\r\n\t\t\tif (timestamp >= min && timestamp <= max) {\r\n\t\t\t\tticks.push(timestamp);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.min = min;\r\n\t\tme.max = max;\r\n\r\n\t\t// PRIVATE\r\n\t\t// determineUnitForFormatting relies on the number of ticks so we don't use it when\r\n\t\t// autoSkip is enabled because we don't yet know what the final number of ticks will be\r\n\t\tme._unit = timeOpts.unit || (tickOpts.autoSkip\r\n\t\t\t? determineUnitForAutoTicks(timeOpts.minUnit, me.min, me.max, capacity)\r\n\t\t\t: determineUnitForFormatting(me, ticks.length, timeOpts.minUnit, me.min, me.max));\r\n\t\tme._majorUnit = !tickOpts.major.enabled || me._unit === 'year' ? undefined\r\n\t\t\t: determineMajorUnit(me._unit);\r\n\t\tme._table = buildLookupTable(me._timestamps.data, min, max, distribution);\r\n\t\tme._offsets = computeOffsets(me._table, ticks, min, max, options);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\tticks.reverse();\r\n\t\t}\r\n\r\n\t\treturn ticksFromTimestamps(me, ticks, me._majorUnit);\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar data = me.chart.data;\r\n\t\tvar timeOpts = me.options.time;\r\n\t\tvar label = data.labels && index < data.labels.length ? data.labels[index] : '';\r\n\t\tvar value = data.datasets[datasetIndex].data[index];\r\n\r\n\t\tif (helpers$1.isObject(value)) {\r\n\t\t\tlabel = me.getRightValue(value);\r\n\t\t}\r\n\t\tif (timeOpts.tooltipFormat) {\r\n\t\t\treturn adapter.format(toTimestamp(me, label), timeOpts.tooltipFormat);\r\n\t\t}\r\n\t\tif (typeof label === 'string') {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t\treturn adapter.format(toTimestamp(me, label), timeOpts.displayFormats.datetime);\r\n\t},\r\n\r\n\t/**\r\n\t * Function to format an individual tick mark\r\n\t * @private\r\n\t */\r\n\ttickFormatFunction: function(time, index, ticks, format) {\r\n\t\tvar me = this;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar options = me.options;\r\n\t\tvar formats = options.time.displayFormats;\r\n\t\tvar minorFormat = formats[me._unit];\r\n\t\tvar majorUnit = me._majorUnit;\r\n\t\tvar majorFormat = formats[majorUnit];\r\n\t\tvar tick = ticks[index];\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar major = majorUnit && majorFormat && tick && tick.major;\r\n\t\tvar label = adapter.format(time, format ? format : major ? majorFormat : minorFormat);\r\n\t\tvar nestedTickOpts = major ? tickOpts.major : tickOpts.minor;\r\n\t\tvar formatter = resolve$5([\r\n\t\t\tnestedTickOpts.callback,\r\n\t\t\tnestedTickOpts.userCallback,\r\n\t\t\ttickOpts.callback,\r\n\t\t\ttickOpts.userCallback\r\n\t\t]);\r\n\r\n\t\treturn formatter ? formatter(label, index, ticks) : label;\r\n\t},\r\n\r\n\tconvertTicksToLabels: function(ticks) {\r\n\t\tvar labels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\tlabels.push(this.tickFormatFunction(ticks[i].value, i, ticks));\r\n\t\t}\r\n\r\n\t\treturn labels;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetPixelForOffset: function(time) {\r\n\t\tvar me = this;\r\n\t\tvar offsets = me._offsets;\r\n\t\tvar pos = interpolate$1(me._table, 'time', time, 'pos');\r\n\t\treturn me.getPixelForDecimal((offsets.start + pos) * offsets.factor);\r\n\t},\r\n\r\n\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar time = null;\r\n\r\n\t\tif (index !== undefined && datasetIndex !== undefined) {\r\n\t\t\ttime = me._timestamps.datasets[datasetIndex][index];\r\n\t\t}\r\n\r\n\t\tif (time === null) {\r\n\t\t\ttime = parse(me, value);\r\n\t\t}\r\n\r\n\t\tif (time !== null) {\r\n\t\t\treturn me.getPixelForOffset(time);\r\n\t\t}\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.getTicks();\r\n\t\treturn index >= 0 && index < ticks.length ?\r\n\t\t\tthis.getPixelForOffset(ticks[index].value) :\r\n\t\t\tnull;\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar offsets = me._offsets;\r\n\t\tvar pos = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\r\n\t\tvar time = interpolate$1(me._table, 'pos', pos, 'time');\r\n\r\n\t\t// DEPRECATION, we should return time directly\r\n\t\treturn me._adapter._create(time);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLabelSize: function(label) {\r\n\t\tvar me = this;\r\n\t\tvar ticksOpts = me.options.ticks;\r\n\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\r\n\t\tvar angle = helpers$1.toRadians(me.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\r\n\t\tvar cosRotation = Math.cos(angle);\r\n\t\tvar sinRotation = Math.sin(angle);\r\n\t\tvar tickFontSize = valueOrDefault$d(ticksOpts.fontSize, core_defaults.global.defaultFontSize);\r\n\r\n\t\treturn {\r\n\t\t\tw: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\r\n\t\t\th: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Crude approximation of what the label width might be\r\n\t * @private\r\n\t */\r\n\tgetLabelWidth: function(label) {\r\n\t\treturn this._getLabelSize(label).w;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetLabelCapacity: function(exampleTime) {\r\n\t\tvar me = this;\r\n\t\tvar timeOpts = me.options.time;\r\n\t\tvar displayFormats = timeOpts.displayFormats;\r\n\r\n\t\t// pick the longest format (milliseconds) for guestimation\r\n\t\tvar format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\r\n\t\tvar exampleLabel = me.tickFormatFunction(exampleTime, 0, ticksFromTimestamps(me, [exampleTime], me._majorUnit), format);\r\n\t\tvar size = me._getLabelSize(exampleLabel);\r\n\t\tvar capacity = Math.floor(me.isHorizontal() ? me.width / size.w : me.height / size.h);\r\n\r\n\t\tif (me.options.offset) {\r\n\t\t\tcapacity--;\r\n\t\t}\r\n\r\n\t\treturn capacity > 0 ? capacity : 1;\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$4 = defaultConfig$4;\nscale_time._defaults = _defaults$4;\n\nvar scales = {\r\n\tcategory: scale_category,\r\n\tlinear: scale_linear,\r\n\tlogarithmic: scale_logarithmic,\r\n\tradialLinear: scale_radialLinear,\r\n\ttime: scale_time\r\n};\n\nvar FORMATS = {\r\n\tdatetime: 'MMM D, YYYY, h:mm:ss a',\r\n\tmillisecond: 'h:mm:ss.SSS a',\r\n\tsecond: 'h:mm:ss a',\r\n\tminute: 'h:mm a',\r\n\thour: 'hA',\r\n\tday: 'MMM D',\r\n\tweek: 'll',\r\n\tmonth: 'MMM YYYY',\r\n\tquarter: '[Q]Q - YYYY',\r\n\tyear: 'YYYY'\r\n};\r\n\r\ncore_adapters._date.override(typeof moment === 'function' ? {\r\n\t_id: 'moment', // DEBUG ONLY\r\n\r\n\tformats: function() {\r\n\t\treturn FORMATS;\r\n\t},\r\n\r\n\tparse: function(value, format) {\r\n\t\tif (typeof value === 'string' && typeof format === 'string') {\r\n\t\t\tvalue = moment(value, format);\r\n\t\t} else if (!(value instanceof moment)) {\r\n\t\t\tvalue = moment(value);\r\n\t\t}\r\n\t\treturn value.isValid() ? value.valueOf() : null;\r\n\t},\r\n\r\n\tformat: function(time, format) {\r\n\t\treturn moment(time).format(format);\r\n\t},\r\n\r\n\tadd: function(time, amount, unit) {\r\n\t\treturn moment(time).add(amount, unit).valueOf();\r\n\t},\r\n\r\n\tdiff: function(max, min, unit) {\r\n\t\treturn moment(max).diff(moment(min), unit);\r\n\t},\r\n\r\n\tstartOf: function(time, unit, weekday) {\r\n\t\ttime = moment(time);\r\n\t\tif (unit === 'isoWeek') {\r\n\t\t\treturn time.isoWeekday(weekday).valueOf();\r\n\t\t}\r\n\t\treturn time.startOf(unit).valueOf();\r\n\t},\r\n\r\n\tendOf: function(time, unit) {\r\n\t\treturn moment(time).endOf(unit).valueOf();\r\n\t},\r\n\r\n\t// DEPRECATIONS\r\n\r\n\t/**\r\n\t * Provided for backward compatibility with scale.getValueForPixel().\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\t_create: function(time) {\r\n\t\treturn moment(time);\r\n\t},\r\n} : {});\n\ncore_defaults._set('global', {\r\n\tplugins: {\r\n\t\tfiller: {\r\n\t\t\tpropagate: true\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar mappers = {\r\n\tdataset: function(source) {\r\n\t\tvar index = source.fill;\r\n\t\tvar chart = source.chart;\r\n\t\tvar meta = chart.getDatasetMeta(index);\r\n\t\tvar visible = meta && chart.isDatasetVisible(index);\r\n\t\tvar points = (visible && meta.dataset._children) || [];\r\n\t\tvar length = points.length || 0;\r\n\r\n\t\treturn !length ? null : function(point, i) {\r\n\t\t\treturn (i < length && points[i]._view) || null;\r\n\t\t};\r\n\t},\r\n\r\n\tboundary: function(source) {\r\n\t\tvar boundary = source.boundary;\r\n\t\tvar x = boundary ? boundary.x : null;\r\n\t\tvar y = boundary ? boundary.y : null;\r\n\r\n\t\tif (helpers$1.isArray(boundary)) {\r\n\t\t\treturn function(point, i) {\r\n\t\t\t\treturn boundary[i];\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tx: x === null ? point.x : x,\r\n\t\t\t\ty: y === null ? point.y : y,\r\n\t\t\t};\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// @todo if (fill[0] === '#')\r\nfunction decodeFill(el, index, count) {\r\n\tvar model = el._model || {};\r\n\tvar fill = model.fill;\r\n\tvar target;\r\n\r\n\tif (fill === undefined) {\r\n\t\tfill = !!model.backgroundColor;\r\n\t}\r\n\r\n\tif (fill === false || fill === null) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (fill === true) {\r\n\t\treturn 'origin';\r\n\t}\r\n\r\n\ttarget = parseFloat(fill, 10);\r\n\tif (isFinite(target) && Math.floor(target) === target) {\r\n\t\tif (fill[0] === '-' || fill[0] === '+') {\r\n\t\t\ttarget = index + target;\r\n\t\t}\r\n\r\n\t\tif (target === index || target < 0 || target >= count) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t}\r\n\r\n\tswitch (fill) {\r\n\t// compatibility\r\n\tcase 'bottom':\r\n\t\treturn 'start';\r\n\tcase 'top':\r\n\t\treturn 'end';\r\n\tcase 'zero':\r\n\t\treturn 'origin';\r\n\t// supported boundaries\r\n\tcase 'origin':\r\n\tcase 'start':\r\n\tcase 'end':\r\n\t\treturn fill;\r\n\t// invalid fill values\r\n\tdefault:\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction computeLinearBoundary(source) {\r\n\tvar model = source.el._model || {};\r\n\tvar scale = source.el._scale || {};\r\n\tvar fill = source.fill;\r\n\tvar target = null;\r\n\tvar horizontal;\r\n\r\n\tif (isFinite(fill)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// Backward compatibility: until v3, we still need to support boundary values set on\r\n\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\r\n\t// controllers might still use it (e.g. the Smith chart).\r\n\r\n\tif (fill === 'start') {\r\n\t\ttarget = model.scaleBottom === undefined ? scale.bottom : model.scaleBottom;\r\n\t} else if (fill === 'end') {\r\n\t\ttarget = model.scaleTop === undefined ? scale.top : model.scaleTop;\r\n\t} else if (model.scaleZero !== undefined) {\r\n\t\ttarget = model.scaleZero;\r\n\t} else if (scale.getBasePixel) {\r\n\t\ttarget = scale.getBasePixel();\r\n\t}\r\n\r\n\tif (target !== undefined && target !== null) {\r\n\t\tif (target.x !== undefined && target.y !== undefined) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\tif (helpers$1.isFinite(target)) {\r\n\t\t\thorizontal = scale.isHorizontal();\r\n\t\t\treturn {\r\n\t\t\t\tx: horizontal ? target : null,\r\n\t\t\t\ty: horizontal ? null : target\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nfunction computeCircularBoundary(source) {\r\n\tvar scale = source.el._scale;\r\n\tvar options = scale.options;\r\n\tvar length = scale.chart.data.labels.length;\r\n\tvar fill = source.fill;\r\n\tvar target = [];\r\n\tvar start, end, center, i, point;\r\n\r\n\tif (!length) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tstart = options.ticks.reverse ? scale.max : scale.min;\r\n\tend = options.ticks.reverse ? scale.min : scale.max;\r\n\tcenter = scale.getPointPositionForValue(0, start);\r\n\tfor (i = 0; i < length; ++i) {\r\n\t\tpoint = fill === 'start' || fill === 'end'\r\n\t\t\t? scale.getPointPositionForValue(i, fill === 'start' ? start : end)\r\n\t\t\t: scale.getBasePosition(i);\r\n\t\tif (options.gridLines.circular) {\r\n\t\t\tpoint.cx = center.x;\r\n\t\t\tpoint.cy = center.y;\r\n\t\t\tpoint.angle = scale.getIndexAngle(i) - Math.PI / 2;\r\n\t\t}\r\n\t\ttarget.push(point);\r\n\t}\r\n\treturn target;\r\n}\r\n\r\nfunction computeBoundary(source) {\r\n\tvar scale = source.el._scale || {};\r\n\r\n\tif (scale.getPointPositionForValue) {\r\n\t\treturn computeCircularBoundary(source);\r\n\t}\r\n\treturn computeLinearBoundary(source);\r\n}\r\n\r\nfunction resolveTarget(sources, index, propagate) {\r\n\tvar source = sources[index];\r\n\tvar fill = source.fill;\r\n\tvar visited = [index];\r\n\tvar target;\r\n\r\n\tif (!propagate) {\r\n\t\treturn fill;\r\n\t}\r\n\r\n\twhile (fill !== false && visited.indexOf(fill) === -1) {\r\n\t\tif (!isFinite(fill)) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\ttarget = sources[fill];\r\n\t\tif (!target) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (target.visible) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\tvisited.push(fill);\r\n\t\tfill = target.fill;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nfunction createMapper(source) {\r\n\tvar fill = source.fill;\r\n\tvar type = 'dataset';\r\n\r\n\tif (fill === false) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (!isFinite(fill)) {\r\n\t\ttype = 'boundary';\r\n\t}\r\n\r\n\treturn mappers[type](source);\r\n}\r\n\r\nfunction isDrawable(point) {\r\n\treturn point && !point.skip;\r\n}\r\n\r\nfunction drawArea(ctx, curve0, curve1, len0, len1) {\r\n\tvar i, cx, cy, r;\r\n\r\n\tif (!len0 || !len1) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// building first area curve (normal)\r\n\tctx.moveTo(curve0[0].x, curve0[0].y);\r\n\tfor (i = 1; i < len0; ++i) {\r\n\t\thelpers$1.canvas.lineTo(ctx, curve0[i - 1], curve0[i]);\r\n\t}\r\n\r\n\tif (curve1[0].angle !== undefined) {\r\n\t\tcx = curve1[0].cx;\r\n\t\tcy = curve1[0].cy;\r\n\t\tr = Math.sqrt(Math.pow(curve1[0].x - cx, 2) + Math.pow(curve1[0].y - cy, 2));\r\n\t\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\t\tctx.arc(cx, cy, r, curve1[i].angle, curve1[i - 1].angle, true);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\t// joining the two area curves\r\n\tctx.lineTo(curve1[len1 - 1].x, curve1[len1 - 1].y);\r\n\r\n\t// building opposite area curve (reverse)\r\n\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\thelpers$1.canvas.lineTo(ctx, curve1[i], curve1[i - 1], true);\r\n\t}\r\n}\r\n\r\nfunction doFill(ctx, points, mapper, view, color, loop) {\r\n\tvar count = points.length;\r\n\tvar span = view.spanGaps;\r\n\tvar curve0 = [];\r\n\tvar curve1 = [];\r\n\tvar len0 = 0;\r\n\tvar len1 = 0;\r\n\tvar i, ilen, index, p0, p1, d0, d1, loopOffset;\r\n\r\n\tctx.beginPath();\r\n\r\n\tfor (i = 0, ilen = count; i < ilen; ++i) {\r\n\t\tindex = i % count;\r\n\t\tp0 = points[index]._view;\r\n\t\tp1 = mapper(p0, index, view);\r\n\t\td0 = isDrawable(p0);\r\n\t\td1 = isDrawable(p1);\r\n\r\n\t\tif (loop && loopOffset === undefined && d0) {\r\n\t\t\tloopOffset = i + 1;\r\n\t\t\tilen = count + loopOffset;\r\n\t\t}\r\n\r\n\t\tif (d0 && d1) {\r\n\t\t\tlen0 = curve0.push(p0);\r\n\t\t\tlen1 = curve1.push(p1);\r\n\t\t} else if (len0 && len1) {\r\n\t\t\tif (!span) {\r\n\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\t\t\t\tlen0 = len1 = 0;\r\n\t\t\t\tcurve0 = [];\r\n\t\t\t\tcurve1 = [];\r\n\t\t\t} else {\r\n\t\t\t\tif (d0) {\r\n\t\t\t\t\tcurve0.push(p0);\r\n\t\t\t\t}\r\n\t\t\t\tif (d1) {\r\n\t\t\t\t\tcurve1.push(p1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\r\n\tctx.closePath();\r\n\tctx.fillStyle = color;\r\n\tctx.fill();\r\n}\r\n\r\nvar plugin_filler = {\r\n\tid: 'filler',\r\n\r\n\tafterDatasetsUpdate: function(chart, options) {\r\n\t\tvar count = (chart.data.datasets || []).length;\r\n\t\tvar propagate = options.propagate;\r\n\t\tvar sources = [];\r\n\t\tvar meta, i, el, source;\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\tel = meta.dataset;\r\n\t\t\tsource = null;\r\n\r\n\t\t\tif (el && el._model && el instanceof elements.Line) {\r\n\t\t\t\tsource = {\r\n\t\t\t\t\tvisible: chart.isDatasetVisible(i),\r\n\t\t\t\t\tfill: decodeFill(el, i, count),\r\n\t\t\t\t\tchart: chart,\r\n\t\t\t\t\tel: el\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tmeta.$filler = source;\r\n\t\t\tsources.push(source);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!source) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tsource.fill = resolveTarget(sources, i, propagate);\r\n\t\t\tsource.boundary = computeBoundary(source);\r\n\t\t\tsource.mapper = createMapper(source);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeDatasetsDraw: function(chart) {\r\n\t\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\t\tvar ctx = chart.ctx;\r\n\t\tvar meta, i, el, view, points, mapper, color;\r\n\r\n\t\tfor (i = metasets.length - 1; i >= 0; --i) {\r\n\t\t\tmeta = metasets[i].$filler;\r\n\r\n\t\t\tif (!meta || !meta.visible) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tel = meta.el;\r\n\t\t\tview = el._view;\r\n\t\t\tpoints = el._children || [];\r\n\t\t\tmapper = meta.mapper;\r\n\t\t\tcolor = view.backgroundColor || core_defaults.global.defaultColor;\r\n\r\n\t\t\tif (mapper && color && points.length) {\r\n\t\t\t\thelpers$1.canvas.clipArea(ctx, chart.chartArea);\r\n\t\t\t\tdoFill(ctx, points, mapper, view, color, el._loop);\r\n\t\t\t\thelpers$1.canvas.unclipArea(ctx);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar getRtlHelper$1 = helpers$1.rtl.getRtlAdapter;\r\nvar noop$1 = helpers$1.noop;\r\nvar valueOrDefault$e = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('global', {\r\n\tlegend: {\r\n\t\tdisplay: true,\r\n\t\tposition: 'top',\r\n\t\talign: 'center',\r\n\t\tfullWidth: true,\r\n\t\treverse: false,\r\n\t\tweight: 1000,\r\n\r\n\t\t// a callback that will handle\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.datasetIndex;\r\n\t\t\tvar ci = this.chart;\r\n\t\t\tvar meta = ci.getDatasetMeta(index);\r\n\r\n\t\t\t// See controller.isDatasetVisible comment\r\n\t\t\tmeta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;\r\n\r\n\t\t\t// We hid a dataset ... rerender the chart\r\n\t\t\tci.update();\r\n\t\t},\r\n\r\n\t\tonHover: null,\r\n\t\tonLeave: null,\r\n\r\n\t\tlabels: {\r\n\t\t\tboxWidth: 40,\r\n\t\t\tpadding: 10,\r\n\t\t\t// Generates labels shown in the legend\r\n\t\t\t// Valid properties to return:\r\n\t\t\t// text : text to display\r\n\t\t\t// fillStyle : fill of coloured box\r\n\t\t\t// strokeStyle: stroke of coloured box\r\n\t\t\t// hidden : if this legend item refers to a hidden item\r\n\t\t\t// lineCap : cap style for line\r\n\t\t\t// lineDash\r\n\t\t\t// lineDashOffset :\r\n\t\t\t// lineJoin :\r\n\t\t\t// lineWidth :\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar datasets = chart.data.datasets;\r\n\t\t\t\tvar options = chart.options.legend || {};\r\n\t\t\t\tvar usePointStyle = options.labels && options.labels.usePointStyle;\r\n\r\n\t\t\t\treturn chart._getSortedDatasetMetas().map(function(meta) {\r\n\t\t\t\t\tvar style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\ttext: datasets[meta.index].label,\r\n\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(meta.index),\r\n\t\t\t\t\t\tlineCap: style.borderCapStyle,\r\n\t\t\t\t\t\tlineDash: style.borderDash,\r\n\t\t\t\t\t\tlineDashOffset: style.borderDashOffset,\r\n\t\t\t\t\t\tlineJoin: style.borderJoinStyle,\r\n\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\tpointStyle: style.pointStyle,\r\n\t\t\t\t\t\trotation: style.rotation,\r\n\r\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\r\n\t\t\t\t\t\tdatasetIndex: meta.index\r\n\t\t\t\t\t};\r\n\t\t\t\t}, this);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; i++) {\r\n\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\tlistItemSpan.style.backgroundColor = datasets[i].backgroundColor;\r\n\t\t\tif (datasets[i].label) {\r\n\t\t\t\tlistItem.appendChild(document.createTextNode(datasets[i].label));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t}\r\n});\r\n\r\n/**\r\n * Helper function to get the box width based on the usePointStyle option\r\n * @param {object} labelopts - the label options on the legend\r\n * @param {number} fontSize - the label font size\r\n * @return {number} width of the color box area\r\n */\r\nfunction getBoxWidth(labelOpts, fontSize) {\r\n\treturn labelOpts.usePointStyle && labelOpts.boxWidth > fontSize ?\r\n\t\tfontSize :\r\n\t\tlabelOpts.boxWidth;\r\n}\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Legend = core_element.extend({\r\n\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers$1.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\r\n\t\t/**\r\n \t\t * @private\r\n \t\t */\r\n\t\tme._hoveredItem = null;\r\n\r\n\t\t// Are we in doughnut mode which has a different data type\r\n\t\tme.doughnutMode = false;\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\t// Any function defined here is inherited by all legend types.\r\n\t// Any function can be extended by the legend type\r\n\r\n\tbeforeUpdate: noop$1,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\t},\r\n\tafterUpdate: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop$1,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop$1,\r\n\tbuildLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelOpts = me.options.labels || {};\r\n\t\tvar legendItems = helpers$1.callback(labelOpts.generateLabels, [me.chart], me) || [];\r\n\r\n\t\tif (labelOpts.filter) {\r\n\t\t\tlegendItems = legendItems.filter(function(item) {\r\n\t\t\t\treturn labelOpts.filter(item, me.chart.data);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (me.options.reverse) {\r\n\t\t\tlegendItems.reverse();\r\n\t\t}\r\n\r\n\t\tme.legendItems = legendItems;\r\n\t},\r\n\tafterBuildLabels: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop$1,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar display = opts.display;\r\n\r\n\t\tvar ctx = me.ctx;\r\n\r\n\t\tvar labelFont = helpers$1.options._parseFont(labelOpts);\r\n\t\tvar fontSize = labelFont.size;\r\n\r\n\t\t// Reset hit boxes\r\n\t\tvar hitboxes = me.legendHitBoxes = [];\r\n\r\n\t\tvar minSize = me.minSize;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth; // fill all the width\r\n\t\t\tminSize.height = display ? 10 : 0;\r\n\t\t} else {\r\n\t\t\tminSize.width = display ? 10 : 0;\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t}\r\n\r\n\t\t// Increase sizes here\r\n\t\tif (!display) {\r\n\t\t\tme.width = minSize.width = me.height = minSize.height = 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tctx.font = labelFont.string;\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\t// Labels\r\n\r\n\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\r\n\t\t\tvar lineWidths = me.lineWidths = [0];\r\n\t\t\tvar totalHeight = 0;\r\n\r\n\t\t\tctx.textAlign = 'left';\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\tif (i === 0 || lineWidths[lineWidths.length - 1] + width + 2 * labelOpts.padding > minSize.width) {\r\n\t\t\t\t\ttotalHeight += fontSize + labelOpts.padding;\r\n\t\t\t\t\tlineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\twidth: width,\r\n\t\t\t\t\theight: fontSize\r\n\t\t\t\t};\r\n\r\n\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\r\n\t\t\t});\r\n\r\n\t\t\tminSize.height += totalHeight;\r\n\r\n\t\t} else {\r\n\t\t\tvar vPadding = labelOpts.padding;\r\n\t\t\tvar columnWidths = me.columnWidths = [];\r\n\t\t\tvar columnHeights = me.columnHeights = [];\r\n\t\t\tvar totalWidth = labelOpts.padding;\r\n\t\t\tvar currentColWidth = 0;\r\n\t\t\tvar currentColHeight = 0;\r\n\r\n\t\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\t// If too tall, go to new column\r\n\t\t\t\tif (i > 0 && currentColHeight + fontSize + 2 * vPadding > minSize.height) {\r\n\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\r\n\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\r\n\t\t\t\t\tcolumnHeights.push(currentColHeight);\r\n\t\t\t\t\tcurrentColWidth = 0;\r\n\t\t\t\t\tcurrentColHeight = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Get max width\r\n\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\r\n\t\t\t\tcurrentColHeight += fontSize + vPadding;\r\n\r\n\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\twidth: itemWidth,\r\n\t\t\t\t\theight: fontSize\r\n\t\t\t\t};\r\n\t\t\t});\r\n\r\n\t\t\ttotalWidth += currentColWidth;\r\n\t\t\tcolumnWidths.push(currentColWidth);\r\n\t\t\tcolumnHeights.push(currentColHeight);\r\n\t\t\tminSize.width += totalWidth;\r\n\t\t}\r\n\r\n\t\tme.width = minSize.width;\r\n\t\tme.height = minSize.height;\r\n\t},\r\n\tafterFit: noop$1,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the legend on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor;\r\n\t\tvar lineDefault = globalDefaults.elements.line;\r\n\t\tvar legendHeight = me.height;\r\n\t\tvar columnHeights = me.columnHeights;\r\n\t\tvar legendWidth = me.width;\r\n\t\tvar lineWidths = me.lineWidths;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar rtlHelper = getRtlHelper$1(opts.rtl, me.left, me.minSize.width);\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar fontColor = valueOrDefault$e(labelOpts.fontColor, globalDefaults.defaultFontColor);\r\n\t\tvar labelFont = helpers$1.options._parseFont(labelOpts);\r\n\t\tvar fontSize = labelFont.size;\r\n\t\tvar cursor;\r\n\r\n\t\t// Canvas setup\r\n\t\tctx.textAlign = rtlHelper.textAlign('left');\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.lineWidth = 0.5;\r\n\t\tctx.strokeStyle = fontColor; // for strikethrough effect\r\n\t\tctx.fillStyle = fontColor; // render in correct colour\r\n\t\tctx.font = labelFont.string;\r\n\r\n\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\tvar hitboxes = me.legendHitBoxes;\r\n\r\n\t\t// current position\r\n\t\tvar drawLegendBox = function(x, y, legendItem) {\r\n\t\t\tif (isNaN(boxWidth) || boxWidth <= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Set the ctx for the box\r\n\t\t\tctx.save();\r\n\r\n\t\t\tvar lineWidth = valueOrDefault$e(legendItem.lineWidth, lineDefault.borderWidth);\r\n\t\t\tctx.fillStyle = valueOrDefault$e(legendItem.fillStyle, defaultColor);\r\n\t\t\tctx.lineCap = valueOrDefault$e(legendItem.lineCap, lineDefault.borderCapStyle);\r\n\t\t\tctx.lineDashOffset = valueOrDefault$e(legendItem.lineDashOffset, lineDefault.borderDashOffset);\r\n\t\t\tctx.lineJoin = valueOrDefault$e(legendItem.lineJoin, lineDefault.borderJoinStyle);\r\n\t\t\tctx.lineWidth = lineWidth;\r\n\t\t\tctx.strokeStyle = valueOrDefault$e(legendItem.strokeStyle, defaultColor);\r\n\r\n\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t// IE 9 and 10 do not support line dash\r\n\t\t\t\tctx.setLineDash(valueOrDefault$e(legendItem.lineDash, lineDefault.borderDash));\r\n\t\t\t}\r\n\r\n\t\t\tif (labelOpts && labelOpts.usePointStyle) {\r\n\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\r\n\t\t\t\t// x and y to be center of figure (instead of top left)\r\n\t\t\t\tvar radius = boxWidth * Math.SQRT2 / 2;\r\n\t\t\t\tvar centerX = rtlHelper.xPlus(x, boxWidth / 2);\r\n\t\t\t\tvar centerY = y + fontSize / 2;\r\n\r\n\t\t\t\t// Draw pointStyle as legend symbol\r\n\t\t\t\thelpers$1.canvas.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY, legendItem.rotation);\r\n\t\t\t} else {\r\n\t\t\t\t// Draw box as legend symbol\r\n\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(x, boxWidth), y, boxWidth, fontSize);\r\n\t\t\t\tif (lineWidth !== 0) {\r\n\t\t\t\t\tctx.strokeRect(rtlHelper.leftForLtr(x, boxWidth), y, boxWidth, fontSize);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t};\r\n\r\n\t\tvar fillText = function(x, y, legendItem, textWidth) {\r\n\t\t\tvar halfFontSize = fontSize / 2;\r\n\t\t\tvar xLeft = rtlHelper.xPlus(x, boxWidth + halfFontSize);\r\n\t\t\tvar yMiddle = y + halfFontSize;\r\n\r\n\t\t\tctx.fillText(legendItem.text, xLeft, yMiddle);\r\n\r\n\t\t\tif (legendItem.hidden) {\r\n\t\t\t\t// Strikethrough the text if hidden\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.lineWidth = 2;\r\n\t\t\t\tctx.moveTo(xLeft, yMiddle);\r\n\t\t\t\tctx.lineTo(rtlHelper.xPlus(xLeft, textWidth), yMiddle);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar alignmentOffset = function(dimension, blockSize) {\r\n\t\t\tswitch (opts.align) {\r\n\t\t\tcase 'start':\r\n\t\t\t\treturn labelOpts.padding;\r\n\t\t\tcase 'end':\r\n\t\t\t\treturn dimension - blockSize;\r\n\t\t\tdefault: // center\r\n\t\t\t\treturn (dimension - blockSize + labelOpts.padding) / 2;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Horizontal\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tif (isHorizontal) {\r\n\t\t\tcursor = {\r\n\t\t\t\tx: me.left + alignmentOffset(legendWidth, lineWidths[0]),\r\n\t\t\t\ty: me.top + labelOpts.padding,\r\n\t\t\t\tline: 0\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tcursor = {\r\n\t\t\t\tx: me.left + labelOpts.padding,\r\n\t\t\t\ty: me.top + alignmentOffset(legendHeight, columnHeights[0]),\r\n\t\t\t\tline: 0\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\thelpers$1.rtl.overrideTextDirection(me.ctx, opts.textDirection);\r\n\r\n\t\tvar itemHeight = fontSize + labelOpts.padding;\r\n\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\tvar textWidth = ctx.measureText(legendItem.text).width;\r\n\t\t\tvar width = boxWidth + (fontSize / 2) + textWidth;\r\n\t\t\tvar x = cursor.x;\r\n\t\t\tvar y = cursor.y;\r\n\r\n\t\t\trtlHelper.setWidth(me.minSize.width);\r\n\r\n\t\t\t// Use (me.left + me.minSize.width) and (me.top + me.minSize.height)\r\n\t\t\t// instead of me.right and me.bottom because me.width and me.height\r\n\t\t\t// may have been changed since me.minSize was calculated\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tif (i > 0 && x + width + labelOpts.padding > me.left + me.minSize.width) {\r\n\t\t\t\t\ty = cursor.y += itemHeight;\r\n\t\t\t\t\tcursor.line++;\r\n\t\t\t\t\tx = cursor.x = me.left + alignmentOffset(legendWidth, lineWidths[cursor.line]);\r\n\t\t\t\t}\r\n\t\t\t} else if (i > 0 && y + itemHeight > me.top + me.minSize.height) {\r\n\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\r\n\t\t\t\tcursor.line++;\r\n\t\t\t\ty = cursor.y = me.top + alignmentOffset(legendHeight, columnHeights[cursor.line]);\r\n\t\t\t}\r\n\r\n\t\t\tvar realX = rtlHelper.x(x);\r\n\r\n\t\t\tdrawLegendBox(realX, y, legendItem);\r\n\r\n\t\t\thitboxes[i].left = rtlHelper.leftForLtr(realX, hitboxes[i].width);\r\n\t\t\thitboxes[i].top = y;\r\n\r\n\t\t\t// Fill the actual label\r\n\t\t\tfillText(realX, y, legendItem, textWidth);\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tcursor.x += width + labelOpts.padding;\r\n\t\t\t} else {\r\n\t\t\t\tcursor.y += itemHeight;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.rtl.restoreTextDirection(me.ctx, opts.textDirection);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLegendItemAt: function(x, y) {\r\n\t\tvar me = this;\r\n\t\tvar i, hitBox, lh;\r\n\r\n\t\tif (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\r\n\t\t\t// See if we are touching one of the dataset boxes\r\n\t\t\tlh = me.legendHitBoxes;\r\n\t\t\tfor (i = 0; i < lh.length; ++i) {\r\n\t\t\t\thitBox = lh[i];\r\n\r\n\t\t\t\tif (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\r\n\t\t\t\t\t// Touching an element\r\n\t\t\t\t\treturn me.legendItems[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\r\n\t\tvar hoveredItem;\r\n\r\n\t\tif (type === 'mousemove') {\r\n\t\t\tif (!opts.onHover && !opts.onLeave) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else if (type === 'click') {\r\n\t\t\tif (!opts.onClick) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Chart event already has relative position in it\r\n\t\thoveredItem = me._getLegendItemAt(e.x, e.y);\r\n\r\n\t\tif (type === 'click') {\r\n\t\t\tif (hoveredItem && opts.onClick) {\r\n\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\topts.onClick.call(me, e.native, hoveredItem);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (opts.onLeave && hoveredItem !== me._hoveredItem) {\r\n\t\t\t\tif (me._hoveredItem) {\r\n\t\t\t\t\topts.onLeave.call(me, e.native, me._hoveredItem);\r\n\t\t\t\t}\r\n\t\t\t\tme._hoveredItem = hoveredItem;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts.onHover && hoveredItem) {\r\n\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\topts.onHover.call(me, e.native, hoveredItem);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction createNewLegendAndAttach(chart, legendOpts) {\r\n\tvar legend = new Legend({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: legendOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tcore_layouts.configure(chart, legend, legendOpts);\r\n\tcore_layouts.addBox(chart, legend);\r\n\tchart.legend = legend;\r\n}\r\n\r\nvar plugin_legend = {\r\n\tid: 'legend',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making\r\n\t * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Legend,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\t\tvar legend = chart.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\thelpers$1.mergeIf(legendOpts, core_defaults.global.legend);\r\n\r\n\t\t\tif (legend) {\r\n\t\t\t\tcore_layouts.configure(chart, legend, legendOpts);\r\n\t\t\t\tlegend.options = legendOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t\t}\r\n\t\t} else if (legend) {\r\n\t\t\tcore_layouts.removeBox(chart, legend);\r\n\t\t\tdelete chart.legend;\r\n\t\t}\r\n\t},\r\n\r\n\tafterEvent: function(chart, e) {\r\n\t\tvar legend = chart.legend;\r\n\t\tif (legend) {\r\n\t\t\tlegend.handleEvent(e);\r\n\t\t}\r\n\t}\r\n};\n\nvar noop$2 = helpers$1.noop;\r\n\r\ncore_defaults._set('global', {\r\n\ttitle: {\r\n\t\tdisplay: false,\r\n\t\tfontStyle: 'bold',\r\n\t\tfullWidth: true,\r\n\t\tpadding: 10,\r\n\t\tposition: 'top',\r\n\t\ttext: '',\r\n\t\tweight: 2000 // by default greater than legend (1000) to be above\r\n\t}\r\n});\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Title = core_element.extend({\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers$1.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\r\n\tbeforeUpdate: noop$2,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\r\n\t},\r\n\tafterUpdate: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop$2,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop$2,\r\n\tbuildLabels: noop$2,\r\n\tafterBuildLabels: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop$2,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar minSize = me.minSize = {};\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar lineCount, textSize;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\tme.width = minSize.width = me.height = minSize.height = 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlineCount = helpers$1.isArray(opts.text) ? opts.text.length : 1;\r\n\t\ttextSize = lineCount * helpers$1.options._parseFont(opts).lineHeight + opts.padding * 2;\r\n\r\n\t\tme.width = minSize.width = isHorizontal ? me.maxWidth : textSize;\r\n\t\tme.height = minSize.height = isHorizontal ? textSize : me.maxHeight;\r\n\t},\r\n\tafterFit: noop$2,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the title block on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar fontOpts = helpers$1.options._parseFont(opts);\r\n\t\tvar lineHeight = fontOpts.lineHeight;\r\n\t\tvar offset = lineHeight / 2 + opts.padding;\r\n\t\tvar rotation = 0;\r\n\t\tvar top = me.top;\r\n\t\tvar left = me.left;\r\n\t\tvar bottom = me.bottom;\r\n\t\tvar right = me.right;\r\n\t\tvar maxWidth, titleX, titleY;\r\n\r\n\t\tctx.fillStyle = helpers$1.valueOrDefault(opts.fontColor, core_defaults.global.defaultFontColor); // render in correct colour\r\n\t\tctx.font = fontOpts.string;\r\n\r\n\t\t// Horizontal\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\r\n\t\t\ttitleY = top + offset;\r\n\t\t\tmaxWidth = right - left;\r\n\t\t} else {\r\n\t\t\ttitleX = opts.position === 'left' ? left + offset : right - offset;\r\n\t\t\ttitleY = top + ((bottom - top) / 2);\r\n\t\t\tmaxWidth = bottom - top;\r\n\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.translate(titleX, titleY);\r\n\t\tctx.rotate(rotation);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\r\n\t\tvar text = opts.text;\r\n\t\tif (helpers$1.isArray(text)) {\r\n\t\t\tvar y = 0;\r\n\t\t\tfor (var i = 0; i < text.length; ++i) {\r\n\t\t\t\tctx.fillText(text[i], 0, y, maxWidth);\r\n\t\t\t\ty += lineHeight;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tctx.fillText(text, 0, 0, maxWidth);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\r\n\r\nfunction createNewTitleBlockAndAttach(chart, titleOpts) {\r\n\tvar title = new Title({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: titleOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tcore_layouts.configure(chart, title, titleOpts);\r\n\tcore_layouts.addBox(chart, title);\r\n\tchart.titleBlock = title;\r\n}\r\n\r\nvar plugin_title = {\r\n\tid: 'title',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the title is registered as a plugin, making\r\n\t * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Title,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\t\tvar titleBlock = chart.titleBlock;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\thelpers$1.mergeIf(titleOpts, core_defaults.global.title);\r\n\r\n\t\t\tif (titleBlock) {\r\n\t\t\t\tcore_layouts.configure(chart, titleBlock, titleOpts);\r\n\t\t\t\ttitleBlock.options = titleOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t\t}\r\n\t\t} else if (titleBlock) {\r\n\t\t\tcore_layouts.removeBox(chart, titleBlock);\r\n\t\t\tdelete chart.titleBlock;\r\n\t\t}\r\n\t}\r\n};\n\nvar plugins = {};\r\nvar filler = plugin_filler;\r\nvar legend = plugin_legend;\r\nvar title = plugin_title;\nplugins.filler = filler;\nplugins.legend = legend;\nplugins.title = title;\n\n/**\r\n * @namespace Chart\r\n */\r\n\r\n\r\ncore_controller.helpers = helpers$1;\r\n\r\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\r\ncore_helpers();\r\n\r\ncore_controller._adapters = core_adapters;\r\ncore_controller.Animation = core_animation;\r\ncore_controller.animationService = core_animations;\r\ncore_controller.controllers = controllers;\r\ncore_controller.DatasetController = core_datasetController;\r\ncore_controller.defaults = core_defaults;\r\ncore_controller.Element = core_element;\r\ncore_controller.elements = elements;\r\ncore_controller.Interaction = core_interaction;\r\ncore_controller.layouts = core_layouts;\r\ncore_controller.platform = platform;\r\ncore_controller.plugins = core_plugins;\r\ncore_controller.Scale = core_scale;\r\ncore_controller.scaleService = core_scaleService;\r\ncore_controller.Ticks = core_ticks;\r\ncore_controller.Tooltip = core_tooltip;\r\n\r\n// Register built-in scales\r\n\r\ncore_controller.helpers.each(scales, function(scale, type) {\r\n\tcore_controller.scaleService.registerScaleType(type, scale, scale._defaults);\r\n});\r\n\r\n// Load to register built-in adapters (as side effects)\r\n\r\n\r\n// Loading built-in plugins\r\n\r\nfor (var k in plugins) {\r\n\tif (plugins.hasOwnProperty(k)) {\r\n\t\tcore_controller.plugins.register(plugins[k]);\r\n\t}\r\n}\r\n\r\ncore_controller.platform.initialize();\r\n\r\nvar src = core_controller;\r\nif (typeof window !== 'undefined') {\r\n\twindow.Chart = core_controller;\r\n}\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Chart\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Chart = core_controller;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Legend\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Legend = plugins.legend._element;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Title\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Title = plugins.title._element;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.plugins instead\r\n * @namespace Chart.pluginService\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.pluginService = core_controller.plugins;\r\n\r\n/**\r\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\r\n * effect, instead simply create/register plugins via plain JavaScript objects.\r\n * @interface Chart.PluginBase\r\n * @deprecated since version 2.5.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.PluginBase = core_controller.Element.extend({});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\r\n * @namespace Chart.canvasHelpers\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.canvasHelpers = core_controller.helpers.canvas;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.layouts instead.\r\n * @namespace Chart.layoutService\r\n * @deprecated since version 2.7.3\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.layoutService = core_controller.layouts;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.LinearScaleBase\r\n * @deprecated since version 2.8\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.LinearScaleBase = scale_linearbase;\r\n\r\n/**\r\n * Provided for backward compatibility, instead we should create a new Chart\r\n * by setting the type in the config (`new Chart(id, {type: '{chart-type}'}`).\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n */\r\ncore_controller.helpers.each(\r\n\t[\r\n\t\t'Bar',\r\n\t\t'Bubble',\r\n\t\t'Doughnut',\r\n\t\t'Line',\r\n\t\t'PolarArea',\r\n\t\t'Radar',\r\n\t\t'Scatter'\r\n\t],\r\n\tfunction(klass) {\r\n\t\tcore_controller[klass] = function(ctx, cfg) {\r\n\t\t\treturn new core_controller(ctx, core_controller.helpers.merge(cfg || {}, {\r\n\t\t\t\ttype: klass.charAt(0).toLowerCase() + klass.slice(1)\r\n\t\t\t}));\r\n\t\t};\r\n\t}\r\n);\n\nreturn src;\n\n})));\n","/*!\n * chartjs-plugin-datalabels v1.0.0\n * https://chartjs-plugin-datalabels.netlify.app\n * (c) 2017-2021 chartjs-plugin-datalabels contributors\n * Released under the MIT license\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('chart.js')) :\ntypeof define === 'function' && define.amd ? define(['chart.js'], factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ChartDataLabels = factory(global.Chart));\n}(this, (function (Chart) { 'use strict';\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar Chart__default = /*#__PURE__*/_interopDefaultLegacy(Chart);\n\nvar helpers$4 = Chart__default['default'].helpers;\n\nvar devicePixelRatio = (function() {\n if (typeof window !== 'undefined') {\n if (window.devicePixelRatio) {\n return window.devicePixelRatio;\n }\n\n // devicePixelRatio is undefined on IE10\n // https://stackoverflow.com/a/20204180/8837887\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/85\n var screen = window.screen;\n if (screen) {\n return (screen.deviceXDPI || 1) / (screen.logicalXDPI || 1);\n }\n }\n\n return 1;\n}());\n\nvar utils = {\n // @todo move this in Chart.helpers.toTextLines\n toTextLines: function(inputs) {\n var lines = [];\n var input;\n\n inputs = [].concat(inputs);\n while (inputs.length) {\n input = inputs.pop();\n if (typeof input === 'string') {\n lines.unshift.apply(lines, input.split('\\n'));\n } else if (Array.isArray(input)) {\n inputs.push.apply(inputs, input);\n } else if (!helpers$4.isNullOrUndef(inputs)) {\n lines.unshift('' + input);\n }\n }\n\n return lines;\n },\n\n // @todo move this method in Chart.helpers.canvas.toFont (deprecates helpers.fontString)\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n toFontString: function(font) {\n if (!font || helpers$4.isNullOrUndef(font.size) || helpers$4.isNullOrUndef(font.family)) {\n return null;\n }\n\n return (font.style ? font.style + ' ' : '')\n + (font.weight ? font.weight + ' ' : '')\n + font.size + 'px '\n + font.family;\n },\n\n // @todo move this in Chart.helpers.canvas.textSize\n // @todo cache calls of measureText if font doesn't change?!\n textSize: function(ctx, lines, font) {\n var items = [].concat(lines);\n var ilen = items.length;\n var prev = ctx.font;\n var width = 0;\n var i;\n\n ctx.font = font.string;\n\n for (i = 0; i < ilen; ++i) {\n width = Math.max(ctx.measureText(items[i]).width, width);\n }\n\n ctx.font = prev;\n\n return {\n height: ilen * font.lineHeight,\n width: width\n };\n },\n\n // @todo move this method in Chart.helpers.options.toFont\n parseFont: function(value) {\n var global = Chart__default['default'].defaults.global;\n var size = helpers$4.valueOrDefault(value.size, global.defaultFontSize);\n var font = {\n family: helpers$4.valueOrDefault(value.family, global.defaultFontFamily),\n lineHeight: helpers$4.options.toLineHeight(value.lineHeight, size),\n size: size,\n style: helpers$4.valueOrDefault(value.style, global.defaultFontStyle),\n weight: helpers$4.valueOrDefault(value.weight, null),\n string: ''\n };\n\n font.string = utils.toFontString(font);\n return font;\n },\n\n /**\n * Returns value bounded by min and max. This is equivalent to max(min, min(value, max)).\n * @todo move this method in Chart.helpers.bound\n * https://doc.qt.io/qt-5/qtglobal.html#qBound\n */\n bound: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Returns an array of pair [value, state] where state is:\n * * -1: value is only in a0 (removed)\n * * 1: value is only in a1 (added)\n */\n arrayDiff: function(a0, a1) {\n var prev = a0.slice();\n var updates = [];\n var i, j, ilen, v;\n\n for (i = 0, ilen = a1.length; i < ilen; ++i) {\n v = a1[i];\n j = prev.indexOf(v);\n\n if (j === -1) {\n updates.push([v, 1]);\n } else {\n prev.splice(j, 1);\n }\n }\n\n for (i = 0, ilen = prev.length; i < ilen; ++i) {\n updates.push([prev[i], -1]);\n }\n\n return updates;\n },\n\n /**\n * https://github.com/chartjs/chartjs-plugin-datalabels/issues/70\n */\n rasterize: function(v) {\n return Math.round(v * devicePixelRatio) / devicePixelRatio;\n }\n};\n\nfunction orient(point, origin) {\n var x0 = origin.x;\n var y0 = origin.y;\n\n if (x0 === null) {\n return {x: 0, y: -1};\n }\n if (y0 === null) {\n return {x: 1, y: 0};\n }\n\n var dx = point.x - x0;\n var dy = point.y - y0;\n var ln = Math.sqrt(dx * dx + dy * dy);\n\n return {\n x: ln ? dx / ln : 0,\n y: ln ? dy / ln : -1\n };\n}\n\nfunction aligned(x, y, vx, vy, align) {\n switch (align) {\n case 'center':\n vx = vy = 0;\n break;\n case 'bottom':\n vx = 0;\n vy = 1;\n break;\n case 'right':\n vx = 1;\n vy = 0;\n break;\n case 'left':\n vx = -1;\n vy = 0;\n break;\n case 'top':\n vx = 0;\n vy = -1;\n break;\n case 'start':\n vx = -vx;\n vy = -vy;\n break;\n case 'end':\n // keep natural orientation\n break;\n default:\n // clockwise rotation (in degree)\n align *= (Math.PI / 180);\n vx = Math.cos(align);\n vy = Math.sin(align);\n break;\n }\n\n return {\n x: x,\n y: y,\n vx: vx,\n vy: vy\n };\n}\n\n// Line clipping (Cohen–Sutherland algorithm)\n// https://en.wikipedia.org/wiki/Cohen–Sutherland_algorithm\n\nvar R_INSIDE = 0;\nvar R_LEFT = 1;\nvar R_RIGHT = 2;\nvar R_BOTTOM = 4;\nvar R_TOP = 8;\n\nfunction region(x, y, rect) {\n var res = R_INSIDE;\n\n if (x < rect.left) {\n res |= R_LEFT;\n } else if (x > rect.right) {\n res |= R_RIGHT;\n }\n if (y < rect.top) {\n res |= R_TOP;\n } else if (y > rect.bottom) {\n res |= R_BOTTOM;\n }\n\n return res;\n}\n\nfunction clipped(segment, area) {\n var x0 = segment.x0;\n var y0 = segment.y0;\n var x1 = segment.x1;\n var y1 = segment.y1;\n var r0 = region(x0, y0, area);\n var r1 = region(x1, y1, area);\n var r, x, y;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!(r0 | r1) || (r0 & r1)) {\n // both points inside or on the same side: no clipping\n break;\n }\n\n // at least one point is outside\n r = r0 || r1;\n\n if (r & R_TOP) {\n x = x0 + (x1 - x0) * (area.top - y0) / (y1 - y0);\n y = area.top;\n } else if (r & R_BOTTOM) {\n x = x0 + (x1 - x0) * (area.bottom - y0) / (y1 - y0);\n y = area.bottom;\n } else if (r & R_RIGHT) {\n y = y0 + (y1 - y0) * (area.right - x0) / (x1 - x0);\n x = area.right;\n } else if (r & R_LEFT) {\n y = y0 + (y1 - y0) * (area.left - x0) / (x1 - x0);\n x = area.left;\n }\n\n if (r === r0) {\n x0 = x;\n y0 = y;\n r0 = region(x0, y0, area);\n } else {\n x1 = x;\n y1 = y;\n r1 = region(x1, y1, area);\n }\n }\n\n return {\n x0: x0,\n x1: x1,\n y0: y0,\n y1: y1\n };\n}\n\nfunction compute$1(range, config) {\n var anchor = config.anchor;\n var segment = range;\n var x, y;\n\n if (config.clamp) {\n segment = clipped(segment, config.area);\n }\n\n if (anchor === 'start') {\n x = segment.x0;\n y = segment.y0;\n } else if (anchor === 'end') {\n x = segment.x1;\n y = segment.y1;\n } else {\n x = (segment.x0 + segment.x1) / 2;\n y = (segment.y0 + segment.y1) / 2;\n }\n\n return aligned(x, y, range.vx, range.vy, config.align);\n}\n\nvar positioners = {\n arc: function(vm, config) {\n var angle = (vm.startAngle + vm.endAngle) / 2;\n var vx = Math.cos(angle);\n var vy = Math.sin(angle);\n var r0 = vm.innerRadius;\n var r1 = vm.outerRadius;\n\n return compute$1({\n x0: vm.x + vx * r0,\n y0: vm.y + vy * r0,\n x1: vm.x + vx * r1,\n y1: vm.y + vy * r1,\n vx: vx,\n vy: vy\n }, config);\n },\n\n point: function(vm, config) {\n var v = orient(vm, config.origin);\n var rx = v.x * vm.radius;\n var ry = v.y * vm.radius;\n\n return compute$1({\n x0: vm.x - rx,\n y0: vm.y - ry,\n x1: vm.x + rx,\n y1: vm.y + ry,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n rect: function(vm, config) {\n var v = orient(vm, config.origin);\n var x = vm.x;\n var y = vm.y;\n var sx = 0;\n var sy = 0;\n\n if (vm.horizontal) {\n x = Math.min(vm.x, vm.base);\n sx = Math.abs(vm.base - vm.x);\n } else {\n y = Math.min(vm.y, vm.base);\n sy = Math.abs(vm.base - vm.y);\n }\n\n return compute$1({\n x0: x,\n y0: y + sy,\n x1: x + sx,\n y1: y,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n fallback: function(vm, config) {\n var v = orient(vm, config.origin);\n\n return compute$1({\n x0: vm.x,\n y0: vm.y,\n x1: vm.x,\n y1: vm.y,\n vx: v.x,\n vy: v.y\n }, config);\n }\n};\n\nvar helpers$3 = Chart__default['default'].helpers;\nvar rasterize = utils.rasterize;\n\nfunction boundingRects(model) {\n var borderWidth = model.borderWidth || 0;\n var padding = model.padding;\n var th = model.size.height;\n var tw = model.size.width;\n var tx = -tw / 2;\n var ty = -th / 2;\n\n return {\n frame: {\n x: tx - padding.left - borderWidth,\n y: ty - padding.top - borderWidth,\n w: tw + padding.width + borderWidth * 2,\n h: th + padding.height + borderWidth * 2\n },\n text: {\n x: tx,\n y: ty,\n w: tw,\n h: th\n }\n };\n}\n\nfunction getScaleOrigin(el) {\n var horizontal = el._model.horizontal;\n var scale = el._scale || (horizontal && el._xScale) || el._yScale;\n\n if (!scale) {\n return null;\n }\n\n if (scale.xCenter !== undefined && scale.yCenter !== undefined) {\n return {x: scale.xCenter, y: scale.yCenter};\n }\n\n var pixel = scale.getBasePixel();\n return horizontal ?\n {x: pixel, y: null} :\n {x: null, y: pixel};\n}\n\nfunction getPositioner(el) {\n if (el instanceof Chart__default['default'].elements.Arc) {\n return positioners.arc;\n }\n if (el instanceof Chart__default['default'].elements.Point) {\n return positioners.point;\n }\n if (el instanceof Chart__default['default'].elements.Rectangle) {\n return positioners.rect;\n }\n return positioners.fallback;\n}\n\nfunction drawFrame(ctx, rect, model) {\n var bgColor = model.backgroundColor;\n var borderColor = model.borderColor;\n var borderWidth = model.borderWidth;\n\n if (!bgColor && (!borderColor || !borderWidth)) {\n return;\n }\n\n ctx.beginPath();\n\n helpers$3.canvas.roundedRect(\n ctx,\n rasterize(rect.x) + borderWidth / 2,\n rasterize(rect.y) + borderWidth / 2,\n rasterize(rect.w) - borderWidth,\n rasterize(rect.h) - borderWidth,\n model.borderRadius);\n\n ctx.closePath();\n\n if (bgColor) {\n ctx.fillStyle = bgColor;\n ctx.fill();\n }\n\n if (borderColor && borderWidth) {\n ctx.strokeStyle = borderColor;\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = 'miter';\n ctx.stroke();\n }\n}\n\nfunction textGeometry(rect, align, font) {\n var h = font.lineHeight;\n var w = rect.w;\n var x = rect.x;\n var y = rect.y + h / 2;\n\n if (align === 'center') {\n x += w / 2;\n } else if (align === 'end' || align === 'right') {\n x += w;\n }\n\n return {\n h: h,\n w: w,\n x: x,\n y: y\n };\n}\n\nfunction drawTextLine(ctx, text, cfg) {\n var shadow = ctx.shadowBlur;\n var stroked = cfg.stroked;\n var x = rasterize(cfg.x);\n var y = rasterize(cfg.y);\n var w = rasterize(cfg.w);\n\n if (stroked) {\n ctx.strokeText(text, x, y, w);\n }\n\n if (cfg.filled) {\n if (shadow && stroked) {\n // Prevent drawing shadow on both the text stroke and fill, so\n // if the text is stroked, remove the shadow for the text fill.\n ctx.shadowBlur = 0;\n }\n\n ctx.fillText(text, x, y, w);\n\n if (shadow && stroked) {\n ctx.shadowBlur = shadow;\n }\n }\n}\n\nfunction drawText(ctx, lines, rect, model) {\n var align = model.textAlign;\n var color = model.color;\n var filled = !!color;\n var font = model.font;\n var ilen = lines.length;\n var strokeColor = model.textStrokeColor;\n var strokeWidth = model.textStrokeWidth;\n var stroked = strokeColor && strokeWidth;\n var i;\n\n if (!ilen || (!filled && !stroked)) {\n return;\n }\n\n // Adjust coordinates based on text alignment and line height\n rect = textGeometry(rect, align, font);\n\n ctx.font = font.string;\n ctx.textAlign = align;\n ctx.textBaseline = 'middle';\n ctx.shadowBlur = model.textShadowBlur;\n ctx.shadowColor = model.textShadowColor;\n\n if (filled) {\n ctx.fillStyle = color;\n }\n if (stroked) {\n ctx.lineJoin = 'round';\n ctx.lineWidth = strokeWidth;\n ctx.strokeStyle = strokeColor;\n }\n\n for (i = 0, ilen = lines.length; i < ilen; ++i) {\n drawTextLine(ctx, lines[i], {\n stroked: stroked,\n filled: filled,\n w: rect.w,\n x: rect.x,\n y: rect.y + rect.h * i\n });\n }\n}\n\nvar Label = function(config, ctx, el, index) {\n var me = this;\n\n me._config = config;\n me._index = index;\n me._model = null;\n me._rects = null;\n me._ctx = ctx;\n me._el = el;\n};\n\nhelpers$3.extend(Label.prototype, {\n /**\n * @private\n */\n _modelize: function(display, lines, config, context) {\n var me = this;\n var index = me._index;\n var resolve = helpers$3.options.resolve;\n var font = utils.parseFont(resolve([config.font, {}], context, index));\n var color = resolve([config.color, Chart__default['default'].defaults.global.defaultFontColor], context, index);\n\n return {\n align: resolve([config.align, 'center'], context, index),\n anchor: resolve([config.anchor, 'center'], context, index),\n area: context.chart.chartArea,\n backgroundColor: resolve([config.backgroundColor, null], context, index),\n borderColor: resolve([config.borderColor, null], context, index),\n borderRadius: resolve([config.borderRadius, 0], context, index),\n borderWidth: resolve([config.borderWidth, 0], context, index),\n clamp: resolve([config.clamp, false], context, index),\n clip: resolve([config.clip, false], context, index),\n color: color,\n display: display,\n font: font,\n lines: lines,\n offset: resolve([config.offset, 0], context, index),\n opacity: resolve([config.opacity, 1], context, index),\n origin: getScaleOrigin(me._el),\n padding: helpers$3.options.toPadding(resolve([config.padding, 0], context, index)),\n positioner: getPositioner(me._el),\n rotation: resolve([config.rotation, 0], context, index) * (Math.PI / 180),\n size: utils.textSize(me._ctx, lines, font),\n textAlign: resolve([config.textAlign, 'start'], context, index),\n textShadowBlur: resolve([config.textShadowBlur, 0], context, index),\n textShadowColor: resolve([config.textShadowColor, color], context, index),\n textStrokeColor: resolve([config.textStrokeColor, color], context, index),\n textStrokeWidth: resolve([config.textStrokeWidth, 0], context, index)\n };\n },\n\n update: function(context) {\n var me = this;\n var model = null;\n var rects = null;\n var index = me._index;\n var config = me._config;\n var value, label, lines;\n\n // We first resolve the display option (separately) to avoid computing\n // other options in case the label is hidden (i.e. display: false).\n var display = helpers$3.options.resolve([config.display, true], context, index);\n\n if (display) {\n value = context.dataset.data[index];\n label = helpers$3.valueOrDefault(helpers$3.callback(config.formatter, [value, context]), value);\n lines = helpers$3.isNullOrUndef(label) ? [] : utils.toTextLines(label);\n\n if (lines.length) {\n model = me._modelize(display, lines, config, context);\n rects = boundingRects(model);\n }\n }\n\n me._model = model;\n me._rects = rects;\n },\n\n geometry: function() {\n return this._rects ? this._rects.frame : {};\n },\n\n rotation: function() {\n return this._model ? this._model.rotation : 0;\n },\n\n visible: function() {\n return this._model && this._model.opacity;\n },\n\n model: function() {\n return this._model;\n },\n\n draw: function(chart, center) {\n var me = this;\n var ctx = chart.ctx;\n var model = me._model;\n var rects = me._rects;\n var area;\n\n if (!this.visible()) {\n return;\n }\n\n ctx.save();\n\n if (model.clip) {\n area = model.area;\n ctx.beginPath();\n ctx.rect(\n area.left,\n area.top,\n area.right - area.left,\n area.bottom - area.top);\n ctx.clip();\n }\n\n ctx.globalAlpha = utils.bound(0, model.opacity, 1);\n ctx.translate(rasterize(center.x), rasterize(center.y));\n ctx.rotate(model.rotation);\n\n drawFrame(ctx, rects.frame, model);\n drawText(ctx, model.lines, rects.text, model);\n\n ctx.restore();\n }\n});\n\nvar helpers$2 = Chart__default['default'].helpers;\n\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; // eslint-disable-line es/no-number-minsafeinteger\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line es/no-number-maxsafeinteger\n\nfunction rotated(point, center, angle) {\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n var cx = center.x;\n var cy = center.y;\n\n return {\n x: cx + cos * (point.x - cx) - sin * (point.y - cy),\n y: cy + sin * (point.x - cx) + cos * (point.y - cy)\n };\n}\n\nfunction projected(points, axis) {\n var min = MAX_INTEGER;\n var max = MIN_INTEGER;\n var origin = axis.origin;\n var i, pt, vx, vy, dp;\n\n for (i = 0; i < points.length; ++i) {\n pt = points[i];\n vx = pt.x - origin.x;\n vy = pt.y - origin.y;\n dp = axis.vx * vx + axis.vy * vy;\n min = Math.min(min, dp);\n max = Math.max(max, dp);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nfunction toAxis(p0, p1) {\n var vx = p1.x - p0.x;\n var vy = p1.y - p0.y;\n var ln = Math.sqrt(vx * vx + vy * vy);\n\n return {\n vx: (p1.x - p0.x) / ln,\n vy: (p1.y - p0.y) / ln,\n origin: p0,\n ln: ln\n };\n}\n\nvar HitBox = function() {\n this._rotation = 0;\n this._rect = {\n x: 0,\n y: 0,\n w: 0,\n h: 0\n };\n};\n\nhelpers$2.extend(HitBox.prototype, {\n center: function() {\n var r = this._rect;\n return {\n x: r.x + r.w / 2,\n y: r.y + r.h / 2\n };\n },\n\n update: function(center, rect, rotation) {\n this._rotation = rotation;\n this._rect = {\n x: rect.x + center.x,\n y: rect.y + center.y,\n w: rect.w,\n h: rect.h\n };\n },\n\n contains: function(point) {\n var me = this;\n var margin = 1;\n var rect = me._rect;\n\n point = rotated(point, me.center(), -me._rotation);\n\n return !(point.x < rect.x - margin\n || point.y < rect.y - margin\n || point.x > rect.x + rect.w + margin * 2\n || point.y > rect.y + rect.h + margin * 2);\n },\n\n // Separating Axis Theorem\n // https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169\n intersects: function(other) {\n var r0 = this._points();\n var r1 = other._points();\n var axes = [\n toAxis(r0[0], r0[1]),\n toAxis(r0[0], r0[3])\n ];\n var i, pr0, pr1;\n\n if (this._rotation !== other._rotation) {\n // Only separate with r1 axis if the rotation is different,\n // else it's enough to separate r0 and r1 with r0 axis only!\n axes.push(\n toAxis(r1[0], r1[1]),\n toAxis(r1[0], r1[3])\n );\n }\n\n for (i = 0; i < axes.length; ++i) {\n pr0 = projected(r0, axes[i]);\n pr1 = projected(r1, axes[i]);\n\n if (pr0.max < pr1.min || pr1.max < pr0.min) {\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * @private\n */\n _points: function() {\n var me = this;\n var rect = me._rect;\n var angle = me._rotation;\n var center = me.center();\n\n return [\n rotated({x: rect.x, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y + rect.h}, center, angle),\n rotated({x: rect.x, y: rect.y + rect.h}, center, angle)\n ];\n }\n});\n\nfunction coordinates(view, model, geometry) {\n var point = model.positioner(view, model);\n var vx = point.vx;\n var vy = point.vy;\n\n if (!vx && !vy) {\n // if aligned center, we don't want to offset the center point\n return {x: point.x, y: point.y};\n }\n\n var w = geometry.w;\n var h = geometry.h;\n\n // take in account the label rotation\n var rotation = model.rotation;\n var dx = Math.abs(w / 2 * Math.cos(rotation)) + Math.abs(h / 2 * Math.sin(rotation));\n var dy = Math.abs(w / 2 * Math.sin(rotation)) + Math.abs(h / 2 * Math.cos(rotation));\n\n // scale the unit vector (vx, vy) to get at least dx or dy equal to\n // w or h respectively (else we would calculate the distance to the\n // ellipse inscribed in the bounding rect)\n var vs = 1 / Math.max(Math.abs(vx), Math.abs(vy));\n dx *= vx * vs;\n dy *= vy * vs;\n\n // finally, include the explicit offset\n dx += model.offset * vx;\n dy += model.offset * vy;\n\n return {\n x: point.x + dx,\n y: point.y + dy\n };\n}\n\nfunction collide(labels, collider) {\n var i, j, s0, s1;\n\n // IMPORTANT Iterate in the reverse order since items at the end of the\n // list have an higher weight/priority and thus should be less impacted\n // by the overlapping strategy.\n\n for (i = labels.length - 1; i >= 0; --i) {\n s0 = labels[i].$layout;\n\n for (j = i - 1; j >= 0 && s0._visible; --j) {\n s1 = labels[j].$layout;\n\n if (s1._visible && s0._box.intersects(s1._box)) {\n collider(s0, s1);\n }\n }\n }\n\n return labels;\n}\n\nfunction compute(labels) {\n var i, ilen, label, state, geometry, center;\n\n // Initialize labels for overlap detection\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n geometry = label.geometry();\n center = coordinates(label._el._model, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n }\n }\n\n // Auto hide overlapping labels\n return collide(labels, function(s0, s1) {\n var h0 = s0._hidable;\n var h1 = s1._hidable;\n\n if ((h0 && h1) || h1) {\n s1._visible = false;\n } else if (h0) {\n s0._visible = false;\n }\n });\n}\n\nvar layout = {\n prepare: function(datasets) {\n var labels = [];\n var i, j, ilen, jlen, label;\n\n for (i = 0, ilen = datasets.length; i < ilen; ++i) {\n for (j = 0, jlen = datasets[i].length; j < jlen; ++j) {\n label = datasets[i][j];\n labels.push(label);\n label.$layout = {\n _box: new HitBox(),\n _hidable: false,\n _visible: true,\n _set: i,\n _idx: j\n };\n }\n }\n\n // TODO New `z` option: labels with a higher z-index are drawn\n // of top of the ones with a lower index. Lowest z-index labels\n // are also discarded first when hiding overlapping labels.\n labels.sort(function(a, b) {\n var sa = a.$layout;\n var sb = b.$layout;\n\n return sa._idx === sb._idx\n ? sb._set - sa._set\n : sb._idx - sa._idx;\n });\n\n this.update(labels);\n\n return labels;\n },\n\n update: function(labels) {\n var dirty = false;\n var i, ilen, label, model, state;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n model = label.model();\n state = label.$layout;\n state._hidable = model && model.display === 'auto';\n state._visible = label.visible();\n dirty |= state._hidable;\n }\n\n if (dirty) {\n compute(labels);\n }\n },\n\n lookup: function(labels, point) {\n var i, state;\n\n // IMPORTANT Iterate in the reverse order since items at the end of\n // the list have an higher z-index, thus should be picked first.\n\n for (i = labels.length - 1; i >= 0; --i) {\n state = labels[i].$layout;\n\n if (state && state._visible && state._box.contains(point)) {\n return labels[i];\n }\n }\n\n return null;\n },\n\n draw: function(chart, labels) {\n var i, ilen, label, state, geometry, center;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n geometry = label.geometry();\n center = coordinates(label._el._view, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n label.draw(chart, center);\n }\n }\n }\n};\n\nvar helpers$1 = Chart__default['default'].helpers;\n\nvar formatter = function(value) {\n if (helpers$1.isNullOrUndef(value)) {\n return null;\n }\n\n var label = value;\n var keys, klen, k;\n if (helpers$1.isObject(value)) {\n if (!helpers$1.isNullOrUndef(value.label)) {\n label = value.label;\n } else if (!helpers$1.isNullOrUndef(value.r)) {\n label = value.r;\n } else {\n label = '';\n keys = Object.keys(value);\n for (k = 0, klen = keys.length; k < klen; ++k) {\n label += (k !== 0 ? ', ' : '') + keys[k] + ': ' + value[keys[k]];\n }\n }\n }\n\n return '' + label;\n};\n\n/**\n * IMPORTANT: make sure to also update tests and TypeScript definition\n * files (`/test/specs/defaults.spec.js` and `/types/options.d.ts`)\n */\n\nvar defaults = {\n align: 'center',\n anchor: 'center',\n backgroundColor: null,\n borderColor: null,\n borderRadius: 0,\n borderWidth: 0,\n clamp: false,\n clip: false,\n color: undefined,\n display: true,\n font: {\n family: undefined,\n lineHeight: 1.2,\n size: undefined,\n style: undefined,\n weight: null\n },\n formatter: formatter,\n labels: undefined,\n listeners: {},\n offset: 4,\n opacity: 1,\n padding: {\n top: 4,\n right: 4,\n bottom: 4,\n left: 4\n },\n rotation: 0,\n textAlign: 'start',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n textShadowBlur: 0,\n textShadowColor: undefined\n};\n\n/**\n * @see https://github.com/chartjs/Chart.js/issues/4176\n */\n\nvar helpers = Chart__default['default'].helpers;\nvar EXPANDO_KEY = '$datalabels';\nvar DEFAULT_KEY = '$default';\n\nfunction configure(dataset, options) {\n var override = dataset.datalabels;\n var listeners = {};\n var configs = [];\n var labels, keys;\n\n if (override === false) {\n return null;\n }\n if (override === true) {\n override = {};\n }\n\n options = helpers.merge({}, [options, override]);\n labels = options.labels || {};\n keys = Object.keys(labels);\n delete options.labels;\n\n if (keys.length) {\n keys.forEach(function(key) {\n if (labels[key]) {\n configs.push(helpers.merge({}, [\n options,\n labels[key],\n {_key: key}\n ]));\n }\n });\n } else {\n // Default label if no \"named\" label defined.\n configs.push(options);\n }\n\n // listeners: {<event-type>: {<label-key>: <fn>}}\n listeners = configs.reduce(function(target, config) {\n helpers.each(config.listeners || {}, function(fn, event) {\n target[event] = target[event] || {};\n target[event][config._key || DEFAULT_KEY] = fn;\n });\n\n delete config.listeners;\n return target;\n }, {});\n\n return {\n labels: configs,\n listeners: listeners\n };\n}\n\nfunction dispatchEvent(chart, listeners, label) {\n if (!listeners) {\n return;\n }\n\n var context = label.$context;\n var groups = label.$groups;\n var callback;\n\n if (!listeners[groups._set]) {\n return;\n }\n\n callback = listeners[groups._set][groups._key];\n if (!callback) {\n return;\n }\n\n if (helpers.callback(callback, [context]) === true) {\n // Users are allowed to tweak the given context by injecting values that can be\n // used in scriptable options to display labels differently based on the current\n // event (e.g. highlight an hovered label). That's why we update the label with\n // the output context and schedule a new chart render by setting it dirty.\n chart[EXPANDO_KEY]._dirty = true;\n label.update(context);\n }\n}\n\nfunction dispatchMoveEvents(chart, listeners, previous, label) {\n var enter, leave;\n\n if (!previous && !label) {\n return;\n }\n\n if (!previous) {\n enter = true;\n } else if (!label) {\n leave = true;\n } else if (previous !== label) {\n leave = enter = true;\n }\n\n if (leave) {\n dispatchEvent(chart, listeners.leave, previous);\n }\n if (enter) {\n dispatchEvent(chart, listeners.enter, label);\n }\n}\n\nfunction handleMoveEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var listeners = expando._listeners;\n var previous, label;\n\n if (!listeners.enter && !listeners.leave) {\n return;\n }\n\n if (event.type === 'mousemove') {\n label = layout.lookup(expando._labels, event);\n } else if (event.type !== 'mouseout') {\n return;\n }\n\n previous = expando._hovered;\n expando._hovered = label;\n dispatchMoveEvents(chart, listeners, previous, label);\n}\n\nfunction handleClickEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var handlers = expando._listeners.click;\n var label = handlers && layout.lookup(expando._labels, event);\n if (label) {\n dispatchEvent(chart, handlers, label);\n }\n}\n\n// https://github.com/chartjs/chartjs-plugin-datalabels/issues/108\nfunction invalidate(chart) {\n if (chart.animating) {\n return;\n }\n\n // `chart.animating` can be `false` even if there is animation in progress,\n // so let's iterate all animations to find if there is one for the `chart`.\n var animations = Chart__default['default'].animationService.animations;\n for (var i = 0, ilen = animations.length; i < ilen; ++i) {\n if (animations[i].chart === chart) {\n return;\n }\n }\n\n // No render scheduled: trigger a \"lazy\" render that can be canceled in case\n // of hover interactions. The 1ms duration is a workaround to make sure an\n // animation is created so the controller can stop it before any transition.\n chart.render({duration: 1, lazy: true});\n}\n\nChart__default['default'].defaults.global.plugins.datalabels = defaults;\n\nvar plugin = {\n id: 'datalabels',\n\n beforeInit: function(chart) {\n chart[EXPANDO_KEY] = {\n _actives: []\n };\n },\n\n beforeUpdate: function(chart) {\n var expando = chart[EXPANDO_KEY];\n expando._listened = false;\n expando._listeners = {}; // {<event-type>: {<dataset-index>: {<label-key>: <fn>}}}\n expando._datasets = []; // per dataset labels: [Label[]]\n expando._labels = []; // layouted labels: Label[]\n },\n\n afterDatasetUpdate: function(chart, args, options) {\n var datasetIndex = args.index;\n var expando = chart[EXPANDO_KEY];\n var labels = expando._datasets[datasetIndex] = [];\n var visible = chart.isDatasetVisible(datasetIndex);\n var dataset = chart.data.datasets[datasetIndex];\n var config = configure(dataset, options);\n var elements = args.meta.data || [];\n var ctx = chart.ctx;\n var i, j, ilen, jlen, cfg, key, el, label;\n\n ctx.save();\n\n for (i = 0, ilen = elements.length; i < ilen; ++i) {\n el = elements[i];\n el[EXPANDO_KEY] = [];\n\n if (visible && el && !el.hidden && !el._model.skip) {\n for (j = 0, jlen = config.labels.length; j < jlen; ++j) {\n cfg = config.labels[j];\n key = cfg._key;\n\n label = new Label(cfg, ctx, el, i);\n label.$groups = {\n _set: datasetIndex,\n _key: key || DEFAULT_KEY\n };\n label.$context = {\n active: false,\n chart: chart,\n dataIndex: i,\n dataset: dataset,\n datasetIndex: datasetIndex\n };\n\n label.update(label.$context);\n el[EXPANDO_KEY].push(label);\n labels.push(label);\n }\n }\n }\n\n ctx.restore();\n\n // Store listeners at the chart level and per event type to optimize\n // cases where no listeners are registered for a specific event.\n helpers.merge(expando._listeners, config.listeners, {\n merger: function(event, target, source) {\n target[event] = target[event] || {};\n target[event][args.index] = source[event];\n expando._listened = true;\n }\n });\n },\n\n afterUpdate: function(chart, options) {\n chart[EXPANDO_KEY]._labels = layout.prepare(\n chart[EXPANDO_KEY]._datasets,\n options);\n },\n\n // Draw labels on top of all dataset elements\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/29\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/32\n afterDatasetsDraw: function(chart) {\n layout.draw(chart, chart[EXPANDO_KEY]._labels);\n },\n\n beforeEvent: function(chart, event) {\n // If there is no listener registered for this chart, `listened` will be false,\n // meaning we can immediately ignore the incoming event and avoid useless extra\n // computation for users who don't implement label interactions.\n if (chart[EXPANDO_KEY]._listened) {\n switch (event.type) {\n case 'mousemove':\n case 'mouseout':\n handleMoveEvents(chart, event);\n break;\n case 'click':\n handleClickEvents(chart, event);\n break;\n }\n }\n },\n\n afterEvent: function(chart) {\n var expando = chart[EXPANDO_KEY];\n var previous = expando._actives;\n var actives = expando._actives = chart.lastActive || []; // public API?!\n var updates = utils.arrayDiff(previous, actives);\n var i, ilen, j, jlen, update, label, labels;\n\n for (i = 0, ilen = updates.length; i < ilen; ++i) {\n update = updates[i];\n if (update[1]) {\n labels = update[0][EXPANDO_KEY] || [];\n for (j = 0, jlen = labels.length; j < jlen; ++j) {\n label = labels[j];\n label.$context.active = (update[1] === 1);\n label.update(label.$context);\n }\n }\n }\n\n if (expando._dirty || updates.length) {\n layout.update(expando._labels);\n invalidate(chart);\n }\n\n delete expando._dirty;\n }\n};\n\nreturn plugin;\n\n})));\n","/**\n * CLDR JavaScript Library v0.5.4\n * http://jquery.com/\n *\n * Copyright 2013 Rafael Xavier de Souza\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2020-10-22T15:56Z\n */\n/*!\n * CLDR JavaScript Library v0.5.4 2020-10-22T15:56Z MIT license © Rafael Xavier\n * http://git.io/h4lmVg\n */\n(function( root, factory ) {\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD.\n\t\tdefine( factory );\n\t} else if ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// Node. CommonJS.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Global\n\t\troot.Cldr = factory();\n\t}\n\n}( this, function() {\n\n\n\tvar arrayIsArray = Array.isArray || function( obj ) {\n\t\treturn Object.prototype.toString.call( obj ) === \"[object Array]\";\n\t};\n\n\n\n\n\tvar pathNormalize = function( path, attributes ) {\n\t\tif ( arrayIsArray( path ) ) {\n\t\t\tpath = path.join( \"/\" );\n\t\t}\n\t\tif ( typeof path !== \"string\" ) {\n\t\t\tthrow new Error( \"invalid path \\\"\" + path + \"\\\"\" );\n\t\t}\n\t\t// 1: Ignore leading slash `/`\n\t\t// 2: Ignore leading `cldr/`\n\t\tpath = path\n\t\t\t.replace( /^\\// , \"\" ) /* 1 */\n\t\t\t.replace( /^cldr\\// , \"\" ); /* 2 */\n\n\t\t// Replace {attribute}'s\n\t\tpath = path.replace( /{[a-zA-Z]+}/g, function( name ) {\n\t\t\tname = name.replace( /^{([^}]*)}$/, \"$1\" );\n\t\t\treturn attributes[ name ];\n\t\t});\n\n\t\treturn path.split( \"/\" );\n\t};\n\n\n\n\n\tvar arraySome = function( array, callback ) {\n\t\tvar i, length;\n\t\tif ( array.some ) {\n\t\t\treturn array.some( callback );\n\t\t}\n\t\tfor ( i = 0, length = array.length; i < length; i++ ) {\n\t\t\tif ( callback( array[ i ], i, array ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\n\n\n\t/**\n\t * Return the maximized language id as defined in\n\t * http://www.unicode.org/reports/tr35/#Likely_Subtags\n\t * 1. Canonicalize.\n\t * 1.1 Make sure the input locale is in canonical form: uses the right\n\t * separator, and has the right casing.\n\t * TODO Right casing? What df? It seems languages are lowercase, scripts are\n\t * Capitalized, territory is uppercase. I am leaving this as an exercise to\n\t * the user.\n\t *\n\t * 1.2 Replace any deprecated subtags with their canonical values using the\n\t * <alias> data in supplemental metadata. Use the first value in the\n\t * replacement list, if it exists. Language tag replacements may have multiple\n\t * parts, such as \"sh\" ➞ \"sr_Latn\" or mo\" ➞ \"ro_MD\". In such a case, the\n\t * original script and/or region are retained if there is one. Thus\n\t * \"sh_Arab_AQ\" ➞ \"sr_Arab_AQ\", not \"sr_Latn_AQ\".\n\t * TODO What <alias> data?\n\t *\n\t * 1.3 If the tag is grandfathered (see <variable id=\"$grandfathered\"\n\t * type=\"choice\"> in the supplemental data), then return it.\n\t * TODO grandfathered?\n\t *\n\t * 1.4 Remove the script code 'Zzzz' and the region code 'ZZ' if they occur.\n\t * 1.5 Get the components of the cleaned-up source tag (languages, scripts,\n\t * and regions), plus any variants and extensions.\n\t * 2. Lookup. Lookup each of the following in order, and stop on the first\n\t * match:\n\t * 2.1 languages_scripts_regions\n\t * 2.2 languages_regions\n\t * 2.3 languages_scripts\n\t * 2.4 languages\n\t * 2.5 und_scripts\n\t * 3. Return\n\t * 3.1 If there is no match, either return an error value, or the match for\n\t * \"und\" (in APIs where a valid language tag is required).\n\t * 3.2 Otherwise there is a match = languagem_scriptm_regionm\n\t * 3.3 Let xr = xs if xs is not empty, and xm otherwise.\n\t * 3.4 Return the language tag composed of languager _ scriptr _ regionr +\n\t * variants + extensions.\n\t *\n\t * @subtags [Array] normalized language id subtags tuple (see init.js).\n\t */\n\tvar coreLikelySubtags = function( Cldr, cldr, subtags, options ) {\n\t\tvar match, matchFound,\n\t\t\tlanguage = subtags[ 0 ],\n\t\t\tscript = subtags[ 1 ],\n\t\t\tsep = Cldr.localeSep,\n\t\t\tterritory = subtags[ 2 ],\n\t\t\tvariants = subtags.slice( 3, 4 );\n\t\toptions = options || {};\n\n\t\t// Skip if (language, script, territory) is not empty [3.3]\n\t\tif ( language !== \"und\" && script !== \"Zzzz\" && territory !== \"ZZ\" ) {\n\t\t\treturn [ language, script, territory ].concat( variants );\n\t\t}\n\n\t\t// Skip if no supplemental likelySubtags data is present\n\t\tif ( typeof cldr.get( \"supplemental/likelySubtags\" ) === \"undefined\" ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// [2]\n\t\tmatchFound = arraySome([\n\t\t\t[ language, script, territory ],\n\t\t\t[ language, territory ],\n\t\t\t[ language, script ],\n\t\t\t[ language ],\n\t\t\t[ \"und\", script ]\n\t\t], function( test ) {\n\t\t\treturn match = !(/\\b(Zzzz|ZZ)\\b/).test( test.join( sep ) ) /* [1.4] */ && cldr.get( [ \"supplemental/likelySubtags\", test.join( sep ) ] );\n\t\t});\n\n\t\t// [3]\n\t\tif ( matchFound ) {\n\t\t\t// [3.2 .. 3.4]\n\t\t\tmatch = match.split( sep );\n\t\t\treturn [\n\t\t\t\tlanguage !== \"und\" ? language : match[ 0 ],\n\t\t\t\tscript !== \"Zzzz\" ? script : match[ 1 ],\n\t\t\t\tterritory !== \"ZZ\" ? territory : match[ 2 ]\n\t\t\t].concat( variants );\n\t\t} else if ( options.force ) {\n\t\t\t// [3.1.2]\n\t\t\treturn cldr.get( \"supplemental/likelySubtags/und\" ).split( sep );\n\t\t} else {\n\t\t\t// [3.1.1]\n\t\t\treturn;\n\t\t}\n\t};\n\n\n\n\t/**\n\t * Given a locale, remove any fields that Add Likely Subtags would add.\n\t * http://www.unicode.org/reports/tr35/#Likely_Subtags\n\t * 1. First get max = AddLikelySubtags(inputLocale). If an error is signaled,\n\t * return it.\n\t * 2. Remove the variants from max.\n\t * 3. Then for trial in {language, language _ region, language _ script}. If\n\t * AddLikelySubtags(trial) = max, then return trial + variants.\n\t * 4. If you do not get a match, return max + variants.\n\t * \n\t * @maxLanguageId [Array] maxLanguageId tuple (see init.js).\n\t */\n\tvar coreRemoveLikelySubtags = function( Cldr, cldr, maxLanguageId ) {\n\t\tvar match, matchFound,\n\t\t\tlanguage = maxLanguageId[ 0 ],\n\t\t\tscript = maxLanguageId[ 1 ],\n\t\t\tterritory = maxLanguageId[ 2 ],\n\t\t\tvariants = maxLanguageId[ 3 ];\n\n\t\t// [3]\n\t\tmatchFound = arraySome([\n\t\t\t[ [ language, \"Zzzz\", \"ZZ\" ], [ language ] ],\n\t\t\t[ [ language, \"Zzzz\", territory ], [ language, territory ] ],\n\t\t\t[ [ language, script, \"ZZ\" ], [ language, script ] ]\n\t\t], function( test ) {\n\t\t\tvar result = coreLikelySubtags( Cldr, cldr, test[ 0 ] );\n\t\t\tmatch = test[ 1 ];\n\t\t\treturn result && result[ 0 ] === maxLanguageId[ 0 ] &&\n\t\t\t\tresult[ 1 ] === maxLanguageId[ 1 ] &&\n\t\t\t\tresult[ 2 ] === maxLanguageId[ 2 ];\n\t\t});\n\n\t\tif ( matchFound ) {\n\t\t\tif ( variants ) {\n\t\t\t\tmatch.push( variants );\n\t\t\t}\n\t\t\treturn match;\n\t\t}\n\n\t\t// [4]\n\t\treturn maxLanguageId;\n\t};\n\n\n\n\n\t/**\n\t * subtags( locale )\n\t *\n\t * @locale [String]\n\t */\n\tvar coreSubtags = function( locale ) {\n\t\tvar aux, unicodeLanguageId,\n\t\t\tsubtags = [];\n\n\t\tlocale = locale.replace( /_/, \"-\" );\n\n\t\t// Unicode locale extensions.\n\t\taux = locale.split( \"-u-\" );\n\t\tif ( aux[ 1 ] ) {\n\t\t\taux[ 1 ] = aux[ 1 ].split( \"-t-\" );\n\t\t\tlocale = aux[ 0 ] + ( aux[ 1 ][ 1 ] ? \"-t-\" + aux[ 1 ][ 1 ] : \"\");\n\t\t\tsubtags[ 4 /* unicodeLocaleExtensions */ ] = aux[ 1 ][ 0 ];\n\t\t}\n\n\t\t// TODO normalize transformed extensions. Currently, skipped.\n\t\t// subtags[ x ] = locale.split( \"-t-\" )[ 1 ];\n\t\tunicodeLanguageId = locale.split( \"-t-\" )[ 0 ];\n\n\t\t// unicode_language_id = \"root\"\n\t\t// | unicode_language_subtag \n\t\t// (sep unicode_script_subtag)? \n\t\t// (sep unicode_region_subtag)?\n\t\t// (sep unicode_variant_subtag)* ;\n\t\t//\n\t\t// Although unicode_language_subtag = alpha{2,8}, I'm using alpha{2,3}. Because, there's no language on CLDR lengthier than 3.\n\t\taux = unicodeLanguageId.match( /^(([a-z]{2,3})(-([A-Z][a-z]{3}))?(-([A-Z]{2}|[0-9]{3}))?)((-([a-zA-Z0-9]{5,8}|[0-9][a-zA-Z0-9]{3}))*)$|^(root)$/ );\n\t\tif ( aux === null ) {\n\t\t\treturn [ \"und\", \"Zzzz\", \"ZZ\" ];\n\t\t}\n\t\tsubtags[ 0 /* language */ ] = aux[ 10 ] /* root */ || aux[ 2 ] || \"und\";\n\t\tsubtags[ 1 /* script */ ] = aux[ 4 ] || \"Zzzz\";\n\t\tsubtags[ 2 /* territory */ ] = aux[ 6 ] || \"ZZ\";\n\t\tif ( aux[ 7 ] && aux[ 7 ].length ) {\n\t\t\tsubtags[ 3 /* variant */ ] = aux[ 7 ].slice( 1 ) /* remove leading \"-\" */;\n\t\t}\n\n\t\t// 0: language\n\t\t// 1: script\n\t\t// 2: territory (aka region)\n\t\t// 3: variant\n\t\t// 4: unicodeLocaleExtensions\n\t\treturn subtags;\n\t};\n\n\n\n\n\tvar arrayForEach = function( array, callback ) {\n\t\tvar i, length;\n\t\tif ( array.forEach ) {\n\t\t\treturn array.forEach( callback );\n\t\t}\n\t\tfor ( i = 0, length = array.length; i < length; i++ ) {\n\t\t\tcallback( array[ i ], i, array );\n\t\t}\n\t};\n\n\n\n\n\t/**\n\t * bundleLookup( minLanguageId )\n\t *\n\t * @Cldr [Cldr class]\n\t *\n\t * @cldr [Cldr instance]\n\t *\n\t * @minLanguageId [String] requested languageId after applied remove likely subtags.\n\t */\n\tvar bundleLookup = function( Cldr, cldr, minLanguageId ) {\n\t\tvar availableBundleMap = Cldr._availableBundleMap,\n\t\t\tavailableBundleMapQueue = Cldr._availableBundleMapQueue;\n\n\t\tif ( availableBundleMapQueue.length ) {\n\t\t\tarrayForEach( availableBundleMapQueue, function( bundle, i ) {\n\t\t\t\tvar existing, maxBundle, minBundle, subtags;\n\t\t\t\tsubtags = coreSubtags( bundle );\n\t\t\t\tmaxBundle = coreLikelySubtags( Cldr, cldr, subtags );\n\t\t\t\tif ( maxBundle === undefined ) {\n\t\t\t\t\tavailableBundleMapQueue.splice( i, 1 );\n\t\t\t\t\tthrow new Error( \"Could not find likelySubtags for \" + bundle );\n\t\t\t\t}\n\t\t\t\tminBundle = coreRemoveLikelySubtags( Cldr, cldr, maxBundle );\n\t\t\t\tminBundle = minBundle.join( Cldr.localeSep );\n\t\t\t\texisting = availableBundleMap[ minBundle ];\n\t\t\t\tif ( existing && existing.length < bundle.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tavailableBundleMap[ minBundle ] = bundle;\n\t\t\t});\n\t\t\tCldr._availableBundleMapQueue = [];\n\t\t}\n\n\t\treturn availableBundleMap[ minLanguageId ] || null;\n\t};\n\n\n\n\n\tvar objectKeys = function( object ) {\n\t\tvar i,\n\t\t\tresult = [];\n\n\t\tif ( Object.keys ) {\n\t\t\treturn Object.keys( object );\n\t\t}\n\n\t\tfor ( i in object ) {\n\t\t\tresult.push( i );\n\t\t}\n\n\t\treturn result;\n\t};\n\n\n\n\n\tvar createError = function( code, attributes ) {\n\t\tvar error, message;\n\n\t\tmessage = code + ( attributes && JSON ? \": \" + JSON.stringify( attributes ) : \"\" );\n\t\terror = new Error( message );\n\t\terror.code = code;\n\n\t\t// extend( error, attributes );\n\t\tarrayForEach( objectKeys( attributes ), function( attribute ) {\n\t\t\terror[ attribute ] = attributes[ attribute ];\n\t\t});\n\n\t\treturn error;\n\t};\n\n\n\n\n\tvar validate = function( code, check, attributes ) {\n\t\tif ( !check ) {\n\t\t\tthrow createError( code, attributes );\n\t\t}\n\t};\n\n\n\n\n\tvar validatePresence = function( value, name ) {\n\t\tvalidate( \"E_MISSING_PARAMETER\", typeof value !== \"undefined\", {\n\t\t\tname: name\n\t\t});\n\t};\n\n\n\n\n\tvar validateType = function( value, name, check, expected ) {\n\t\tvalidate( \"E_INVALID_PAR_TYPE\", check, {\n\t\t\texpected: expected,\n\t\t\tname: name,\n\t\t\tvalue: value\n\t\t});\n\t};\n\n\n\n\n\tvar validateTypePath = function( value, name ) {\n\t\tvalidateType( value, name, typeof value === \"string\" || arrayIsArray( value ), \"String or Array\" );\n\t};\n\n\n\n\n\t/**\n\t * Function inspired by jQuery Core, but reduced to our use case.\n\t */\n\tvar isPlainObject = function( obj ) {\n\t\treturn obj !== null && \"\" + obj === \"[object Object]\";\n\t};\n\n\n\n\n\tvar validateTypePlainObject = function( value, name ) {\n\t\tvalidateType( value, name, typeof value === \"undefined\" || isPlainObject( value ), \"Plain Object\" );\n\t};\n\n\n\n\n\tvar validateTypeString = function( value, name ) {\n\t\tvalidateType( value, name, typeof value === \"string\", \"a string\" );\n\t};\n\n\n\n\n\t// @path: normalized path\n\tvar resourceGet = function( data, path ) {\n\t\tvar i,\n\t\t\tnode = data,\n\t\t\tlength = path.length;\n\n\t\tfor ( i = 0; i < length - 1; i++ ) {\n\t\t\tnode = node[ path[ i ] ];\n\t\t\tif ( !node ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\t\treturn node[ path[ i ] ];\n\t};\n\n\n\n\n\t/**\n\t * setAvailableBundles( Cldr, json )\n\t *\n\t * @Cldr [Cldr class]\n\t *\n\t * @json resolved/unresolved cldr data.\n\t *\n\t * Set available bundles queue based on passed json CLDR data. Considers a bundle as any String at /main/{bundle}.\n\t */\n\tvar coreSetAvailableBundles = function( Cldr, json ) {\n\t\tvar bundle,\n\t\t\tavailableBundleMapQueue = Cldr._availableBundleMapQueue,\n\t\t\tmain = resourceGet( json, [ \"main\" ] );\n\n\t\tif ( main ) {\n\t\t\tfor ( bundle in main ) {\n\t\t\t\tif ( main.hasOwnProperty( bundle ) && bundle !== \"root\" &&\n\t\t\t\t\t\t\tavailableBundleMapQueue.indexOf( bundle ) === -1 ) {\n\t\t\t\t\tavailableBundleMapQueue.push( bundle );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\n\n\tvar alwaysArray = function( somethingOrArray ) {\n\t\treturn arrayIsArray( somethingOrArray ) ? somethingOrArray : [ somethingOrArray ];\n\t};\n\n\n\tvar jsonMerge = (function() {\n\n\t// Returns new deeply merged JSON.\n\t//\n\t// Eg.\n\t// merge( { a: { b: 1, c: 2 } }, { a: { b: 3, d: 4 } } )\n\t// -> { a: { b: 3, c: 2, d: 4 } }\n\t//\n\t// @arguments JSON's\n\t// \n\tvar merge = function() {\n\t\tvar destination = {},\n\t\t\tsources = [].slice.call( arguments, 0 );\n\t\tarrayForEach( sources, function( source ) {\n\t\t\tvar prop;\n\t\t\tfor ( prop in source ) {\n\t\t\t\tif ( prop in destination && typeof destination[ prop ] === \"object\" && !arrayIsArray( destination[ prop ] ) ) {\n\n\t\t\t\t\t// Merge Objects\n\t\t\t\t\tdestination[ prop ] = merge( destination[ prop ], source[ prop ] );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// Set new values\n\t\t\t\t\tdestination[ prop ] = source[ prop ];\n\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn destination;\n\t};\n\n\treturn merge;\n\n}());\n\n\n\t/**\n\t * load( Cldr, source, jsons )\n\t *\n\t * @Cldr [Cldr class]\n\t *\n\t * @source [Object]\n\t *\n\t * @jsons [arguments]\n\t */\n\tvar coreLoad = function( Cldr, source, jsons ) {\n\t\tvar i, j, json;\n\n\t\tvalidatePresence( jsons[ 0 ], \"json\" );\n\n\t\t// Support arbitrary parameters, e.g., `Cldr.load({...}, {...})`.\n\t\tfor ( i = 0; i < jsons.length; i++ ) {\n\n\t\t\t// Support array parameters, e.g., `Cldr.load([{...}, {...}])`.\n\t\t\tjson = alwaysArray( jsons[ i ] );\n\n\t\t\tfor ( j = 0; j < json.length; j++ ) {\n\t\t\t\tvalidateTypePlainObject( json[ j ], \"json\" );\n\t\t\t\tsource = jsonMerge( source, json[ j ] );\n\t\t\t\tcoreSetAvailableBundles( Cldr, json[ j ] );\n\t\t\t}\n\t\t}\n\n\t\treturn source;\n\t};\n\n\n\n\tvar itemGetResolved = function( Cldr, path, attributes ) {\n\t\t// Resolve path\n\t\tvar normalizedPath = pathNormalize( path, attributes );\n\n\t\treturn resourceGet( Cldr._resolved, normalizedPath );\n\t};\n\n\n\n\n\t/**\n\t * new Cldr()\n\t */\n\tvar Cldr = function( locale ) {\n\t\tthis.init( locale );\n\t};\n\n\t// Build optimization hack to avoid duplicating functions across modules.\n\tCldr._alwaysArray = alwaysArray;\n\tCldr._coreLoad = coreLoad;\n\tCldr._createError = createError;\n\tCldr._itemGetResolved = itemGetResolved;\n\tCldr._jsonMerge = jsonMerge;\n\tCldr._pathNormalize = pathNormalize;\n\tCldr._resourceGet = resourceGet;\n\tCldr._validatePresence = validatePresence;\n\tCldr._validateType = validateType;\n\tCldr._validateTypePath = validateTypePath;\n\tCldr._validateTypePlainObject = validateTypePlainObject;\n\n\tCldr._availableBundleMap = {};\n\tCldr._availableBundleMapQueue = [];\n\tCldr._resolved = {};\n\n\t// Allow user to override locale separator \"-\" (default) | \"_\". According to http://www.unicode.org/reports/tr35/#Unicode_language_identifier, both \"-\" and \"_\" are valid locale separators (eg. \"en_GB\", \"en-GB\"). According to http://unicode.org/cldr/trac/ticket/6786 its usage must be consistent throughout the data set.\n\tCldr.localeSep = \"-\";\n\n\t/**\n\t * Cldr.load( json [, json, ...] )\n\t *\n\t * @json [JSON] CLDR data or [Array] Array of @json's.\n\t *\n\t * Load resolved cldr data.\n\t */\n\tCldr.load = function() {\n\t\tCldr._resolved = coreLoad( Cldr, Cldr._resolved, arguments );\n\t};\n\n\t/**\n\t * .init() automatically run on instantiation/construction.\n\t */\n\tCldr.prototype.init = function( locale ) {\n\t\tvar attributes, language, maxLanguageId, minLanguageId, script, subtags, territory, unicodeLocaleExtensions, variant,\n\t\t\tsep = Cldr.localeSep,\n\t\t\tunicodeLocaleExtensionsRaw = \"\";\n\n\t\tvalidatePresence( locale, \"locale\" );\n\t\tvalidateTypeString( locale, \"locale\" );\n\n\t\tsubtags = coreSubtags( locale );\n\n\t\tif ( subtags.length === 5 ) {\n\t\t\tunicodeLocaleExtensions = subtags.pop();\n\t\t\tunicodeLocaleExtensionsRaw = sep + \"u\" + sep + unicodeLocaleExtensions;\n\t\t\t// Remove trailing null when there is unicodeLocaleExtensions but no variants.\n\t\t\tif ( !subtags[ 3 ] ) {\n\t\t\t\tsubtags.pop();\n\t\t\t}\n\t\t}\n\t\tvariant = subtags[ 3 ];\n\n\t\t// Normalize locale code.\n\t\t// Get (or deduce) the \"triple subtags\": language, territory (also aliased as region), and script subtags.\n\t\t// Get the variant subtags (calendar, collation, currency, etc).\n\t\t// refs:\n\t\t// - http://www.unicode.org/reports/tr35/#Field_Definitions\n\t\t// - http://www.unicode.org/reports/tr35/#Language_and_Locale_IDs\n\t\t// - http://www.unicode.org/reports/tr35/#Unicode_locale_identifier\n\n\t\t// When a locale id does not specify a language, or territory (region), or script, they are obtained by Likely Subtags.\n\t\tmaxLanguageId = coreLikelySubtags( Cldr, this, subtags, { force: true } ) || subtags;\n\t\tlanguage = maxLanguageId[ 0 ];\n\t\tscript = maxLanguageId[ 1 ];\n\t\tterritory = maxLanguageId[ 2 ];\n\n\t\tminLanguageId = coreRemoveLikelySubtags( Cldr, this, maxLanguageId ).join( sep );\n\n\t\t// Set attributes\n\t\tthis.attributes = attributes = {\n\t\t\tbundle: bundleLookup( Cldr, this, minLanguageId ),\n\n\t\t\t// Unicode Language Id\n\t\t\tminLanguageId: minLanguageId + unicodeLocaleExtensionsRaw,\n\t\t\tmaxLanguageId: maxLanguageId.join( sep ) + unicodeLocaleExtensionsRaw,\n\n\t\t\t// Unicode Language Id Subtabs\n\t\t\tlanguage: language,\n\t\t\tscript: script,\n\t\t\tterritory: territory,\n\t\t\tregion: territory, /* alias */\n\t\t\tvariant: variant\n\t\t};\n\n\t\t// Unicode locale extensions.\n\t\tunicodeLocaleExtensions && ( \"-\" + unicodeLocaleExtensions ).replace( /-[a-z]{3,8}|(-[a-z]{2})-([a-z]{3,8})/g, function( attribute, key, type ) {\n\n\t\t\tif ( key ) {\n\n\t\t\t\t// Extension is in the `keyword` form.\n\t\t\t\tattributes[ \"u\" + key ] = type;\n\t\t\t} else {\n\n\t\t\t\t// Extension is in the `attribute` form.\n\t\t\t\tattributes[ \"u\" + attribute ] = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.locale = locale;\n\t};\n\n\t/**\n\t * .get()\n\t */\n\tCldr.prototype.get = function( path ) {\n\n\t\tvalidatePresence( path, \"path\" );\n\t\tvalidateTypePath( path, \"path\" );\n\n\t\treturn itemGetResolved( Cldr, path, this.attributes );\n\t};\n\n\t/**\n\t * .main()\n\t */\n\tCldr.prototype.main = function( path ) {\n\t\tvalidatePresence( path, \"path\" );\n\t\tvalidateTypePath( path, \"path\" );\n\n\t\tvalidate( \"E_MISSING_BUNDLE\", this.attributes.bundle !== null, {\n\t\t\tlocale: this.locale\n\t\t});\n\n\t\tpath = alwaysArray( path );\n\t\treturn this.get( [ \"main/{bundle}\" ].concat( path ) );\n\t};\n\n\treturn Cldr;\n\n\n\n\n}));\n","/**\n * CLDR JavaScript Library v0.5.4\n * http://jquery.com/\n *\n * Copyright 2013 Rafael Xavier de Souza\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2020-10-22T15:56Z\n */\n/*!\n * CLDR JavaScript Library v0.5.4 2020-10-22T15:56Z MIT license © Rafael Xavier\n * http://git.io/h4lmVg\n */\n(function( factory ) {\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD.\n\t\tdefine( [ \"../cldr\" ], factory );\n\t} else if ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// Node. CommonJS.\n\t\tmodule.exports = factory( require( \"../cldr\" ) );\n\t} else {\n\t\t// Global\n\t\tfactory( Cldr );\n\t}\n\n}(function( Cldr ) {\n\n\t// Build optimization hack to avoid duplicating functions across modules.\n\tvar pathNormalize = Cldr._pathNormalize,\n\t\tvalidatePresence = Cldr._validatePresence,\n\t\tvalidateType = Cldr._validateType;\n\n/*!\n * EventEmitter v4.2.7 - git.io/ee\n * Oliver Caldwell\n * MIT license\n * @preserve\n */\n\nvar EventEmitter;\n/* jshint ignore:start */\nEventEmitter = (function () {\n\n\n\t/**\n\t * Class for managing events.\n\t * Can be extended to provide event functionality in other classes.\n\t *\n\t * @class EventEmitter Manages event registering and emitting.\n\t */\n\tfunction EventEmitter() {}\n\n\t// Shortcuts to improve speed and size\n\tvar proto = EventEmitter.prototype;\n\tvar exports = {};\n\t\n\n\t/**\n\t * Finds the index of the listener for the event in it's storage array.\n\t *\n\t * @param {Function[]} listeners Array of listeners to search through.\n\t * @param {Function} listener Method to look for.\n\t * @return {Number} Index of the specified listener, -1 if not found\n\t * @api private\n\t */\n\tfunction indexOfListener(listeners, listener) {\n\t\tvar i = listeners.length;\n\t\twhile (i--) {\n\t\t\tif (listeners[i].listener === listener) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Alias a method while keeping the context correct, to allow for overwriting of target method.\n\t *\n\t * @param {String} name The name of the target method.\n\t * @return {Function} The aliased method\n\t * @api private\n\t */\n\tfunction alias(name) {\n\t\treturn function aliasClosure() {\n\t\t\treturn this[name].apply(this, arguments);\n\t\t};\n\t}\n\n\t/**\n\t * Returns the listener array for the specified event.\n\t * Will initialise the event object and listener arrays if required.\n\t * Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.\n\t * Each property in the object response is an array of listener functions.\n\t *\n\t * @param {String|RegExp} evt Name of the event to return the listeners from.\n\t * @return {Function[]|Object} All listener functions for the event.\n\t */\n\tproto.getListeners = function getListeners(evt) {\n\t\tvar events = this._getEvents();\n\t\tvar response;\n\t\tvar key;\n\n\t\t// Return a concatenated array of all matching events if\n\t\t// the selector is a regular expression.\n\t\tif (evt instanceof RegExp) {\n\t\t\tresponse = {};\n\t\t\tfor (key in events) {\n\t\t\t\tif (events.hasOwnProperty(key) && evt.test(key)) {\n\t\t\t\t\tresponse[key] = events[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tresponse = events[evt] || (events[evt] = []);\n\t\t}\n\n\t\treturn response;\n\t};\n\n\t/**\n\t * Takes a list of listener objects and flattens it into a list of listener functions.\n\t *\n\t * @param {Object[]} listeners Raw listener objects.\n\t * @return {Function[]} Just the listener functions.\n\t */\n\tproto.flattenListeners = function flattenListeners(listeners) {\n\t\tvar flatListeners = [];\n\t\tvar i;\n\n\t\tfor (i = 0; i < listeners.length; i += 1) {\n\t\t\tflatListeners.push(listeners[i].listener);\n\t\t}\n\n\t\treturn flatListeners;\n\t};\n\n\t/**\n\t * Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.\n\t *\n\t * @param {String|RegExp} evt Name of the event to return the listeners from.\n\t * @return {Object} All listener functions for an event in an object.\n\t */\n\tproto.getListenersAsObject = function getListenersAsObject(evt) {\n\t\tvar listeners = this.getListeners(evt);\n\t\tvar response;\n\n\t\tif (listeners instanceof Array) {\n\t\t\tresponse = {};\n\t\t\tresponse[evt] = listeners;\n\t\t}\n\n\t\treturn response || listeners;\n\t};\n\n\t/**\n\t * Adds a listener function to the specified event.\n\t * The listener will not be added if it is a duplicate.\n\t * If the listener returns true then it will be removed after it is called.\n\t * If you pass a regular expression as the event name then the listener will be added to all events that match it.\n\t *\n\t * @param {String|RegExp} evt Name of the event to attach the listener to.\n\t * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.addListener = function addListener(evt, listener) {\n\t\tvar listeners = this.getListenersAsObject(evt);\n\t\tvar listenerIsWrapped = typeof listener === 'object';\n\t\tvar key;\n\n\t\tfor (key in listeners) {\n\t\t\tif (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {\n\t\t\t\tlisteners[key].push(listenerIsWrapped ? listener : {\n\t\t\t\t\tlistener: listener,\n\t\t\t\t\tonce: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Alias of addListener\n\t */\n\tproto.on = alias('addListener');\n\n\t/**\n\t * Semi-alias of addListener. It will add a listener that will be\n\t * automatically removed after it's first execution.\n\t *\n\t * @param {String|RegExp} evt Name of the event to attach the listener to.\n\t * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.addOnceListener = function addOnceListener(evt, listener) {\n\t\treturn this.addListener(evt, {\n\t\t\tlistener: listener,\n\t\t\tonce: true\n\t\t});\n\t};\n\n\t/**\n\t * Alias of addOnceListener.\n\t */\n\tproto.once = alias('addOnceListener');\n\n\t/**\n\t * Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.\n\t * You need to tell it what event names should be matched by a regex.\n\t *\n\t * @param {String} evt Name of the event to create.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.defineEvent = function defineEvent(evt) {\n\t\tthis.getListeners(evt);\n\t\treturn this;\n\t};\n\n\t/**\n\t * Uses defineEvent to define multiple events.\n\t *\n\t * @param {String[]} evts An array of event names to define.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.defineEvents = function defineEvents(evts) {\n\t\tfor (var i = 0; i < evts.length; i += 1) {\n\t\t\tthis.defineEvent(evts[i]);\n\t\t}\n\t\treturn this;\n\t};\n\n\t/**\n\t * Removes a listener function from the specified event.\n\t * When passed a regular expression as the event name, it will remove the listener from all events that match it.\n\t *\n\t * @param {String|RegExp} evt Name of the event to remove the listener from.\n\t * @param {Function} listener Method to remove from the event.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.removeListener = function removeListener(evt, listener) {\n\t\tvar listeners = this.getListenersAsObject(evt);\n\t\tvar index;\n\t\tvar key;\n\n\t\tfor (key in listeners) {\n\t\t\tif (listeners.hasOwnProperty(key)) {\n\t\t\t\tindex = indexOfListener(listeners[key], listener);\n\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\tlisteners[key].splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Alias of removeListener\n\t */\n\tproto.off = alias('removeListener');\n\n\t/**\n\t * Adds listeners in bulk using the manipulateListeners method.\n\t * If you pass an object as the second argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.\n\t * You can also pass it a regular expression to add the array of listeners to all events that match it.\n\t * Yeah, this function does quite a bit. That's probably a bad thing.\n\t *\n\t * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.\n\t * @param {Function[]} [listeners] An optional array of listener functions to add.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.addListeners = function addListeners(evt, listeners) {\n\t\t// Pass through to manipulateListeners\n\t\treturn this.manipulateListeners(false, evt, listeners);\n\t};\n\n\t/**\n\t * Removes listeners in bulk using the manipulateListeners method.\n\t * If you pass an object as the second argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n\t * You can also pass it an event name and an array of listeners to be removed.\n\t * You can also pass it a regular expression to remove the listeners from all events that match it.\n\t *\n\t * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.\n\t * @param {Function[]} [listeners] An optional array of listener functions to remove.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.removeListeners = function removeListeners(evt, listeners) {\n\t\t// Pass through to manipulateListeners\n\t\treturn this.manipulateListeners(true, evt, listeners);\n\t};\n\n\t/**\n\t * Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.\n\t * The first argument will determine if the listeners are removed (true) or added (false).\n\t * If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n\t * You can also pass it an event name and an array of listeners to be added/removed.\n\t * You can also pass it a regular expression to manipulate the listeners of all events that match it.\n\t *\n\t * @param {Boolean} remove True if you want to remove listeners, false if you want to add.\n\t * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.\n\t * @param {Function[]} [listeners] An optional array of listener functions to add/remove.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {\n\t\tvar i;\n\t\tvar value;\n\t\tvar single = remove ? this.removeListener : this.addListener;\n\t\tvar multiple = remove ? this.removeListeners : this.addListeners;\n\n\t\t// If evt is an object then pass each of it's properties to this method\n\t\tif (typeof evt === 'object' && !(evt instanceof RegExp)) {\n\t\t\tfor (i in evt) {\n\t\t\t\tif (evt.hasOwnProperty(i) && (value = evt[i])) {\n\t\t\t\t\t// Pass the single listener straight through to the singular method\n\t\t\t\t\tif (typeof value === 'function') {\n\t\t\t\t\t\tsingle.call(this, i, value);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// Otherwise pass back to the multiple function\n\t\t\t\t\t\tmultiple.call(this, i, value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\t// So evt must be a string\n\t\t\t// And listeners must be an array of listeners\n\t\t\t// Loop over it and pass each one to the multiple method\n\t\t\ti = listeners.length;\n\t\t\twhile (i--) {\n\t\t\t\tsingle.call(this, evt, listeners[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Removes all listeners from a specified event.\n\t * If you do not specify an event then all listeners will be removed.\n\t * That means every event will be emptied.\n\t * You can also pass a regex to remove all events that match it.\n\t *\n\t * @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.removeEvent = function removeEvent(evt) {\n\t\tvar type = typeof evt;\n\t\tvar events = this._getEvents();\n\t\tvar key;\n\n\t\t// Remove different things depending on the state of evt\n\t\tif (type === 'string') {\n\t\t\t// Remove all listeners for the specified event\n\t\t\tdelete events[evt];\n\t\t}\n\t\telse if (evt instanceof RegExp) {\n\t\t\t// Remove all events matching the regex.\n\t\t\tfor (key in events) {\n\t\t\t\tif (events.hasOwnProperty(key) && evt.test(key)) {\n\t\t\t\t\tdelete events[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\t// Remove all listeners in all events\n\t\t\tdelete this._events;\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Alias of removeEvent.\n\t *\n\t * Added to mirror the node API.\n\t */\n\tproto.removeAllListeners = alias('removeEvent');\n\n\t/**\n\t * Emits an event of your choice.\n\t * When emitted, every listener attached to that event will be executed.\n\t * If you pass the optional argument array then those arguments will be passed to every listener upon execution.\n\t * Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.\n\t * So they will not arrive within the array on the other side, they will be separate.\n\t * You can also pass a regular expression to emit to all events that match it.\n\t *\n\t * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n\t * @param {Array} [args] Optional array of arguments to be passed to each listener.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.emitEvent = function emitEvent(evt, args) {\n\t\tvar listeners = this.getListenersAsObject(evt);\n\t\tvar listener;\n\t\tvar i;\n\t\tvar key;\n\t\tvar response;\n\n\t\tfor (key in listeners) {\n\t\t\tif (listeners.hasOwnProperty(key)) {\n\t\t\t\ti = listeners[key].length;\n\n\t\t\t\twhile (i--) {\n\t\t\t\t\t// If the listener returns true then it shall be removed from the event\n\t\t\t\t\t// The function is executed either with a basic call or an apply if there is an args array\n\t\t\t\t\tlistener = listeners[key][i];\n\n\t\t\t\t\tif (listener.once === true) {\n\t\t\t\t\t\tthis.removeListener(evt, listener.listener);\n\t\t\t\t\t}\n\n\t\t\t\t\tresponse = listener.listener.apply(this, args || []);\n\n\t\t\t\t\tif (response === this._getOnceReturnValue()) {\n\t\t\t\t\t\tthis.removeListener(evt, listener.listener);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Alias of emitEvent\n\t */\n\tproto.trigger = alias('emitEvent');\n\n\t/**\n\t * Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.\n\t * As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.\n\t *\n\t * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n\t * @param {...*} Optional additional arguments to be passed to each listener.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.emit = function emit(evt) {\n\t\tvar args = Array.prototype.slice.call(arguments, 1);\n\t\treturn this.emitEvent(evt, args);\n\t};\n\n\t/**\n\t * Sets the current value to check against when executing listeners. If a\n\t * listeners return value matches the one set here then it will be removed\n\t * after execution. This value defaults to true.\n\t *\n\t * @param {*} value The new value to check for when executing listeners.\n\t * @return {Object} Current instance of EventEmitter for chaining.\n\t */\n\tproto.setOnceReturnValue = function setOnceReturnValue(value) {\n\t\tthis._onceReturnValue = value;\n\t\treturn this;\n\t};\n\n\t/**\n\t * Fetches the current value to check against when executing listeners. If\n\t * the listeners return value matches this one then it should be removed\n\t * automatically. It will return true by default.\n\t *\n\t * @return {*|Boolean} The current value to check for or the default, true.\n\t * @api private\n\t */\n\tproto._getOnceReturnValue = function _getOnceReturnValue() {\n\t\tif (this.hasOwnProperty('_onceReturnValue')) {\n\t\t\treturn this._onceReturnValue;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\t/**\n\t * Fetches the events object and creates one if required.\n\t *\n\t * @return {Object} The events storage object.\n\t * @api private\n\t */\n\tproto._getEvents = function _getEvents() {\n\t\treturn this._events || (this._events = {});\n\t};\n\n\t/**\n\t * Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.\n\t *\n\t * @return {Function} Non conflicting EventEmitter class.\n\t */\n\tEventEmitter.noConflict = function noConflict() {\n\t\texports.EventEmitter = originalGlobalValue;\n\t\treturn EventEmitter;\n\t};\n\n\treturn EventEmitter;\n}());\n/* jshint ignore:end */\n\n\n\n\tvar validateTypeFunction = function( value, name ) {\n\t\tvalidateType( value, name, typeof value === \"undefined\" || typeof value === \"function\", \"Function\" );\n\t};\n\n\n\n\n\tvar superGet, superInit,\n\t\tglobalEe = new EventEmitter();\n\n\tfunction validateTypeEvent( value, name ) {\n\t\tvalidateType( value, name, typeof value === \"string\" || value instanceof RegExp, \"String or RegExp\" );\n\t}\n\n\tfunction validateThenCall( method, self ) {\n\t\treturn function( event, listener ) {\n\t\t\tvalidatePresence( event, \"event\" );\n\t\t\tvalidateTypeEvent( event, \"event\" );\n\n\t\t\tvalidatePresence( listener, \"listener\" );\n\t\t\tvalidateTypeFunction( listener, \"listener\" );\n\n\t\t\treturn self[ method ].apply( self, arguments );\n\t\t};\n\t}\n\n\tfunction off( self ) {\n\t\treturn validateThenCall( \"off\", self );\n\t}\n\n\tfunction on( self ) {\n\t\treturn validateThenCall( \"on\", self );\n\t}\n\n\tfunction once( self ) {\n\t\treturn validateThenCall( \"once\", self );\n\t}\n\n\tCldr.off = off( globalEe );\n\tCldr.on = on( globalEe );\n\tCldr.once = once( globalEe );\n\n\t/**\n\t * Overload Cldr.prototype.init().\n\t */\n\tsuperInit = Cldr.prototype.init;\n\tCldr.prototype.init = function() {\n\t\tvar ee;\n\t\tthis.ee = ee = new EventEmitter();\n\t\tthis.off = off( ee );\n\t\tthis.on = on( ee );\n\t\tthis.once = once( ee );\n\t\tsuperInit.apply( this, arguments );\n\t};\n\n\t/**\n\t * getOverload is encapsulated, because of cldr/unresolved. If it's loaded\n\t * after cldr/event (and note it overwrites .get), it can trigger this\n\t * overload again.\n\t */\n\tfunction getOverload() {\n\n\t\t/**\n\t\t * Overload Cldr.prototype.get().\n\t\t */\n\t\tsuperGet = Cldr.prototype.get;\n\t\tCldr.prototype.get = function( path ) {\n\t\t\tvar value = superGet.apply( this, arguments );\n\t\t\tpath = pathNormalize( path, this.attributes ).join( \"/\" );\n\t\t\tglobalEe.trigger( \"get\", [ path, value ] );\n\t\t\tthis.ee.trigger( \"get\", [ path, value ] );\n\t\t\treturn value;\n\t\t};\n\t}\n\n\tCldr._eventInit = getOverload;\n\tgetOverload();\n\n\treturn Cldr;\n\n\n\n\n}));\n","/**\n * CLDR JavaScript Library v0.5.4\n * http://jquery.com/\n *\n * Copyright 2013 Rafael Xavier de Souza\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2020-10-22T15:56Z\n */\n/*!\n * CLDR JavaScript Library v0.5.4 2020-10-22T15:56Z MIT license © Rafael Xavier\n * http://git.io/h4lmVg\n */\n(function( factory ) {\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD.\n\t\tdefine( [ \"../cldr\" ], factory );\n\t} else if ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// Node. CommonJS.\n\t\tmodule.exports = factory( require( \"../cldr\" ) );\n\t} else {\n\t\t// Global\n\t\tfactory( Cldr );\n\t}\n\n}(function( Cldr ) {\n\n\t// Build optimization hack to avoid duplicating functions across modules.\n\tvar alwaysArray = Cldr._alwaysArray;\n\n\n\n\tvar supplementalMain = function( cldr ) {\n\n\t\tvar prepend, supplemental;\n\t\t\n\t\tprepend = function( prepend ) {\n\t\t\treturn function( path ) {\n\t\t\t\tpath = alwaysArray( path );\n\t\t\t\treturn cldr.get( [ prepend ].concat( path ) );\n\t\t\t};\n\t\t};\n\n\t\tsupplemental = prepend( \"supplemental\" );\n\n\t\t// Week Data\n\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Week_Data\n\t\tsupplemental.weekData = prepend( \"supplemental/weekData\" );\n\n\t\tsupplemental.weekData.firstDay = function() {\n\t\t\treturn cldr.get( \"supplemental/weekData/firstDay/{territory}\" ) ||\n\t\t\t\tcldr.get( \"supplemental/weekData/firstDay/001\" );\n\t\t};\n\n\t\tsupplemental.weekData.minDays = function() {\n\t\t\tvar minDays = cldr.get( \"supplemental/weekData/minDays/{territory}\" ) ||\n\t\t\t\tcldr.get( \"supplemental/weekData/minDays/001\" );\n\t\t\treturn parseInt( minDays, 10 );\n\t\t};\n\n\t\t// Time Data\n\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data\n\t\tsupplemental.timeData = prepend( \"supplemental/timeData\" );\n\n\t\tsupplemental.timeData.allowed = function() {\n\t\t\treturn cldr.get( \"supplemental/timeData/{territory}/_allowed\" ) ||\n\t\t\t\tcldr.get( \"supplemental/timeData/001/_allowed\" );\n\t\t};\n\n\t\tsupplemental.timeData.preferred = function() {\n\t\t\treturn cldr.get( \"supplemental/timeData/{territory}/_preferred\" ) ||\n\t\t\t\tcldr.get( \"supplemental/timeData/001/_preferred\" );\n\t\t};\n\n\t\treturn supplemental;\n\n\t};\n\n\n\n\n\tvar initSuper = Cldr.prototype.init;\n\n\t/**\n\t * .init() automatically ran on construction.\n\t *\n\t * Overload .init().\n\t */\n\tCldr.prototype.init = function() {\n\t\tinitSuper.apply( this, arguments );\n\t\tthis.supplemental = supplementalMain( this );\n\t};\n\n\treturn Cldr;\n\n\n\n\n}));\n","/**\n * CLDR JavaScript Library v0.5.4\n * http://jquery.com/\n *\n * Copyright 2013 Rafael Xavier de Souza\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2020-10-22T15:56Z\n */\n/*!\n * CLDR JavaScript Library v0.5.4 2020-10-22T15:56Z MIT license © Rafael Xavier\n * http://git.io/h4lmVg\n */\n(function( factory ) {\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD.\n\t\tdefine( [ \"../cldr\" ], factory );\n\t} else if ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// Node. CommonJS.\n\t\tmodule.exports = factory( require( \"../cldr\" ) );\n\t} else {\n\t\t// Global\n\t\tfactory( Cldr );\n\t}\n\n}(function( Cldr ) {\n\n\t// Build optimization hack to avoid duplicating functions across modules.\n\tvar coreLoad = Cldr._coreLoad;\n\tvar jsonMerge = Cldr._jsonMerge;\n\tvar pathNormalize = Cldr._pathNormalize;\n\tvar resourceGet = Cldr._resourceGet;\n\tvar validatePresence = Cldr._validatePresence;\n\tvar validateTypePath = Cldr._validateTypePath;\n\n\n\n\tvar bundleParentLookup = function( Cldr, locale ) {\n\t\tvar normalizedPath, parent;\n\n\t\tif ( locale === \"root\" ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// First, try to find parent on supplemental data.\n\t\tnormalizedPath = pathNormalize( [ \"supplemental/parentLocales/parentLocale\", locale ] );\n\t\tparent = resourceGet( Cldr._resolved, normalizedPath ) || resourceGet( Cldr._raw, normalizedPath );\n\t\tif ( parent ) {\n\t\t\treturn parent;\n\t\t}\n\n\t\t// Or truncate locale.\n\t\tparent = locale.substr( 0, locale.lastIndexOf( Cldr.localeSep ) );\n\t\tif ( !parent ) {\n\t\t\treturn \"root\";\n\t\t}\n\n\t\treturn parent;\n\t};\n\n\n\n\n\t// @path: normalized path\n\tvar resourceSet = function( data, path, value ) {\n\t\tvar i,\n\t\t\tnode = data,\n\t\t\tlength = path.length;\n\n\t\tfor ( i = 0; i < length - 1; i++ ) {\n\t\t\tif ( !node[ path[ i ] ] ) {\n\t\t\t\tnode[ path[ i ] ] = {};\n\t\t\t}\n\t\t\tnode = node[ path[ i ] ];\n\t\t}\n\t\tnode[ path[ i ] ] = value;\n\t};\n\n\n\tvar itemLookup = (function() {\n\n\tvar lookup;\n\n\tlookup = function( Cldr, locale, path, attributes, childLocale ) {\n\t\tvar normalizedPath, parent, value;\n\n\t\t// 1: Finish recursion\n\t\t// 2: Avoid infinite loop\n\t\tif ( typeof locale === \"undefined\" /* 1 */ || locale === childLocale /* 2 */ ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Resolve path\n\t\tnormalizedPath = pathNormalize( path, attributes );\n\n\t\t// Check resolved (cached) data first\n\t\t// 1: Due to #16, never use the cached resolved non-leaf nodes. It may not\n\t\t// represent its leafs in its entirety.\n\t\tvalue = resourceGet( Cldr._resolved, normalizedPath );\n\t\tif ( value !== undefined && typeof value !== \"object\" /* 1 */ ) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Check raw data\n\t\tvalue = resourceGet( Cldr._raw, normalizedPath );\n\n\t\tif ( value === undefined ) {\n\t\t\t// Or, lookup at parent locale\n\t\t\tparent = bundleParentLookup( Cldr, locale );\n\t\t\tvalue = lookup( Cldr, parent, path, jsonMerge( attributes, { bundle: parent }), locale );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\t// Set resolved (cached)\n\t\t\tresourceSet( Cldr._resolved, normalizedPath, value );\n\t\t}\n\n\t\treturn value;\n\t};\n\n\treturn lookup;\n\n}());\n\n\n\tCldr._raw = {};\n\n\t/**\n\t * Cldr.load( json [, json, ...] )\n\t *\n\t * @json [JSON] CLDR data or [Array] Array of @json's.\n\t *\n\t * Load resolved or unresolved cldr data.\n\t * Overwrite Cldr.load().\n\t */\n\tCldr.load = function() {\n\t\tCldr._raw = coreLoad( Cldr, Cldr._raw, arguments );\n\t};\n\n\t/**\n\t * Overwrite Cldr.prototype.get().\n\t */\n\tCldr.prototype.get = function( path ) {\n\t\tvalidatePresence( path, \"path\" );\n\t\tvalidateTypePath( path, \"path\" );\n\n\t\t// 1: use bundle as locale on item lookup for simplification purposes, because no other extended subtag is used anyway on bundle parent lookup.\n\t\t// 2: during init(), this method is called, but bundle is yet not defined. Use \"\" as a workaround in this very specific scenario.\n\t\treturn itemLookup( Cldr, this.attributes && this.attributes.bundle /* 1 */ || \"\" /* 2 */, path, this.attributes );\n\t};\n\n\t// In case cldr/unresolved is loaded after cldr/event, we trigger its overloads again. Because, .get is overwritten in here.\n\tif ( Cldr._eventInit ) {\n\t\tCldr._eventInit();\n\t}\n\n\treturn Cldr;\n\n\n\n\n}));\n","/**\n * CLDR JavaScript Library v0.5.4\n * http://jquery.com/\n *\n * Copyright 2013 Rafael Xavier de Souza\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2020-10-22T15:56Z\n */\n/*!\n * CLDR JavaScript Library v0.5.4 2020-10-22T15:56Z MIT license © Rafael Xavier\n * http://git.io/h4lmVg\n */\n\n// Cldr\nmodule.exports = require( \"./cldr\" );\n\n// Extent Cldr with the following modules\nrequire( \"./cldr/event\" );\nrequire( \"./cldr/supplemental\" );\nrequire( \"./cldr/unresolved\" );\n","/*!\n * clipboard.js v2.0.4\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clipboardAction = __webpack_require__(1);\n\nvar _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\nvar _tinyEmitter = __webpack_require__(3);\n\nvar _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\nvar _goodListener = __webpack_require__(4);\n\nvar _goodListener2 = _interopRequireDefault(_goodListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\nvar Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(_tinyEmitter2.default);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\nmodule.exports = Clipboard;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _select = __webpack_require__(2);\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\nvar ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\nmodule.exports = ClipboardAction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(5);\nvar delegate = __webpack_require__(6);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(7);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ })\n/******/ ]);\n});","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\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');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\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 TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\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_REQUIRED = false;\nvar NAME, Constructor, Prototype;\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 BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\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 (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\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 && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[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 defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\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 && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = 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_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\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 = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\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, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(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 DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\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 var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.length != 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\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\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\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 $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(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 toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\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 deletePropertyOrThrow(O, to);\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\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","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, 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 = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(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","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` 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 IS_FILTER_REJECT = TYPE == 7;\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);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? 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(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\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.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(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} : $lastIndexOf;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","var aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\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.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\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 } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\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 uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\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' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\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 Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\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 (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\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 defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-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 // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\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 // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\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 // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, 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 createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind == 'keys') return createIterResultObject(entry.key, false);\n if (kind == 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\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) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\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 defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\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 && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\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 && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\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 // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\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 uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\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 -- required for testing\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, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: 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, constructor: 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 hasOwn = require('../internals/has-own-property');\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, exceptions) {\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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\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 (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\n\nvar $TypeError = TypeError;\n\n// `Date.prototype[@@toPrimitive](hint)` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive\nmodule.exports = function (hint) {\n anObject(this);\n if (hint === 'string' || hint === 'default') hint = 'string';\n else if (hint !== 'number') throw $TypeError('Incorrect hint');\n return ordinaryToPrimitive(this, hint);\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return 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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\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] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\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 defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, 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 FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\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: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\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) : false;\n var element, elementLen;\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 elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = function (fn) {\n return NATIVE_BIND ? uncurryThisWithBind(fn) : function () {\n return call.apply(fn, arguments);\n };\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (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 replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 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 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\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 = $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 -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 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 while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\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 while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\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","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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 -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar 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 isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\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 (!hasOwn(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 (!hasOwn(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 && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\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 || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var classof = require('../internals/classof');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar slice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return slice(classof(it), 0, 3) === 'Big';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var hasOwn = require('../internals/has-own-property');\n\nmodule.exports = function (descriptor) {\n return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable'));\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\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.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\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, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-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 defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\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\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\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\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","// eslint-disable-next-line es/no-math-expm1 -- safe\nvar $expm1 = Math.expm1;\nvar exp = Math.exp;\n\n// `Math.expm1` method implementation\n// https://tc39.es/ecma262/#sec-math.expm1\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n var n = +x;\n return n == 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1;\n} : $expm1;\n","var sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n var n = +x;\n var $abs = abs(n);\n var $sign = sign(n);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","var log = Math.log;\nvar LOG10E = Math.LOG10E;\n\n// eslint-disable-next-line es/no-math-log10 -- safe\nmodule.exports = Math.log10 || function log10(x) {\n return log(x) * LOG10E;\n};\n","var log = Math.log;\n\n// `Math.log1p` method implementation\n// https://tc39.es/ecma262/#sec-math.log1p\n// eslint-disable-next-line es/no-math-log1p -- safe\nmodule.exports = Math.log1p || function log1p(x) {\n var n = +x;\n return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n);\n};\n","// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n == 0 || n != n ? n : n < 0 ? -1 : 1;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\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 // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\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 (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(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","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\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 = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar $parseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : $parseFloat;\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar hex = /^[+-]?0x/i;\nvar exec = uncurryThis(hex.exec);\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(toString(string));\n return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));\n} : $parseInt;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\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\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(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 es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\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 ? concat(objectKeys(S), 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 || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\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.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\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 $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\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) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n // This feature detection crashes old WebKit\n // https://github.com/zloirock/core-js/issues/232\n if (WEBKIT && WEBKIT < 535) return;\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call, es/no-legacy-object-prototype-accessor-methods -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(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(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\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.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\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","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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 (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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 || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\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 NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar 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 || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(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 = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], 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't work for /(.?)?/\n call(nativeReplace, 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 if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\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.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/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","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\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;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\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 = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((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 push(output, value);\n counter--;\n }\n } else {\n push(output, 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 while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\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 */\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 push(output, fromCharCode(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 push(output, 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 var k = base;\n while (true) {\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 push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $RangeError = RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(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 $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.{ trimEnd, trimRight }` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\nmodule.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() {\n return $trimEnd(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimEnd;\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar 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]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.{ trimStart, trimLeft }` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\nmodule.exports = forcedStringTrimMethod('trimStart') ? function trimStart() {\n return $trimStart(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimStart;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\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 = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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 (IS_NODE) {\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);\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 isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(post)\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 uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\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 isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\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 enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\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 aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new 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 isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(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, TypedArrayConstructorPrototype);\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 call(typedArrayFrom, 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, TypedArrayConstructorPrototype);\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 call(typedArrayFrom, 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 enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, 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","/* eslint-disable no-new -- required for testing */\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 arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar toBigInt = require('../internals/to-big-int');\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\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, thisIsBigIntArray, value, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n thisIsBigIntArray = isBigIntArray(result);\n for (i = 0; length > i; i++) {\n value = mapping ? mapfn(O[i], i) : O[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n result[i] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n return result;\n};\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\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 // eslint-disable-next-line unicorn/relative-url-style -- required for testing\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","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anObject = require('../internals/an-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar DataViewPrototype = DataView.prototype;\nvar nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice);\nvar getUint8 = uncurryThis(DataViewPrototype.getUint8);\nvar setUint8 = uncurryThis(DataViewPrototype.setUint8);\n\nvar INCORRECT_SLICE = fails(function () {\n return !new ArrayBuffer(2).slice(1, undefined).byteLength;\n});\n\n// `ArrayBuffer.prototype.slice` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice\n$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {\n slice: function slice(start, end) {\n if (nativeArrayBufferSlice && end === undefined) {\n return nativeArrayBufferSlice(anObject(this), start); // FF fix\n }\n var length = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));\n var viewSource = new DataView(this);\n var viewTarget = new DataView(result);\n var index = 0;\n while (first < fin) {\n setUint8(viewTarget, index++, getUint8(viewSource, first++));\n } return result;\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 lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\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');\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.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\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 = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var $ = require('../internals/export');\nvar copyWithin = require('../internals/array-copy-within');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n$({ target: 'Array', proto: true }, {\n copyWithin: copyWithin\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('copyWithin');\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.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\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.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\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.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\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 = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\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 // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf(this, searchElement, fromIndex) || 0\n : $indexOf(this, searchElement, fromIndex);\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\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.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/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.es/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 createIterResultObject(undefined, true);\n }\n if (kind == 'keys') return createIterResultObject(index, false);\n if (kind == 'values') return createIterResultObject(target[index], false);\n return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","var $ = require('../internals/export');\nvar lastIndexOf = require('../internals/array-last-index-of');\n\n// `Array.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\n// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing\n$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {\n lastIndexOf: lastIndexOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isConstructor = require('../internals/is-constructor');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\n\nvar ISNT_GENERIC = fails(function () {\n function F() { /* empty */ }\n // eslint-disable-next-line es/no-array-of -- safe\n return !($Array.of.call(F) instanceof F);\n});\n\n// `Array.of` method\n// https://tc39.es/ecma262/#sec-array.of\n// WebKit Array.of isn't generic\n$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {\n of: function of(/* ...args */) {\n var index = 0;\n var argumentsLength = arguments.length;\n var result = new (isConstructor(this) ? this : $Array)(argumentsLength);\n while (argumentsLength > index) createProperty(result, index, arguments[index++]);\n result.length = argumentsLength;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = uncurryThis([].reverse);\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign -- dirty hack\n if (isArray(this)) this.length = this.length;\n return nativeReverse(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/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 }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\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 (isConstructor(Constructor) && (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(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","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","var setSpecies = require('../internals/set-species');\n\n// `Array[@@species]` getter\n// https://tc39.es/ecma262/#sec-get-array-@@species\nsetSpecies('Array');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\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(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\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 deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(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 deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\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\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\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\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","var hasOwn = require('../internals/has-own-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar dateToPrimitive = require('../internals/date-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar DatePrototype = Date.prototype;\n\n// `Date.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive\nif (!hasOwn(DatePrototype, TO_PRIMITIVE)) {\n defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive);\n}\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar makeBuiltIn = require('../internals/make-built-in');\n\nvar HAS_INSTANCE = wellKnownSymbol('hasInstance');\nvar FunctionPrototype = Function.prototype;\n\n// `Function.prototype[@@hasInstance]` method\n// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance\nif (!(HAS_INSTANCE in FunctionPrototype)) {\n definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) {\n if (!isCallable(this) || !isObject(O)) return false;\n var P = this.prototype;\n if (!isObject(P)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (P === O) return true;\n return false;\n }, HAS_INSTANCE) });\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('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// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $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 (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.map.constructor');\n","var $ = require('../internals/export');\nvar log1p = require('../internals/math-log1p');\n\n// eslint-disable-next-line es/no-math-acosh -- required for testing\nvar $acosh = Math.acosh;\nvar log = Math.log;\nvar sqrt = Math.sqrt;\nvar LN2 = Math.LN2;\n\nvar FORCED = !$acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n || Math.floor($acosh(Number.MAX_VALUE)) != 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n || $acosh(Infinity) != Infinity;\n\n// `Math.acosh` method\n// https://tc39.es/ecma262/#sec-math.acosh\n$({ target: 'Math', stat: true, forced: FORCED }, {\n acosh: function acosh(x) {\n var n = +x;\n return n < 1 ? NaN : n > 94906265.62425156\n ? log(n) + LN2\n : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1));\n }\n});\n","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-asinh -- required for testing\nvar $asinh = Math.asinh;\nvar log = Math.log;\nvar sqrt = Math.sqrt;\n\nfunction asinh(x) {\n var n = +x;\n return !isFinite(n) || n == 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1));\n}\n\n// `Math.asinh` method\n// https://tc39.es/ecma262/#sec-math.asinh\n// Tor Browser bug: Math.asinh(0) -> -0\n$({ target: 'Math', stat: true, forced: !($asinh && 1 / $asinh(0) > 0) }, {\n asinh: asinh\n});\n","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-atanh -- required for testing\nvar $atanh = Math.atanh;\nvar log = Math.log;\n\n// `Math.atanh` method\n// https://tc39.es/ecma262/#sec-math.atanh\n// Tor Browser bug: Math.atanh(-0) -> 0\n$({ target: 'Math', stat: true, forced: !($atanh && 1 / $atanh(-0) < 0) }, {\n atanh: function atanh(x) {\n var n = +x;\n return n == 0 ? n : log((1 + n) / (1 - n)) / 2;\n }\n});\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\nvar pow = Math.pow;\n\n// `Math.cbrt` method\n// https://tc39.es/ecma262/#sec-math.cbrt\n$({ target: 'Math', stat: true }, {\n cbrt: function cbrt(x) {\n var n = +x;\n return sign(n) * pow(abs(n), 1 / 3);\n }\n});\n","var $ = require('../internals/export');\n\nvar floor = Math.floor;\nvar log = Math.log;\nvar LOG2E = Math.LOG2E;\n\n// `Math.clz32` method\n// https://tc39.es/ecma262/#sec-math.clz32\n$({ target: 'Math', stat: true }, {\n clz32: function clz32(x) {\n var n = x >>> 0;\n return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32;\n }\n});\n","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\n// eslint-disable-next-line es/no-math-cosh -- required for testing\nvar $cosh = Math.cosh;\nvar abs = Math.abs;\nvar E = Math.E;\n\n// `Math.cosh` method\n// https://tc39.es/ecma262/#sec-math.cosh\n$({ target: 'Math', stat: true, forced: !$cosh || $cosh(710) === Infinity }, {\n cosh: function cosh(x) {\n var t = expm1(abs(x) - 1) + 1;\n return (t + 1 / (t * E * E)) * (E / 2);\n }\n});\n","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\n// `Math.expm1` method\n// https://tc39.es/ecma262/#sec-math.expm1\n// eslint-disable-next-line es/no-math-expm1 -- required for testing\n$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 });\n","var $ = require('../internals/export');\nvar fround = require('../internals/math-fround');\n\n// `Math.fround` method\n// https://tc39.es/ecma262/#sec-math.fround\n$({ target: 'Math', stat: true }, { fround: fround });\n","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-hypot -- required for testing\nvar $hypot = Math.hypot;\nvar abs = Math.abs;\nvar sqrt = Math.sqrt;\n\n// Chrome 77 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=9546\nvar BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;\n\n// `Math.hypot` method\n// https://tc39.es/ecma262/#sec-math.hypot\n$({ target: 'Math', stat: true, arity: 2, forced: BUGGY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n hypot: function hypot(value1, value2) {\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * sqrt(sum);\n }\n});\n","var $ = require('../internals/export');\nvar log10 = require('../internals/math-log10');\n\n// `Math.log10` method\n// https://tc39.es/ecma262/#sec-math.log10\n$({ target: 'Math', stat: true }, {\n log10: log10\n});\n","var $ = require('../internals/export');\nvar log1p = require('../internals/math-log1p');\n\n// `Math.log1p` method\n// https://tc39.es/ecma262/#sec-math.log1p\n$({ target: 'Math', stat: true }, { log1p: log1p });\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.es/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar expm1 = require('../internals/math-expm1');\n\nvar abs = Math.abs;\nvar exp = Math.exp;\nvar E = Math.E;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-math-sinh -- required for testing\n return Math.sinh(-2e-17) != -2e-17;\n});\n\n// `Math.sinh` method\n// https://tc39.es/ecma262/#sec-math.sinh\n// V8 near Chromium 38 has a problem with very small numbers\n$({ target: 'Math', stat: true, forced: FORCED }, {\n sinh: function sinh(x) {\n var n = +x;\n return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2);\n }\n});\n","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\nvar exp = Math.exp;\n\n// `Math.tanh` method\n// https://tc39.es/ecma262/#sec-math.tanh\n$({ target: 'Math', stat: true }, {\n tanh: function tanh(x) {\n var n = +x;\n var a = expm1(n);\n var b = expm1(-n);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(n) + exp(-n));\n }\n});\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\nvar trunc = require('../internals/math-trunc');\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n$({ target: 'Math', stat: true }, {\n trunc: trunc\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\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 thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 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 = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, 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.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\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,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n defineBuiltIn(global, NUMBER, NumberWrapper, { constructor: true });\n}\n","var $ = require('../internals/export');\n\n// `Number.EPSILON` constant\n// https://tc39.es/ecma262/#sec-number.epsilon\n$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, {\n EPSILON: Math.pow(2, -52)\n});\n","var $ = require('../internals/export');\nvar isIntegralNumber = require('../internals/is-integral-number');\n\n// `Number.isInteger` method\n// https://tc39.es/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isIntegralNumber\n});\n","var $ = require('../internals/export');\nvar isIntegralNumber = require('../internals/is-integral-number');\n\nvar abs = Math.abs;\n\n// `Number.isSafeInteger` method\n// https://tc39.es/ecma262/#sec-number.issafeinteger\n$({ target: 'Number', stat: true }, {\n isSafeInteger: function isSafeInteger(number) {\n return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF;\n }\n});\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","var $ = require('../internals/export');\n\n// `Number.MIN_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.min_safe_integer\n$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, {\n MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF\n});\n","var $ = require('../internals/export');\nvar parseFloat = require('../internals/number-parse-float');\n\n// `Number.parseFloat` method\n// https://tc39.es/ecma262/#sec-number.parseFloat\n// eslint-disable-next-line es/no-number-parsefloat -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {\n parseFloat: parseFloat\n});\n","var $ = require('../internals/export');\nvar parseInt = require('../internals/number-parse-int');\n\n// `Number.parseInt` method\n// https://tc39.es/ecma262/#sec-number.parseint\n// eslint-disable-next-line es/no-number-parseint -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {\n parseInt: parseInt\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar thisNumberValue = require('../internals/this-number-value');\nvar $repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar $RangeError = RangeError;\nvar $String = String;\nvar floor = Math.floor;\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar nativeToFixed = uncurryThis(1.0.toFixed);\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 multiply = function (data, 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\nvar divide = function (data, 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\nvar dataToString = function (data) {\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('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = fails(function () {\n return nativeToFixed(0.00008, 3) !== '0.000' ||\n nativeToFixed(0.9, 0) !== '1' ||\n nativeToFixed(1.255, 2) !== '1.25' ||\n nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128';\n}) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toIntegerOrInfinity(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 // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation\n if (fractDigits < 0 || fractDigits > 20) throw $RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare -- NaN check\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(data, 0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(data, 1e7, 0);\n j -= 7;\n }\n multiply(data, pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(data, 1 << 23);\n j -= 23;\n }\n divide(data, 1 << j);\n multiply(data, 1, 1);\n divide(data, 2);\n result = dataToString(data);\n } else {\n multiply(data, 0, z);\n multiply(data, 1 << -e, 0);\n result = dataToString(data) + repeat('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat('0', fractDigits - k) + result\n : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });\n }\n });\n}\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\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\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\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.es/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 $ = 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.es/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 fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n// eslint-disable-next-line es/no-object-isextensible -- safe\n$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, {\n isExtensible: $isExtensible\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE }, {\n isFrozen: function isFrozen(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return true;\n return $isFrozen ? $isFrozen(it) : false;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE }, {\n isSealed: function isSealed(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return true;\n return $isSealed ? $isSealed(it) : false;\n }\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.es/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 DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-preventextensions -- safe\nvar $preventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-seal -- safe\nvar $seal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return $seal && isObject(it) ? $seal(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var $ = require('../internals/export');\nvar $parseFloat = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != $parseFloat }, {\n parseFloat: $parseFloat\n});\n","var $ = require('../internals/export');\nvar $parseInt = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != $parseInt }, {\n parseInt: $parseInt\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\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;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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(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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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 (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\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 (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (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(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === 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 call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/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 = isCallable(onFinally);\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// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var $ = require('../internals/export');\nvar functionApply = require('../internals/function-apply');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\n\n// MS Edge argumentsList argument is optional\nvar OPTIONAL_ARGUMENTS_LIST = !fails(function () {\n // eslint-disable-next-line es/no-reflect -- required for testing\n Reflect.apply(function () { /* empty */ });\n});\n\n// `Reflect.apply` method\n// https://tc39.es/ecma262/#sec-reflect.apply\n$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {\n apply: function apply(target, thisArgument, argumentsList) {\n return functionApply(aCallable(target), thisArgument, anObject(argumentsList));\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar fails = require('../internals/fails');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\nvar ERROR_INSTEAD_OF_FALSE = fails(function () {\n // eslint-disable-next-line es/no-reflect -- required for testing\n Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });\n});\n\n// `Reflect.defineProperty` method\n// https://tc39.es/ecma262/#sec-reflect.defineproperty\n$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n var key = toPropertyKey(propertyKey);\n anObject(attributes);\n try {\n definePropertyModule.f(target, key, attributes);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Reflect.deleteProperty` method\n// https://tc39.es/ecma262/#sec-reflect.deleteproperty\n$({ target: 'Reflect', stat: true }, {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);\n return descriptor && !descriptor.configurable ? false : delete target[propertyKey];\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\n\n// `Reflect.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor\n$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\n// `Reflect.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.getprototypeof\n$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(target) {\n return objectGetPrototypeOf(anObject(target));\n }\n});\n","var $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar isDataDescriptor = require('../internals/is-data-descriptor');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.es/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey);\n if (descriptor) return isDataDescriptor(descriptor)\n ? descriptor.value\n : descriptor.get === undefined ? undefined : call(descriptor.get, receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","var $ = require('../internals/export');\n\n// `Reflect.has` method\n// https://tc39.es/ecma262/#sec-reflect.has\n$({ target: 'Reflect', stat: true }, {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Reflect.isExtensible` method\n// https://tc39.es/ecma262/#sec-reflect.isextensible\n$({ target: 'Reflect', stat: true }, {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible(target);\n }\n});\n","var $ = require('../internals/export');\nvar ownKeys = require('../internals/own-keys');\n\n// `Reflect.ownKeys` method\n// https://tc39.es/ecma262/#sec-reflect.ownkeys\n$({ target: 'Reflect', stat: true }, {\n ownKeys: ownKeys\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar FREEZING = require('../internals/freezing');\n\n// `Reflect.preventExtensions` method\n// https://tc39.es/ecma262/#sec-reflect.preventextensions\n$({ target: 'Reflect', stat: true, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');\n if (objectPreventExtensions) objectPreventExtensions(target);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\nvar objectSetPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Reflect.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.setprototypeof\nif (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n anObject(target);\n aPossiblePrototype(proto);\n try {\n objectSetPrototypeOf(target, proto);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar isDataDescriptor = require('../internals/is-data-descriptor');\nvar fails = require('../internals/fails');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\n// `Reflect.set` method\n// https://tc39.es/ecma262/#sec-reflect.set\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n var existingDescriptor, prototype, setter;\n if (!ownDescriptor) {\n if (isObject(prototype = getPrototypeOf(target))) {\n return set(prototype, propertyKey, V, receiver);\n }\n ownDescriptor = createPropertyDescriptor(0);\n }\n if (isDataDescriptor(ownDescriptor)) {\n if (ownDescriptor.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n definePropertyModule.f(receiver, propertyKey, existingDescriptor);\n } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));\n } else {\n setter = ownDescriptor.set;\n if (setter === undefined) return false;\n call(setter, receiver, V);\n } return true;\n}\n\n// MS Edge 17-18 Reflect.set allows setting the property to object\n// with non-writable property on the prototype\nvar MS_EDGE_BUG = fails(function () {\n var Constructor = function () { /* empty */ };\n var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true });\n // eslint-disable-next-line es/no-reflect -- required for testing\n return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;\n});\n\n$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {\n set: set\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\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 MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || 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\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(global, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-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 = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\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\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar nativeEndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\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.es/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 = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return nativeEndsWith\n ? nativeEndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\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.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/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 createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\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 = toString(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';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.es/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toObject = require('../internals/to-object');\nvar toString = require('../internals/to-string');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar push = uncurryThis([].push);\nvar join = uncurryThis([].join);\n\n// `String.raw` method\n// https://tc39.es/ecma262/#sec-string.raw\n$({ target: 'String', stat: true }, {\n raw: function raw(template) {\n var rawTemplate = toIndexedObject(toObject(template).raw);\n var literalSegments = lengthOfArrayLike(rawTemplate);\n var argumentsLength = arguments.length;\n var elements = [];\n var i = 0;\n while (literalSegments > i) {\n push(elements, toString(rawTemplate[i++]));\n if (i === literalSegments) return join(elements, '');\n if (i < argumentsLength) push(elements, toString(arguments[i]));\n }\n }\n});\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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 // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(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 push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\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 toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\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 // eslint-disable-next-line regexp/no-empty-group -- required for testing\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\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\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 = toString(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 call(nativeSplit, 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 = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 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 || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 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 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/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 (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\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 (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, 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 = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\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\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\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.es/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 = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","// TODO: Remove this line from `core-js@4`\nrequire('../modules/es.string.trim-right');\nvar $ = require('../internals/export');\nvar trimEnd = require('../internals/string-trim-end');\n\n// `String.prototype.trimEnd` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, {\n trimEnd: trimEnd\n});\n","var $ = require('../internals/export');\nvar trimStart = require('../internals/string-trim-start');\n\n// `String.prototype.trimLeft` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimleft\n// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe\n$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, {\n trimLeft: trimStart\n});\n","var $ = require('../internals/export');\nvar trimEnd = require('../internals/string-trim-end');\n\n// `String.prototype.trimRight` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe\n$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, {\n trimRight: trimEnd\n});\n","// TODO: Remove this line from `core-js@4`\nrequire('../modules/es.string.trim-left');\nvar $ = require('../internals/export');\nvar trimStart = require('../internals/string-trim-start');\n\n// `String.prototype.trimStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, {\n trimStart: trimStart\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.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\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 definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\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/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\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';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\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(SymbolPrototype);\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 $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(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 || call($propertyIsEnumerable, 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 = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(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 (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (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 (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(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 SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\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(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: 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 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.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\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 : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\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\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf);\n var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = thisSymbolValue(this);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var string = symbolDescriptiveString(symbol);\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, constructor: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","var getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\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.es/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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\nvar toBigInt = require('../internals/to-big-int');\nvar classof = require('../internals/classof');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar slice = uncurryThis(''.slice);\n\n// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18\nvar CONVERSION_BUG = fails(function () {\n var count = 0;\n // eslint-disable-next-line es/no-typed-arrays -- safe\n new Int8Array(2).fill({ valueOf: function () { return count++; } });\n return count !== 1;\n});\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n aTypedArray(this);\n var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value;\n return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined);\n}, CONVERSION_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/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 return fromSpeciesAndList(this, list);\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.es/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","'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.es/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","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float64Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core').exportTypedArrayStaticMethod;\nvar typedArrayFrom = require('../internals/typed-array-from');\n\n// `%TypedArray%.from` method\n// https://tc39.es/ecma262/#sec-%typedarray%.from\nexportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\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.es/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","'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.es/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 createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int16', function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int32', function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\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 = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\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.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/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 (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;\n\n// `%TypedArray%.of` method\n// https://tc39.es/ecma262/#sec-%typedarray%.of\nexportTypedArrayStaticMethod('of', function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = new (aTypedArrayConstructor(this))(length);\n while (length > index) result[index] = arguments[index++];\n return result;\n}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\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.reduceRight` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\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.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\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.es/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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\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.es/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","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\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.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint16', function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/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 createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8ClampedArray` constructor\n// https://tc39.es/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 global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar isExtensible = require('../internals/object-is-extensible');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\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.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = 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.enable();\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = uncurryThis(WeakMapPrototype['delete']);\n var nativeHas = uncurryThis(WeakMapPrototype.has);\n var nativeGet = uncurryThis(WeakMapPrototype.get);\n var nativeSet = uncurryThis(WeakMapPrototype.set);\n defineBuiltIns(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete(this, key) || state.frozen['delete'](key);\n } return nativeDelete(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) || state.frozen.has(key);\n } return nativeHas(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);\n } return nativeGet(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceInternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);\n } else nativeSet(this, key, value);\n return this;\n }\n });\n}\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.weak-map.constructor');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.weak-set.constructor');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar clearImmediate = require('../internals/task').clear;\n\n// `clearImmediate` method\n// http://w3c.github.io/setImmediate/#si-clearImmediate\n$({ global: true, bind: true, enumerable: true, forced: global.clearImmediate !== clearImmediate }, {\n clearImmediate: clearImmediate\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\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\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\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\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\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\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.clear-immediate');\nrequire('../modules/web.set-immediate');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar microtask = require('../internals/microtask');\nvar aCallable = require('../internals/a-callable');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar process = global.process;\n\n// `queueMicrotask` method\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask\n$({ global: true, enumerable: true, dontCallGetSet: true }, {\n queueMicrotask: function queueMicrotask(fn) {\n validateArgumentsLength(arguments.length, 1);\n aCallable(fn);\n var domain = IS_NODE && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setImmediate = require('../internals/task').set;\n\n// `setImmediate` method\n// http://w3c.github.io/setImmediate/#si-setImmediate\n$({ global: true, bind: true, enumerable: true, forced: global.setImmediate !== setImmediate }, {\n setImmediate: setImmediate\n});\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 global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\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 $toString = require('../internals/to-string');\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 validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\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// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\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 = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\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}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` 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 push(state.entries, { key: $toString(name), value: $toString(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 = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, 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 = $toString(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 = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, 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 = $toString(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 = $toString(name);\n var val = $toString(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) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { 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 arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\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);\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\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\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/url-constructor-detection');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\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-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\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 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, 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 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\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 chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 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 (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) 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\n// https://url.spec.whatwg.org/#host-serializing\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 unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\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 += numberToString(host[index], 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 (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\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\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\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, chr, bufferCodePoints, failure;\n\n input = $toString(input);\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 = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\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 (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\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 push(url.path, '');\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 && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\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 (chr == '/' && 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 (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\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 = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\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 (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\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 chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && 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 (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\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 = url.parseHost(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 += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, 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 this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = 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 (url.includesCredentials()) {\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 ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\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, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\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 if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\n\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n var dayOfMonth = date.getDate(); // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport addDays from \"../addDays/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport default function add(dirtyDate, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0; // Add years and months\n\n var date = toDate(dirtyDate);\n var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date; // Add weeks and days\n\n var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths; // Add days, hours, minutes and seconds\n\n var minutesToAdd = minutes + hours * 60;\n var secondsToAdd = seconds + minutesToAdd * 60;\n var msToAdd = secondsToAdd * 1000;\n var finalDate = new Date(dateWithDays.getTime() + msToAdd);\n return finalDate;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function startOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function startOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return startOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\n\nexport default function getISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\n\nexport default function startOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuary);\n return date;\n}","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\n\nexport default function addYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, amount * 12);\n}","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var daysInYear = 365.2425;\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInMinute = 60000;\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInHour = 3600000;\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInSecond = 1000;\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minTime = -maxTime;\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minutesInHour = 60;\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInQuarter = 3;\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInYear = 12;\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var quartersInYear = 4;\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInHour = 3600;\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInMinute = 60;\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInDay = secondsInHour * 24;\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInWeek = secondsInDay * 7;\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInYear = secondsInDay * daysInYear;\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInMonth = secondsInYear / 12;\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInQuarter = secondsInMonth * 3;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\n\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","var roundingMap = {\n ceil: Math.ceil,\n round: Math.round,\n floor: Math.floor,\n trunc: function trunc(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n } // Math.trunc is not supported by IE\n\n};\nvar defaultRoundingMethod = 'trunc';\nexport function getRoundingMethod(method) {\n return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1.\n * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.step` must be a number greater than 1\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\n\nexport default function eachDayOfInterval(dirtyInterval, options) {\n var _options$step;\n\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n\n var dates = [];\n var currentDate = startDate;\n currentDate.setHours(0, 0, 0, 0);\n var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1);\n if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1');\n\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate.setDate(currentDate.getDate() + step);\n currentDate.setHours(0, 0, 0, 0);\n }\n\n return dates;\n}","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the end of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaa':\n return dayPeriodEnumValue;\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nexport default formatters;","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\n\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\n\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters[firstCharacter];\n\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","export default function assign(target, object) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n for (var property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n ;\n target[property] = object[property];\n }\n }\n\n return target;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {0|1|2|3|4|5|6} the day of week, 0 represents Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\n\nexport default function getDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n return day;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\n\nexport default function getDaysInMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * const result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\n\nexport default function getHours(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var hours = date.getHours();\n return hours;\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\n\nexport default function getISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\n\nexport default function getMinutes(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var minutes = date.getMinutes();\n return minutes;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\n\nexport default function getMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n return month;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\n\nexport default function getSeconds(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var seconds = date.getSeconds();\n return seconds;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\n\nexport default function getYear(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getFullYear();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\n\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\n\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\n\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyLeftDate);\n var dateRight = toDate(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n function Setter() {\n _classCallCheck(this, Setter);\n\n _defineProperty(this, \"subPriority\", 0);\n }\n\n _createClass(Setter, [{\n key: \"validate\",\n value: function validate(_utcDate, _options) {\n return true;\n }\n }]);\n\n return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n _inherits(ValueSetter, _Setter);\n\n var _super = _createSuper(ValueSetter);\n\n function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n var _this;\n\n _classCallCheck(this, ValueSetter);\n\n _this = _super.call(this);\n _this.value = value;\n _this.validateValue = validateValue;\n _this.setValue = setValue;\n _this.priority = priority;\n\n if (subPriority) {\n _this.subPriority = subPriority;\n }\n\n return _this;\n }\n\n _createClass(ValueSetter, [{\n key: \"validate\",\n value: function validate(utcDate, options) {\n return this.validateValue(utcDate, this.value, options);\n }\n }, {\n key: \"set\",\n value: function set(utcDate, flags, options) {\n return this.setValue(utcDate, flags, this.value, options);\n }\n }]);\n\n return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n _inherits(DateToSystemTimezoneSetter, _Setter2);\n\n var _super2 = _createSuper(DateToSystemTimezoneSetter);\n\n function DateToSystemTimezoneSetter() {\n var _this2;\n\n _classCallCheck(this, DateToSystemTimezoneSetter);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n\n _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n\n return _this2;\n }\n\n _createClass(DateToSystemTimezoneSetter, [{\n key: \"set\",\n value: function set(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n }\n }]);\n\n return DateToSystemTimezoneSetter;\n}(Setter);","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n function Parser() {\n _classCallCheck(this, Parser);\n }\n\n _createClass(Parser, [{\n key: \"run\",\n value: function run(dateString, token, match, options) {\n var result = this.parse(dateString, token, match, options);\n\n if (!result) {\n return null;\n }\n\n return {\n setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),\n rest: result.rest\n };\n }\n }, {\n key: \"validate\",\n value: function validate(_utcDate, _value, _options) {\n return true;\n }\n }]);\n\n return Parser;\n}();","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n _inherits(EraParser, _Parser);\n\n var _super = _createSuper(EraParser);\n\n function EraParser() {\n var _this;\n\n _classCallCheck(this, EraParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n\n return _this;\n }\n\n _createClass(EraParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n // A, B\n\n case 'GGGGG':\n return match.era(dateString, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return match.era(dateString, {\n width: 'wide'\n }) || match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return EraParser;\n}(Parser);","export var numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n\n};\nexport var timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};","import { millisecondsInHour, millisecondsInMinute, millisecondsInSecond } from \"../../constants/index.js\";\nimport { numericPatterns } from \"./constants.js\";\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest\n };\n}\nexport function parseNumericPattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseTimezonePattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n } // Input is 'Z'\n\n\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: dateString.slice(1)\n };\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case 'morning':\n return 4;\n\n case 'evening':\n return 17;\n\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0; // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport var YearParser = /*#__PURE__*/function (_Parser) {\n _inherits(YearParser, _Parser);\n\n var _super = _createSuper(YearParser);\n\n function YearParser() {\n var _this;\n\n _classCallCheck(this, YearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(YearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n\n switch (token) {\n case 'y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n\n case 'yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return YearParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits, normalizeTwoDigitYear, mapValue } from \"../utils.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\";\n// Local week-numbering year\nexport var LocalWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekYearParser, _Parser);\n\n var _super = _createSuper(LocalWeekYearParser);\n\n function LocalWeekYearParser() {\n var _this;\n\n _classCallCheck(this, LocalWeekYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n\n return _this;\n }\n\n _createClass(LocalWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n\n switch (token) {\n case 'Y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n\n case 'Yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n }]);\n\n return LocalWeekYearParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\n\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekYearParser, _Parser);\n\n var _super = _createSuper(ISOWeekYearParser);\n\n function ISOWeekYearParser() {\n var _this;\n\n _classCallCheck(this, ISOWeekYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(ISOWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'R') {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n }\n }]);\n\n return ISOWeekYearParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ExtendedYearParser, _Parser);\n\n var _super = _createSuper(ExtendedYearParser);\n\n function ExtendedYearParser() {\n var _this;\n\n _classCallCheck(this, ExtendedYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(ExtendedYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'u') {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return ExtendedYearParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(QuarterParser, _Parser);\n\n var _super = _createSuper(QuarterParser);\n\n function QuarterParser() {\n var _this;\n\n _classCallCheck(this, QuarterParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(QuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return QuarterParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneQuarterParser, _Parser);\n\n var _super = _createSuper(StandAloneQuarterParser);\n\n function StandAloneQuarterParser() {\n var _this;\n\n _classCallCheck(this, StandAloneQuarterParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(StandAloneQuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return StandAloneQuarterParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nexport var MonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(MonthParser, _Parser);\n\n var _super = _createSuper(MonthParser);\n\n function MonthParser() {\n var _this;\n\n _classCallCheck(this, MonthParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n\n return _this;\n }\n\n _createClass(MonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n\n case 'MM':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return MonthParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, mapValue } from \"../utils.js\";\nexport var StandAloneMonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneMonthParser, _Parser);\n\n var _super = _createSuper(StandAloneMonthParser);\n\n function StandAloneMonthParser() {\n var _this;\n\n _classCallCheck(this, StandAloneMonthParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(StandAloneMonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n\n case 'LL':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return StandAloneMonthParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCWeek from \"../../../_lib/setUTCWeek/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\"; // Local week of year\n\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekParser, _Parser);\n\n var _super = _createSuper(LocalWeekParser);\n\n function LocalWeekParser() {\n var _this;\n\n _classCallCheck(this, LocalWeekParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n\n return _this;\n }\n\n _createClass(LocalWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, dateString);\n\n case 'wo':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n }\n }]);\n\n return LocalWeekParser;\n}(Parser);","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCWeek from \"../getUTCWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCISOWeek from \"../../../_lib/setUTCISOWeek/index.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week of year\n\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekParser, _Parser);\n\n var _super = _createSuper(ISOWeekParser);\n\n function ISOWeekParser() {\n var _this;\n\n _classCallCheck(this, ISOWeekParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(ISOWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, dateString);\n\n case 'Io':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value));\n }\n }]);\n\n return ISOWeekParser;\n}(Parser);","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCISOWeek from \"../getUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isLeapYearIndex, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // Day of the month\n\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n _inherits(DateParser, _Parser);\n\n var _super = _createSuper(DateParser);\n\n function DateParser() {\n var _this;\n\n _classCallCheck(this, DateParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(DateParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, dateString);\n\n case 'do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return DateParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, isLeapYearIndex } from \"../utils.js\";\nexport var DayOfYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayOfYearParser, _Parser);\n\n var _super = _createSuper(DayOfYearParser);\n\n function DayOfYearParser() {\n var _this;\n\n _classCallCheck(this, DayOfYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(DayOfYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n\n case 'Do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return DayOfYearParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function setUTCDay(dirtyDate, dirtyDay, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\n\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayParser, _Parser);\n\n var _super = _createSuper(DayParser);\n\n function DayParser() {\n var _this;\n\n _classCallCheck(this, DayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(DayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return DayParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\n\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalDayParser, _Parser);\n\n var _super = _createSuper(LocalDayParser);\n\n function LocalDayParser() {\n var _this;\n\n _classCallCheck(this, LocalDayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(LocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n\n case 'eo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n\n case 'eee':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return LocalDayParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\n\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneLocalDayParser, _Parser);\n\n var _super = _createSuper(StandAloneLocalDayParser);\n\n function StandAloneLocalDayParser() {\n var _this;\n\n _classCallCheck(this, StandAloneLocalDayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n\n return _this;\n }\n\n _createClass(StandAloneLocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n\n case 'co':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n\n case 'ccc':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return StandAloneLocalDayParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\n\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISODayParser, _Parser);\n\n var _super = _createSuper(ISODayParser);\n\n function ISODayParser() {\n var _this;\n\n _classCallCheck(this, ISODayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(ISODayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n if (value === 0) {\n return 7;\n }\n\n return value;\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n\n case 'io':\n return match.ordinalNumber(dateString, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return mapValue(match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // T\n\n case 'iiiii':\n return mapValue(match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tu\n\n case 'iiiiii':\n return mapValue(match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tuesday\n\n case 'iiii':\n default:\n return mapValue(match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date = setUTCISODay(date, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n\n return ISODayParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMParser, _Parser);\n\n var _super = _createSuper(AMPMParser);\n\n function AMPMParser() {\n var _this;\n\n _classCallCheck(this, AMPMParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n\n return _this;\n }\n\n _createClass(AMPMParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n\n return AMPMParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMMidnightParser, _Parser);\n\n var _super = _createSuper(AMPMMidnightParser);\n\n function AMPMMidnightParser() {\n var _this;\n\n _classCallCheck(this, AMPMMidnightParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n\n return _this;\n }\n\n _createClass(AMPMMidnightParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n\n return AMPMMidnightParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\n\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayPeriodParser, _Parser);\n\n var _super = _createSuper(DayPeriodParser);\n\n function DayPeriodParser() {\n var _this;\n\n _classCallCheck(this, DayPeriodParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n\n return _this;\n }\n\n _createClass(DayPeriodParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n\n return DayPeriodParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1to12Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1to12Parser, _Parser);\n\n var _super = _createSuper(Hour1to12Parser);\n\n function Hour1to12Parser() {\n var _this;\n\n _classCallCheck(this, Hour1to12Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n\n return _this;\n }\n\n _createClass(Hour1to12Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n\n case 'ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n }\n }]);\n\n return Hour1to12Parser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0to23Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0to23Parser, _Parser);\n\n var _super = _createSuper(Hour0to23Parser);\n\n function Hour0to23Parser() {\n var _this;\n\n _classCallCheck(this, Hour0to23Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n\n return _this;\n }\n\n _createClass(Hour0to23Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n\n case 'Ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n }\n }]);\n\n return Hour0to23Parser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0To11Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0To11Parser, _Parser);\n\n var _super = _createSuper(Hour0To11Parser);\n\n function Hour0To11Parser() {\n var _this;\n\n _classCallCheck(this, Hour0To11Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n\n return _this;\n }\n\n _createClass(Hour0To11Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n\n case 'Ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n }\n }]);\n\n return Hour0To11Parser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1To24Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1To24Parser, _Parser);\n\n var _super = _createSuper(Hour1To24Parser);\n\n function Hour1To24Parser() {\n var _this;\n\n _classCallCheck(this, Hour1To24Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n\n return _this;\n }\n\n _createClass(Hour1To24Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n\n case 'ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n }\n }]);\n\n return Hour1To24Parser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var MinuteParser = /*#__PURE__*/function (_Parser) {\n _inherits(MinuteParser, _Parser);\n\n var _super = _createSuper(MinuteParser);\n\n function MinuteParser() {\n var _this;\n\n _classCallCheck(this, MinuteParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n\n return _this;\n }\n\n _createClass(MinuteParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, dateString);\n\n case 'mo':\n return match.ordinalNumber(dateString, {\n unit: 'minute'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n }\n }]);\n\n return MinuteParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var SecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(SecondParser, _Parser);\n\n var _super = _createSuper(SecondParser);\n\n function SecondParser() {\n var _this;\n\n _classCallCheck(this, SecondParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n\n return _this;\n }\n\n _createClass(SecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, dateString);\n\n case 'so':\n return match.ordinalNumber(dateString, {\n unit: 'second'\n });\n\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCSeconds(value, 0);\n return date;\n }\n }]);\n\n return SecondParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(FractionOfSecondParser, _Parser);\n\n var _super = _createSuper(FractionOfSecondParser);\n\n function FractionOfSecondParser() {\n var _this;\n\n _classCallCheck(this, FractionOfSecondParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n\n return _this;\n }\n\n _createClass(FractionOfSecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n var valueCallback = function valueCallback(value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMilliseconds(value);\n return date;\n }\n }]);\n\n return FractionOfSecondParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\n\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneWithZParser, _Parser);\n\n var _super = _createSuper(ISOTimezoneWithZParser);\n\n function ISOTimezoneWithZParser() {\n var _this;\n\n _classCallCheck(this, ISOTimezoneWithZParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n\n return _this;\n }\n\n _createClass(ISOTimezoneWithZParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n }\n }]);\n\n return ISOTimezoneWithZParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\n\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneParser, _Parser);\n\n var _super = _createSuper(ISOTimezoneParser);\n\n function ISOTimezoneParser() {\n var _this;\n\n _classCallCheck(this, ISOTimezoneParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n\n return _this;\n }\n\n _createClass(ISOTimezoneParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n }\n }]);\n\n return ISOTimezoneParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampSecondsParser, _Parser);\n\n var _super = _createSuper(TimestampSecondsParser);\n\n function TimestampSecondsParser() {\n var _this;\n\n _classCallCheck(this, TimestampSecondsParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n\n return _this;\n }\n\n _createClass(TimestampSecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n }\n }]);\n\n return TimestampSecondsParser;\n}(Parser);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampMillisecondsParser, _Parser);\n\n var _super = _createSuper(TimestampMillisecondsParser);\n\n function TimestampMillisecondsParser() {\n var _this;\n\n _classCallCheck(this, TimestampMillisecondsParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n\n return _this;\n }\n\n _createClass(TimestampMillisecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n }\n }]);\n\n return TimestampMillisecondsParser;\n}(Parser);","import { EraParser } from \"./EraParser.js\";\nimport { YearParser } from \"./YearParser.js\";\nimport { LocalWeekYearParser } from \"./LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./ExtendedYearParser.js\";\nimport { QuarterParser } from \"./QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./MonthParser.js\";\nimport { StandAloneMonthParser } from \"./StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./ISOWeekParser.js\";\nimport { DateParser } from \"./DateParser.js\";\nimport { DayOfYearParser } from \"./DayOfYearParser.js\";\nimport { DayParser } from \"./DayParser.js\";\nimport { LocalDayParser } from \"./LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./ISODayParser.js\";\nimport { AMPMParser } from \"./AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./Hour1To24Parser.js\";\nimport { MinuteParser } from \"./MinuteParser.js\";\nimport { SecondParser } from \"./SecondParser.js\";\nimport { FractionOfSecondParser } from \"./FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./TimestampMillisecondsParser.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n\nexport var parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser()\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { DateToSystemTimezoneSetter } from \"./_lib/Setter.js\";\nimport { parsers } from \"./_lib/parsers/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\n\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n }; // If timezone isn't specified, it will be set to the system timezone\n\n var setters = [new DateToSystemTimezoneSetter()];\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter in longFormatters) {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n\n try {\n var _loop = function _loop() {\n var token = _step.value;\n\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = usedTokens.find(function (usedToken) {\n return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n });\n\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length > 0) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n\n if (!parseResult) {\n return {\n v: new Date(NaN)\n };\n }\n\n setters.push(parseResult.setter);\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n } // Replace two single quote characters with one single quote character\n\n\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n } // Cut token from string, or, if string doesn't match the token, return Invalid Date\n\n\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return {\n v: new Date(NaN)\n };\n }\n }\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n\n if (_typeof(_ret) === \"object\") return _ret.v;\n } // Check if the remaining input contains something other than whitespace\n\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).sort(function (a, b) {\n return b.subPriority - a.subPriority;\n });\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n\n var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var setter = _step2.value;\n\n if (!setter.validate(utcDate, subFnOptions)) {\n return new Date(NaN);\n }\n\n var result = setter.set(utcDate, flags, subFnOptions); // Result is tuple (date, flags)\n\n if (Array.isArray(result)) {\n utcDate = result[0];\n assign(flags, result[1]); // Result is date\n } else {\n utcDate = result;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return utcDate;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString; // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null; // either year or century is null, not both\n\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getDaysInMonth from \"../getDaysInMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\n\nexport default function setMonth(dirtyDate, dirtyMonth) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var month = toInteger(dirtyMonth);\n var year = date.getFullYear();\n var day = date.getDate();\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = getDaysInMonth(dateWithDesiredMonth); // Set the last day of the new month\n // if the original date was the last day of the longer month\n\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n\n/**\n * @name set\n * @category Common Helpers\n * @summary Set date values to a given date.\n *\n * @description\n * Set date values to a given date.\n *\n * Sets time values to date from object `values`.\n * A value is not set if it is undefined or null or doesn't exist in `values`.\n *\n * Note about bundle size: `set` does not internally use `setX` functions from date-fns but instead opts\n * to use native `Date#setX` methods. If you use this function, you may not want to include the\n * other `setX` functions that date-fns provides if you are concerned about the bundle size.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Object} values - an object with options\n * @param {Number} [values.year] - the number of years to be set\n * @param {Number} [values.month] - the number of months to be set\n * @param {Number} [values.date] - the number of days to be set\n * @param {Number} [values.hours] - the number of hours to be set\n * @param {Number} [values.minutes] - the number of minutes to be set\n * @param {Number} [values.seconds] - the number of seconds to be set\n * @param {Number} [values.milliseconds] - the number of milliseconds to be set\n * @returns {Date} the new date with options set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `values` must be an object\n *\n * @example\n * // Transform 1 September 2014 into 20 October 2015 in a single line:\n * const result = set(new Date(2014, 8, 20), { year: 2015, month: 9, date: 20 })\n * //=> Tue Oct 20 2015 00:00:00\n *\n * @example\n * // Set 12 PM to 1 September 2014 01:23:45 to 1 September 2014 12:00:00:\n * const result = set(new Date(2014, 8, 1, 1, 23, 45), { hours: 12 })\n * //=> Mon Sep 01 2014 12:23:45\n */\nexport default function set(dirtyDate, values) {\n requiredArgs(2, arguments);\n\n if (_typeof(values) !== 'object' || values === null) {\n throw new RangeError('values parameter must be an object');\n }\n\n var date = toDate(dirtyDate); // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n if (values.year != null) {\n date.setFullYear(values.year);\n }\n\n if (values.month != null) {\n date = setMonth(date, values.month);\n }\n\n if (values.date != null) {\n date.setDate(toInteger(values.date));\n }\n\n if (values.hours != null) {\n date.setHours(toInteger(values.hours));\n }\n\n if (values.minutes != null) {\n date.setMinutes(toInteger(values.minutes));\n }\n\n if (values.seconds != null) {\n date.setSeconds(toInteger(values.seconds));\n }\n\n if (values.milliseconds != null) {\n date.setMilliseconds(toInteger(values.milliseconds));\n }\n\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\n\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMilliseconds\n * @category Millisecond Helpers\n * @summary Set the milliseconds to the given date.\n *\n * @description\n * Set the milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} milliseconds - the milliseconds of the new date\n * @returns {Date} the new date with the milliseconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 300 milliseconds to 1 September 2014 11:30:40.500:\n * const result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300)\n * //=> Mon Sep 01 2014 11:30:40.300\n */\n\nexport default function setMilliseconds(dirtyDate, dirtyMilliseconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var milliseconds = toInteger(dirtyMilliseconds);\n date.setMilliseconds(milliseconds);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\n\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\n\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} year - the year of the new date\n * @returns {Date} the new date with the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * const result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\n\nexport default function setYear(dirtyDate, dirtyYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var year = toInteger(dirtyYear); // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n date.setFullYear(year);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport subDays from \"../subDays/index.js\";\nimport subMonths from \"../subMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name sub\n * @category Common Helpers\n * @summary Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @description\n * Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be subtracted\n *\n * | Key | Description |\n * |---------|------------------------------------|\n * | years | Amount of years to be subtracted |\n * | months | Amount of months to be subtracted |\n * | weeks | Amount of weeks to be subtracted |\n * | days | Amount of days to be subtracted |\n * | hours | Amount of hours to be subtracted |\n * | minutes | Amount of minutes to be subtracted |\n * | seconds | Amount of seconds to be subtracted |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract the following duration from 15 June 2017 15:29:20\n * const result = sub(new Date(2017, 5, 15, 15, 29, 20), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30\n * })\n * //=> Mon Sep 1 2014 10:19:50\n */\n\nexport default function sub(date, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0; // Subtract years and months\n\n var dateWithoutMonths = subMonths(date, months + years * 12); // Subtract weeks and days\n\n var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7); // Subtract hours, minutes and seconds\n\n var minutestoSub = minutes + hours * 60;\n var secondstoSub = seconds + minutestoSub * 60;\n var mstoSub = secondstoSub * 1000;\n var finalDate = new Date(dateWithoutDays.getTime() - mstoSub);\n return finalDate;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\n\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n\n return valuesArray[index];\n };\n}","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n\n return undefined;\n}","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"minder as 'n sekonde\",\n other: 'minder as {{count}} sekondes'\n },\n xSeconds: {\n one: '1 sekonde',\n other: '{{count}} sekondes'\n },\n halfAMinute: \"'n halwe minuut\",\n lessThanXMinutes: {\n one: \"minder as 'n minuut\",\n other: 'minder as {{count}} minute'\n },\n xMinutes: {\n one: \"'n minuut\",\n other: '{{count}} minute'\n },\n aboutXHours: {\n one: 'ongeveer 1 uur',\n other: 'ongeveer {{count}} ure'\n },\n xHours: {\n one: '1 uur',\n other: '{{count}} ure'\n },\n xDays: {\n one: '1 dag',\n other: '{{count}} dae'\n },\n aboutXWeeks: {\n one: 'ongeveer 1 week',\n other: 'ongeveer {{count}} weke'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weke'\n },\n aboutXMonths: {\n one: 'ongeveer 1 maand',\n other: 'ongeveer {{count}} maande'\n },\n xMonths: {\n one: '1 maand',\n other: '{{count}} maande'\n },\n aboutXYears: {\n one: 'ongeveer 1 jaar',\n other: 'ongeveer {{count}} jaar'\n },\n xYears: {\n one: '1 jaar',\n other: '{{count}} jaar'\n },\n overXYears: {\n one: 'meer as 1 jaar',\n other: 'meer as {{count}} jaar'\n },\n almostXYears: {\n one: 'byna 1 jaar',\n other: 'byna {{count}} jaar'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'oor ' + result;\n } else {\n return result + ' gelede';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'yyyy/MM/dd'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'om' {{time}}\",\n long: \"{{date}} 'om' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['vC', 'nC'],\n abbreviated: ['vC', 'nC'],\n wide: ['voor Christus', 'na Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1ste kwartaal', '2de kwartaal', '3de kwartaal', '4de kwartaal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],\n wide: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'D', 'W', 'D', 'V', 'S'],\n short: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'],\n abbreviated: ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'],\n wide: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'vm',\n pm: 'nm',\n midnight: 'middernag',\n noon: 'middaguur',\n morning: 'oggend',\n afternoon: 'middag',\n evening: 'laat middag',\n night: 'aand'\n },\n abbreviated: {\n am: 'vm',\n pm: 'nm',\n midnight: 'middernag',\n noon: 'middaguur',\n morning: 'oggend',\n afternoon: 'middag',\n evening: 'laat middag',\n night: 'aand'\n },\n wide: {\n am: 'vm',\n pm: 'nm',\n midnight: 'middernag',\n noon: 'middaguur',\n morning: 'oggend',\n afternoon: 'middag',\n evening: 'laat middag',\n night: 'aand'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'vm',\n pm: 'nm',\n midnight: 'middernag',\n noon: 'uur die middag',\n morning: 'uur die oggend',\n afternoon: 'uur die middag',\n evening: 'uur die aand',\n night: 'uur die aand'\n },\n abbreviated: {\n am: 'vm',\n pm: 'nm',\n midnight: 'middernag',\n noon: 'uur die middag',\n morning: 'uur die oggend',\n afternoon: 'uur die middag',\n evening: 'uur die aand',\n night: 'uur die aand'\n },\n wide: {\n am: 'vm',\n pm: 'nm',\n midnight: 'middernag',\n noon: 'uur die middag',\n morning: 'uur die oggend',\n afternoon: 'uur die middag',\n evening: 'uur die aand',\n night: 'uur die aand'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n var number = Number(dirtyNumber);\n var rem100 = number % 100;\n\n if (rem100 < 20) {\n switch (rem100) {\n case 1:\n case 8:\n return number + 'ste';\n\n default:\n return number + 'de';\n }\n }\n\n return number + 'ste';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'أقل من ثانية واحدة',\n two: 'أقل من ثانتين',\n threeToTen: 'أقل من {{count}} ثواني',\n other: 'أقل من {{count}} ثانية'\n },\n xSeconds: {\n one: 'ثانية واحدة',\n two: 'ثانتين',\n threeToTen: '{{count}} ثواني',\n other: '{{count}} ثانية'\n },\n halfAMinute: 'نصف دقيقة',\n lessThanXMinutes: {\n one: 'أقل من دقيقة',\n two: 'أقل من دقيقتين',\n threeToTen: 'أقل من {{count}} دقائق',\n other: 'أقل من {{count}} دقيقة'\n },\n xMinutes: {\n one: 'دقيقة واحدة',\n two: 'دقيقتين',\n threeToTen: '{{count}} دقائق',\n other: '{{count}} دقيقة'\n },\n aboutXHours: {\n one: 'ساعة واحدة تقريباً',\n two: 'ساعتين تقريباً',\n threeToTen: '{{count}} ساعات تقريباً',\n other: '{{count}} ساعة تقريباً'\n },\n xHours: {\n one: 'ساعة واحدة',\n two: 'ساعتين',\n threeToTen: '{{count}} ساعات',\n other: '{{count}} ساعة'\n },\n xDays: {\n one: 'يوم واحد',\n two: 'يومين',\n threeToTen: '{{count}} أيام',\n other: '{{count}} يوم'\n },\n aboutXWeeks: {\n one: 'أسبوع واحد تقريباً',\n two: 'أسبوعين تقريباً',\n threeToTen: '{{count}} أسابيع تقريباً',\n other: '{{count}} أسبوع تقريباً'\n },\n xWeeks: {\n one: 'أسبوع واحد',\n two: 'أسبوعين',\n threeToTen: '{{count}} أسابيع',\n other: '{{count}} أسبوع'\n },\n aboutXMonths: {\n one: 'شهر واحد تقريباً',\n two: 'شهرين تقريباً',\n threeToTen: '{{count}} أشهر تقريباً',\n other: '{{count}} شهر تقريباً'\n },\n xMonths: {\n one: 'شهر واحد',\n two: 'شهرين',\n threeToTen: '{{count}} أشهر',\n other: '{{count}} شهر'\n },\n aboutXYears: {\n one: 'عام واحد تقريباً',\n two: 'عامين تقريباً',\n threeToTen: '{{count}} أعوام تقريباً',\n other: '{{count}} عام تقريباً'\n },\n xYears: {\n one: 'عام واحد',\n two: 'عامين',\n threeToTen: '{{count}} أعوام',\n other: '{{count}} عام'\n },\n overXYears: {\n one: 'أكثر من عام',\n two: 'أكثر من عامين',\n threeToTen: 'أكثر من {{count}} أعوام',\n other: 'أكثر من {{count}} عام'\n },\n almostXYears: {\n one: 'عام واحد تقريباً',\n two: 'عامين تقريباً',\n threeToTen: '{{count}} أعوام تقريباً',\n other: '{{count}} عام تقريباً'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n var usageGroup = formatDistanceLocale[token];\n var result;\n\n if (typeof usageGroup === 'string') {\n result = usageGroup;\n } else if (count === 1) {\n result = usageGroup.one;\n } else if (count === 2) {\n result = usageGroup.two;\n } else if (count <= 10) {\n result = usageGroup.threeToTen.replace('{{count}}', String(count));\n } else {\n result = usageGroup.other.replace('{{count}}', String(count));\n }\n\n if (options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'في خلال ' + result;\n } else {\n return 'منذ ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ste|de)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^([vn]\\.? ?C\\.?)/,\n abbreviated: /^([vn]\\. ?C\\.?)/,\n wide: /^((voor|na) Christus)/\n};\nvar parseEraPatterns = {\n any: [/^v/, /^n/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^K[1234]/i,\n wide: /^[1234](st|d)e kwartaal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(Jan|Feb|Mrt|Apr|Mei|Jun|Jul|Aug|Sep|Okt|Nov|Dec)\\.?/i,\n wide: /^(Januarie|Februarie|Maart|April|Mei|Junie|Julie|Augustus|September|Oktober|November|Desember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^J/i, /^F/i, /^M/i, /^A/i, /^M/i, /^J/i, /^J/i, /^A/i, /^S/i, /^O/i, /^N/i, /^D/i],\n any: [/^Jan/i, /^Feb/i, /^Mrt/i, /^Apr/i, /^Mei/i, /^Jun/i, /^Jul/i, /^Aug/i, /^Sep/i, /^Okt/i, /^Nov/i, /^Dec/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smdwv]/i,\n short: /^(So|Ma|Di|Wo|Do|Vr|Sa)/i,\n abbreviated: /^(Son|Maa|Din|Woe|Don|Vry|Sat)/i,\n wide: /^(Sondag|Maandag|Dinsdag|Woensdag|Donderdag|Vrydag|Saterdag)/i\n};\nvar parseDayPatterns = {\n narrow: [/^S/i, /^M/i, /^D/i, /^W/i, /^D/i, /^V/i, /^S/i],\n any: [/^So/i, /^Ma/i, /^Di/i, /^Wo/i, /^Do/i, /^Vr/i, /^Sa/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(vm|nm|middernag|(?:uur )?die (oggend|middag|aand))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^vm/i,\n pm: /^nm/i,\n midnight: /^middernag/i,\n noon: /^middaguur/i,\n morning: /oggend/i,\n afternoon: /middag/i,\n evening: /laat middag/i,\n night: /aand/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE، do MMMM y',\n long: 'do MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss',\n long: 'HH:mm:ss',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'عند الساعة' {{time}}\",\n long: \"{{date}} 'عند الساعة' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م.', 'ب.م.'],\n wide: ['قبل الميلاد', 'بعد الميلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'],\n wide: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع']\n};\nvar monthValues = {\n narrow: ['ي', 'ف', 'م', 'أ', 'م', 'ي', 'ي', 'أ', 'س', 'أ', 'ن', 'د'],\n abbreviated: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],\n wide: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n};\nvar dayValues = {\n narrow: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],\n short: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n abbreviated: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n wide: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n morning: 'الصباح',\n noon: 'الظهر',\n afternoon: 'بعد الظهر',\n evening: 'المساء',\n night: 'الليل',\n midnight: 'منتصف الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n morning: 'الصباح',\n noon: 'الظهر',\n afternoon: 'بعد الظهر',\n evening: 'المساء',\n night: 'الليل',\n midnight: 'منتصف الليل'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n morning: 'الصباح',\n noon: 'الظهر',\n afternoon: 'بعد الظهر',\n evening: 'المساء',\n night: 'الليل',\n midnight: 'منتصف الليل'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n morning: 'في الصباح',\n noon: 'الظهر',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل',\n midnight: 'منتصف الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n morning: 'في الصباح',\n noon: 'الظهر',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل',\n midnight: 'منتصف الليل'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n morning: 'في الصباح',\n noon: 'الظهر',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل',\n midnight: 'منتصف الليل'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(num) {\n return String(num);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /[قب]/,\n abbreviated: /[قب]\\.م\\./,\n wide: /(قبل|بعد) الميلاد/\n};\nvar parseEraPatterns = {\n any: [/قبل/, /بعد/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /ر[1234]/,\n wide: /الربع (الأول|الثاني|الثالث|الرابع)/\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[أيفمسند]/,\n abbreviated: /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,\n wide: /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/\n};\nvar parseMonthPatterns = {\n narrow: [/^ي/i, /^ف/i, /^م/i, /^أ/i, /^م/i, /^ي/i, /^ي/i, /^أ/i, /^س/i, /^أ/i, /^ن/i, /^د/i],\n any: [/^يناير/i, /^فبراير/i, /^مارس/i, /^أبريل/i, /^مايو/i, /^يونيو/i, /^يوليو/i, /^أغسطس/i, /^سبتمبر/i, /^أكتوبر/i, /^نوفمبر/i, /^ديسمبر/i]\n};\nvar matchDayPatterns = {\n narrow: /^[حنثرخجس]/i,\n short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i],\n wide: [/^الأحد/i, /^الاثنين/i, /^الثلاثاء/i, /^الأربعاء/i, /^الخميس/i, /^الجمعة/i, /^السبت/i],\n any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/,\n any: /^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ص/,\n pm: /^م/,\n midnight: /منتصف الليل/,\n noon: /الظهر/,\n afternoon: /بعد الظهر/,\n morning: /في الصباح/,\n evening: /في المساء/,\n night: /في الليل/\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'عند' {{time}}\",\n long: \"{{date}} 'عند' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'أخر' eeee 'عند' p\",\n yesterday: \"'أمس عند' p\",\n today: \"'اليوم عند' p\",\n tomorrow: \"'غداً عند' p\",\n nextWeek: \"eeee 'عند' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'أقل من ثانية',\n two: 'أقل من ثانيتين',\n threeToTen: 'أقل من {{count}} ثواني',\n other: 'أقل من {{count}} ثانية'\n },\n xSeconds: {\n one: 'ثانية',\n two: 'ثانيتين',\n threeToTen: '{{count}} ثواني',\n other: '{{count}} ثانية'\n },\n halfAMinute: 'نص دقيقة',\n lessThanXMinutes: {\n one: 'أقل من دقيقة',\n two: 'أقل من دقيقتين',\n threeToTen: 'أقل من {{count}} دقايق',\n other: 'أقل من {{count}} دقيقة'\n },\n xMinutes: {\n one: 'دقيقة',\n two: 'دقيقتين',\n threeToTen: '{{count}} دقايق',\n other: '{{count}} دقيقة'\n },\n aboutXHours: {\n one: 'حوالي ساعة',\n two: 'حوالي ساعتين',\n threeToTen: 'حوالي {{count}} ساعات',\n other: 'حوالي {{count}} ساعة'\n },\n xHours: {\n one: 'ساعة',\n two: 'ساعتين',\n threeToTen: '{{count}} ساعات',\n other: '{{count}} ساعة'\n },\n xDays: {\n one: 'يوم',\n two: 'يومين',\n threeToTen: '{{count}} أيام',\n other: '{{count}} يوم'\n },\n aboutXWeeks: {\n one: 'حوالي أسبوع',\n two: 'حوالي أسبوعين',\n threeToTen: 'حوالي {{count}} أسابيع',\n other: 'حوالي {{count}} أسبوع'\n },\n xWeeks: {\n one: 'أسبوع',\n two: 'أسبوعين',\n threeToTen: '{{count}} أسابيع',\n other: '{{count}} أسبوع'\n },\n aboutXMonths: {\n one: 'حوالي شهر',\n two: 'حوالي شهرين',\n threeToTen: 'حوالي {{count}} أشهر',\n other: 'حوالي {{count}} شهر'\n },\n xMonths: {\n one: 'شهر',\n two: 'شهرين',\n threeToTen: '{{count}} أشهر',\n other: '{{count}} شهر'\n },\n aboutXYears: {\n one: 'حوالي سنة',\n two: 'حوالي سنتين',\n threeToTen: 'حوالي {{count}} سنين',\n other: 'حوالي {{count}} سنة'\n },\n xYears: {\n one: 'عام',\n two: 'عامين',\n threeToTen: '{{count}} أعوام',\n other: '{{count}} عام'\n },\n overXYears: {\n one: 'أكثر من سنة',\n two: 'أكثر من سنتين',\n threeToTen: 'أكثر من {{count}} سنين',\n other: 'أكثر من {{count}} سنة'\n },\n almostXYears: {\n one: 'عام تقريبًا',\n two: 'عامين تقريبًا',\n threeToTen: '{{count}} أعوام تقريبًا',\n other: '{{count}} عام تقريبًا'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else if (count === 2) {\n result = tokenValue.two;\n } else if (count <= 10) {\n result = tokenValue.threeToTen.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"\\u0641\\u064A \\u062E\\u0644\\u0627\\u0644 \".concat(result);\n } else {\n return \"\\u0645\\u0646\\u0630 \".concat(result);\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م.', 'ب.م.'],\n wide: ['قبل الميلاد', 'بعد الميلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'],\n wide: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع']\n};\nvar monthValues = {\n narrow: ['ج', 'ف', 'م', 'أ', 'م', 'ج', 'ج', 'أ', 'س', 'أ', 'ن', 'د'],\n abbreviated: ['جانـ', 'فيفـ', 'مارس', 'أفريل', 'مايـ', 'جوانـ', 'جويـ', 'أوت', 'سبتـ', 'أكتـ', 'نوفـ', 'ديسـ'],\n wide: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n};\nvar dayValues = {\n narrow: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],\n short: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n abbreviated: ['أحد', 'اثنـ', 'ثلا', 'أربـ', 'خميـ', 'جمعة', 'سبت'],\n wide: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'في الصباح',\n afternoon: 'بعد الظـهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'في الصباح',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظـهر',\n evening: 'في المساء',\n night: 'في الليل'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ق|ب)/i,\n abbreviated: /^(ق\\.?\\s?م\\.?|ق\\.?\\s?م\\.?\\s?|a\\.?\\s?d\\.?|c\\.?\\s?)/i,\n wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i\n};\nvar parseEraPatterns = {\n any: [/^قبل/i, /^بعد/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ر[1234]/i,\n wide: /^الربع [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[جفمأسند]/i,\n abbreviated: /^(جان|فيف|مار|أفر|ماي|جوا|جوي|أوت|سبت|أكت|نوف|ديس)/i,\n wide: /^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ج/i, /^ف/i, /^م/i, /^أ/i, /^م/i, /^ج/i, /^ج/i, /^أ/i, /^س/i, /^أ/i, /^ن/i, /^د/i],\n any: [/^جان/i, /^فيف/i, /^مار/i, /^أفر/i, /^ماي/i, /^جوا/i, /^جوي/i, /^أوت/i, /^سبت/i, /^أكت/i, /^نوف/i, /^ديس/i]\n};\nvar matchDayPatterns = {\n narrow: /^[حنثرخجس]/i,\n short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n abbreviated: /^(أحد|اثن|ثلا|أرب|خمي|جمعة|سبت)/i,\n wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i],\n wide: [/^الأحد/i, /^الاثنين/i, /^الثلاثاء/i, /^الأربعاء/i, /^الخميس/i, /^الجمعة/i, /^السبت/i],\n any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return Number(index) + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE، do MMMM y',\n long: 'do MMMM y',\n medium: 'dd/MMM/y',\n short: 'd/MM/y'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'الساعة' {{time}}\",\n long: \"{{date}} 'الساعة' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'اللي جاي الساعة' p\",\n yesterday: \"'إمبارح الساعة' p\",\n today: \"'النهاردة الساعة' p\",\n tomorrow: \"'بكرة الساعة' p\",\n nextWeek: \"eeee 'الساعة' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'أقل من ثانية واحدة',\n two: 'أقل من ثانتين',\n threeToTen: 'أقل من {{count}} ثواني',\n other: 'أقل من {{count}} ثانية'\n },\n xSeconds: {\n one: 'ثانية واحدة',\n two: 'ثانتين',\n threeToTen: '{{count}} ثواني',\n other: '{{count}} ثانية'\n },\n halfAMinute: 'نصف دقيقة',\n lessThanXMinutes: {\n one: 'أقل من دقيقة',\n two: 'أقل من دقيقتين',\n threeToTen: 'أقل من {{count}} دقائق',\n other: 'أقل من {{count}} دقيقة'\n },\n xMinutes: {\n one: 'دقيقة واحدة',\n two: 'دقيقتين',\n threeToTen: '{{count}} دقائق',\n other: '{{count}} دقيقة'\n },\n aboutXHours: {\n one: 'ساعة واحدة تقريباً',\n two: 'ساعتين تقريباً',\n threeToTen: '{{count}} ساعات تقريباً',\n other: '{{count}} ساعة تقريباً'\n },\n xHours: {\n one: 'ساعة واحدة',\n two: 'ساعتين',\n threeToTen: '{{count}} ساعات',\n other: '{{count}} ساعة'\n },\n xDays: {\n one: 'يوم واحد',\n two: 'يومين',\n threeToTen: '{{count}} أيام',\n other: '{{count}} يوم'\n },\n aboutXWeeks: {\n one: 'أسبوع واحد تقريباً',\n two: 'أسبوعين تقريباً',\n threeToTen: '{{count}} أسابيع تقريباً',\n other: '{{count}} أسبوع تقريباً'\n },\n xWeeks: {\n one: 'أسبوع واحد',\n two: 'أسبوعين',\n threeToTen: '{{count}} أسابيع',\n other: '{{count}} أسبوع'\n },\n aboutXMonths: {\n one: 'شهر واحد تقريباً',\n two: 'شهرين تقريباً',\n threeToTen: '{{count}} أشهر تقريباً',\n other: '{{count}} شهر تقريباً'\n },\n xMonths: {\n one: 'شهر واحد',\n two: 'شهرين',\n threeToTen: '{{count}} أشهر',\n other: '{{count}} شهر'\n },\n aboutXYears: {\n one: 'عام واحد تقريباً',\n two: 'عامين تقريباً',\n threeToTen: '{{count}} أعوام تقريباً',\n other: '{{count}} عام تقريباً'\n },\n xYears: {\n one: 'عام واحد',\n two: 'عامين',\n threeToTen: '{{count}} أعوام',\n other: '{{count}} عام'\n },\n overXYears: {\n one: 'أكثر من عام',\n two: 'أكثر من عامين',\n threeToTen: 'أكثر من {{count}} أعوام',\n other: 'أكثر من {{count}} عام'\n },\n almostXYears: {\n one: 'عام واحد تقريباً',\n two: 'عامين تقريباً',\n threeToTen: '{{count}} أعوام تقريباً',\n other: '{{count}} عام تقريباً'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n var usageGroup = formatDistanceLocale[token];\n var result;\n\n if (typeof usageGroup === 'string') {\n result = usageGroup;\n } else if (count === 1) {\n result = usageGroup.one;\n } else if (count === 2) {\n result = usageGroup.two;\n } else if (count <= 10) {\n result = usageGroup.threeToTen.replace('{{count}}', String(count));\n } else {\n result = usageGroup.other.replace('{{count}}', String(count));\n }\n\n if (options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'في خلال ' + result;\n } else {\n return 'منذ ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م', 'ب.م'],\n wide: ['قبل الميلاد', 'بعد الميلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'],\n wide: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع']\n};\nvar monthValues = {\n narrow: ['ي', 'ف', 'م', 'أ', 'م', 'ي', 'ي', 'أ', 'س', 'أ', 'ن', 'د'],\n abbreviated: ['ينا', 'فبر', 'مارس', 'أبريل', 'مايو', 'يونـ', 'يولـ', 'أغسـ', 'سبتـ', 'أكتـ', 'نوفـ', 'ديسـ'],\n wide: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n};\nvar dayValues = {\n narrow: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],\n short: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n abbreviated: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n wide: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءً',\n night: 'ليلاً'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهراً',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءً',\n night: 'ليلاً'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهراً',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءً',\n night: 'ليلاً'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'في الصباح',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهراً',\n morning: 'في الصباح',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n morning: 'في الصباح',\n noon: 'ظهراً',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)/;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ق|ب)/g,\n abbreviated: /^(ق.م|ب.م)/g,\n wide: /^(قبل الميلاد|بعد الميلاد)/g\n};\nvar parseEraPatterns = {\n any: [/^ق/g, /^ب/g]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/,\n abbreviated: /^ر[1234]/,\n wide: /^الربع (الأول|الثاني|الثالث|الرابع)/\n};\nvar parseQuarterPatterns = {\n wide: [/الربع الأول/, /الربع الثاني/, /الربع الثالث/, /الربع الرابع/],\n any: [/1/, /2/, /3/, /4/]\n};\nvar matchMonthPatterns = {\n narrow: /^(ي|ف|م|أ|س|ن|د)/,\n abbreviated: /^(ينا|فبر|مارس|أبريل|مايو|يونـ|يولـ|أغسـ|سبتـ|أكتـ|نوفـ|ديسـ)/,\n wide: /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/\n};\nvar parseMonthPatterns = {\n narrow: [/^ي/, /^ف/, /^م/, /^أ/, /^م/, /^ي/, /^ي/, /^أ/, /^س/, /^أ/, /^ن/, /^د/],\n any: [/^ينا/, /^فبر/, /^مارس/, /^أبريل/, /^مايو/, /^يون/, /^يول/, /^أغس/, /^سبت/, /^أكت/, /^نوف/, /^ديس/]\n};\nvar matchDayPatterns = {\n narrow: /^(ح|ن|ث|ر|خ|ج|س)/,\n short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,\n abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,\n wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/\n};\nvar parseDayPatterns = {\n narrow: [/^ح/, /^ن/, /^ث/, /^ر/, /^خ/, /^ج/, /^س/],\n any: [/أحد/, /اثنين/, /ثلاثاء/, /أربعاء/, /خميس/, /جمعة/, /سبت/]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ص|م|ن|ظ|في الصباح|بعد الظهر|في المساء|في الليل)/,\n abbreviated: /^(ص|م|نصف الليل|ظهراً|في الصباح|بعد الظهر|في المساء|في الليل)/,\n wide: /^(ص|م|نصف الليل|في الصباح|ظهراً|بعد الظهر|في المساء|في الليل)/,\n any: /^(ص|م|صباح|ظهر|مساء|ليل)/\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ص/,\n pm: /^م/,\n midnight: /^ن/,\n noon: /^ظ/,\n morning: /^ص/,\n afternoon: /^بعد/,\n evening: /^م/,\n night: /^ل/\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'عند' {{time}}\",\n long: \"{{date}} 'عند' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'أخر' eeee 'عند' p\",\n yesterday: \"'أمس عند' p\",\n today: \"'اليوم عند' p\",\n tomorrow: \"'غداً عند' p\",\n nextWeek: \"eeee 'عند' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'أقل من ثانية واحدة',\n two: 'أقل من ثانتين',\n threeToTen: 'أقل من {{count}} ثواني',\n other: 'أقل من {{count}} ثانية'\n },\n xSeconds: {\n one: 'ثانية واحدة',\n two: 'ثانتين',\n threeToTen: '{{count}} ثواني',\n other: '{{count}} ثانية'\n },\n halfAMinute: 'نصف دقيقة',\n lessThanXMinutes: {\n one: 'أقل من دقيقة',\n two: 'أقل من دقيقتين',\n threeToTen: 'أقل من {{count}} دقائق',\n other: 'أقل من {{count}} دقيقة'\n },\n xMinutes: {\n one: 'دقيقة واحدة',\n two: 'دقيقتين',\n threeToTen: '{{count}} دقائق',\n other: '{{count}} دقيقة'\n },\n aboutXHours: {\n one: 'ساعة واحدة تقريباً',\n two: 'ساعتين تقريباً',\n threeToTen: '{{count}} ساعات تقريباً',\n other: '{{count}} ساعة تقريباً'\n },\n xHours: {\n one: 'ساعة واحدة',\n two: 'ساعتين',\n threeToTen: '{{count}} ساعات',\n other: '{{count}} ساعة'\n },\n xDays: {\n one: 'يوم واحد',\n two: 'يومين',\n threeToTen: '{{count}} أيام',\n other: '{{count}} يوم'\n },\n aboutXWeeks: {\n one: 'أسبوع واحد تقريباً',\n two: 'أسبوعين تقريباً',\n threeToTen: '{{count}} أسابيع تقريباً',\n other: '{{count}} أسبوع تقريباً'\n },\n xWeeks: {\n one: 'أسبوع واحد',\n two: 'أسبوعين',\n threeToTen: '{{count}} أسابيع',\n other: '{{count}} أسبوع'\n },\n aboutXMonths: {\n one: 'شهر واحد تقريباً',\n two: 'شهرين تقريباً',\n threeToTen: '{{count}} أشهر تقريباً',\n other: '{{count}} شهر تقريباً'\n },\n xMonths: {\n one: 'شهر واحد',\n two: 'شهرين',\n threeToTen: '{{count}} أشهر',\n other: '{{count}} شهر'\n },\n aboutXYears: {\n one: 'عام واحد تقريباً',\n two: 'عامين تقريباً',\n threeToTen: '{{count}} أعوام تقريباً',\n other: '{{count}} عام تقريباً'\n },\n xYears: {\n one: 'عام واحد',\n two: 'عامين',\n threeToTen: '{{count}} أعوام',\n other: '{{count}} عام'\n },\n overXYears: {\n one: 'أكثر من عام',\n two: 'أكثر من عامين',\n threeToTen: 'أكثر من {{count}} أعوام',\n other: 'أكثر من {{count}} عام'\n },\n almostXYears: {\n one: 'عام واحد تقريباً',\n two: 'عامين تقريباً',\n threeToTen: '{{count}} أعوام تقريباً',\n other: '{{count}} عام تقريباً'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else if (count === 2) {\n result = tokenValue.two;\n } else if (count <= 10) {\n result = tokenValue.threeToTen.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'في خلال ' + result;\n } else {\n return 'منذ ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م.', 'ب.م.'],\n wide: ['قبل الميلاد', 'بعد الميلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'],\n wide: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع']\n};\nvar monthValues = {\n narrow: ['ي', 'ف', 'م', 'أ', 'م', 'ي', 'ي', 'غ', 'ش', 'أ', 'ن', 'د'],\n abbreviated: ['ينا', 'فبر', 'مارس', 'أبريل', 'ماي', 'يونـ', 'يولـ', 'غشت', 'شتنـ', 'أكتـ', 'نونـ', 'دجنـ'],\n wide: ['يناير', 'فبراير', 'مارس', 'أبريل', 'ماي', 'يونيو', 'يوليوز', 'غشت', 'شتنبر', 'أكتوبر', 'نونبر', 'دجنبر']\n};\nvar dayValues = {\n narrow: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],\n short: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n abbreviated: ['أحد', 'اثنـ', 'ثلا', 'أربـ', 'خميـ', 'جمعة', 'سبت'],\n wide: ['الأحد', 'الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'في الصباح',\n afternoon: 'بعد الظـهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'في الصباح',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظـهر',\n evening: 'في المساء',\n night: 'في الليل'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ق|ب)/i,\n abbreviated: /^(ق\\.?\\s?م\\.?|ق\\.?\\s?م\\.?\\s?|a\\.?\\s?d\\.?|c\\.?\\s?)/i,\n wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i\n};\nvar parseEraPatterns = {\n any: [/^قبل/i, /^بعد/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ر[1234]/i,\n wide: /^الربع [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[يفمأمسند]/i,\n abbreviated: /^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i,\n wide: /^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ي/i, /^ف/i, /^م/i, /^أ/i, /^م/i, /^ي/i, /^ي/i, /^غ/i, /^ش/i, /^أ/i, /^ن/i, /^د/i],\n any: [/^ين/i, /^فب/i, /^مار/i, /^أب/i, /^ماي/i, /^يون/i, /^يول/i, /^غشت/i, /^ش/i, /^أك/i, /^ن/i, /^د/i]\n};\nvar matchDayPatterns = {\n narrow: /^[حنثرخجس]/i,\n short: /^(أحد|إثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n abbreviated: /^(أحد|إثن|ثلا|أرب|خمي|جمعة|سبت)/i,\n wide: /^(الأحد|الإثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i],\n wide: [/^الأحد/i, /^الإثنين/i, /^الثلاثاء/i, /^الأربعاء/i, /^الخميس/i, /^الجمعة/i, /^السبت/i],\n any: [/^أح/i, /^إث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return Number(index) + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'عند' {{time}}\",\n long: \"{{date}} 'عند' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'أخر' eeee 'عند' p\",\n yesterday: \"'أمس عند' p\",\n today: \"'اليوم عند' p\",\n tomorrow: \"'غداً عند' p\",\n nextWeek: \"eeee 'عند' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'أقل من ثانية',\n two: 'أقل من زوز ثواني',\n threeToTen: 'أقل من {{count}} ثواني',\n other: 'أقل من {{count}} ثانية'\n },\n xSeconds: {\n one: 'ثانية',\n two: 'زوز ثواني',\n threeToTen: '{{count}} ثواني',\n other: '{{count}} ثانية'\n },\n halfAMinute: 'نص دقيقة',\n lessThanXMinutes: {\n one: 'أقل من دقيقة',\n two: 'أقل من دقيقتين',\n threeToTen: 'أقل من {{count}} دقايق',\n other: 'أقل من {{count}} دقيقة'\n },\n xMinutes: {\n one: 'دقيقة',\n two: 'دقيقتين',\n threeToTen: '{{count}} دقايق',\n other: '{{count}} دقيقة'\n },\n aboutXHours: {\n one: 'ساعة تقريب',\n two: 'ساعتين تقريب',\n threeToTen: '{{count}} سوايع تقريب',\n other: '{{count}} ساعة تقريب'\n },\n xHours: {\n one: 'ساعة',\n two: 'ساعتين',\n threeToTen: '{{count}} سوايع',\n other: '{{count}} ساعة'\n },\n xDays: {\n one: 'نهار',\n two: 'نهارين',\n threeToTen: '{{count}} أيام',\n other: '{{count}} يوم'\n },\n aboutXWeeks: {\n one: 'جمعة تقريب',\n two: 'جمعتين تقريب',\n threeToTen: '{{count}} جماع تقريب',\n other: '{{count}} جمعة تقريب'\n },\n xWeeks: {\n one: 'جمعة',\n two: 'جمعتين',\n threeToTen: '{{count}} جماع',\n other: '{{count}} جمعة'\n },\n aboutXMonths: {\n one: 'شهر تقريب',\n two: 'شهرين تقريب',\n threeToTen: '{{count}} أشهرة تقريب',\n other: '{{count}} شهر تقريب'\n },\n xMonths: {\n one: 'شهر',\n two: 'شهرين',\n threeToTen: '{{count}} أشهرة',\n other: '{{count}} شهر'\n },\n aboutXYears: {\n one: 'عام تقريب',\n two: 'عامين تقريب',\n threeToTen: '{{count}} أعوام تقريب',\n other: '{{count}} عام تقريب'\n },\n xYears: {\n one: 'عام',\n two: 'عامين',\n threeToTen: '{{count}} أعوام',\n other: '{{count}} عام'\n },\n overXYears: {\n one: 'أكثر من عام',\n two: 'أكثر من عامين',\n threeToTen: 'أكثر من {{count}} أعوام',\n other: 'أكثر من {{count}} عام'\n },\n almostXYears: {\n one: 'عام تقريب',\n two: 'عامين تقريب',\n threeToTen: '{{count}} أعوام تقريب',\n other: '{{count}} عام تقريب'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var usageGroup = formatDistanceLocale[token];\n var result;\n\n if (typeof usageGroup === 'string') {\n result = usageGroup;\n } else if (count === 1) {\n result = usageGroup.one;\n } else if (count === 2) {\n result = usageGroup.two;\n } else if (count <= 10) {\n result = usageGroup.threeToTen.replace('{{count}}', String(count));\n } else {\n result = usageGroup.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'في ' + result;\n } else {\n return 'عندو ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م.', 'ب.م.'],\n wide: ['قبل الميلاد', 'بعد الميلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'],\n wide: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع']\n};\nvar monthValues = {\n narrow: ['ي', 'ف', 'م', 'أ', 'م', 'ي', 'ي', 'أ', 'س', 'أ', 'ن', 'د'],\n abbreviated: ['ينا', 'فبر', 'مارس', 'أبريل', 'مايو', 'يونـ', 'يولـ', 'أغسـ', 'سبتـ', 'أكتـ', 'نوفـ', 'ديسـ'],\n wide: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n};\nvar dayValues = {\n narrow: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],\n short: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n abbreviated: ['أحد', 'اثنـ', 'ثلا', 'أربـ', 'خميـ', 'جمعة', 'سبت'],\n wide: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظهر',\n evening: 'مساءاً',\n night: 'ليلاً'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'م',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'في الصباح',\n afternoon: 'بعد الظـهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'في الصباح',\n afternoon: 'بعد الظهر',\n evening: 'في المساء',\n night: 'في الليل'\n },\n wide: {\n am: 'ص',\n pm: 'م',\n midnight: 'نصف الليل',\n noon: 'ظهر',\n morning: 'صباحاً',\n afternoon: 'بعد الظـهر',\n evening: 'في المساء',\n night: 'في الليل'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ق|ب)/i,\n abbreviated: /^(ق\\.?\\s?م\\.?|ق\\.?\\s?م\\.?\\s?|a\\.?\\s?d\\.?|c\\.?\\s?)/i,\n wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i\n};\nvar parseEraPatterns = {\n any: [/^قبل/i, /^بعد/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ر[1234]/i,\n wide: /^الربع [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[يفمأمسند]/i,\n abbreviated: /^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i,\n wide: /^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ي/i, /^ف/i, /^م/i, /^أ/i, /^م/i, /^ي/i, /^ي/i, /^أ/i, /^س/i, /^أ/i, /^ن/i, /^د/i],\n any: [/^ين/i, /^ف/i, /^مار/i, /^أب/i, /^ماي/i, /^يون/i, /^يول/i, /^أغ/i, /^س/i, /^أك/i, /^ن/i, /^د/i]\n};\nvar matchDayPatterns = {\n narrow: /^[حنثرخجس]/i,\n short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n abbreviated: /^(أحد|اثن|ثلا|أرب|خمي|جمعة|سبت)/i,\n wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i],\n wide: [/^الأحد/i, /^الاثنين/i, /^الثلاثاء/i, /^الأربعاء/i, /^الخميس/i, /^الجمعة/i, /^السبت/i],\n any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE، do MMMM y',\n long: 'do MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss',\n long: 'HH:mm:ss',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'مع' {{time}}\",\n long: \"{{date}} 'مع' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'إلي فات مع' p\",\n yesterday: \"'البارح مع' p\",\n today: \"'اليوم مع' p\",\n tomorrow: \"'غدوة مع' p\",\n nextWeek: \"eeee 'الجمعة الجاية مع' p 'نهار'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'bir saniyədən az',\n other: '{{count}} bir saniyədən az'\n },\n xSeconds: {\n one: '1 saniyə',\n other: '{{count}} saniyə'\n },\n halfAMinute: 'yarım dəqiqə',\n lessThanXMinutes: {\n one: 'bir dəqiqədən az',\n other: '{{count}} bir dəqiqədən az'\n },\n xMinutes: {\n one: 'bir dəqiqə',\n other: '{{count}} dəqiqə'\n },\n aboutXHours: {\n one: 'təxminən 1 saat',\n other: 'təxminən {{count}} saat'\n },\n xHours: {\n one: '1 saat',\n other: '{{count}} saat'\n },\n xDays: {\n one: '1 gün',\n other: '{{count}} gün'\n },\n aboutXWeeks: {\n one: 'təxminən 1 həftə',\n other: 'təxminən {{count}} həftə'\n },\n xWeeks: {\n one: '1 həftə',\n other: '{{count}} həftə'\n },\n aboutXMonths: {\n one: 'təxminən 1 ay',\n other: 'təxminən {{count}} ay'\n },\n xMonths: {\n one: '1 ay',\n other: '{{count}} ay'\n },\n aboutXYears: {\n one: 'təxminən 1 il',\n other: 'təxminən {{count}} il'\n },\n xYears: {\n one: '1 il',\n other: '{{count}} il'\n },\n overXYears: {\n one: '1 ildən çox',\n other: '{{count}} ildən çox'\n },\n almostXYears: {\n one: 'demək olar ki 1 il',\n other: 'demək olar ki {{count}} il'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' sonra';\n } else {\n return result + ' əvvəl';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م.', 'ب.م.'],\n wide: ['قبل الميلاد', 'بعد الميلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'],\n wide: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع']\n};\nvar monthValues = {\n narrow: ['د', 'ن', 'أ', 'س', 'أ', 'ج', 'ج', 'م', 'أ', 'م', 'ف', 'ج'],\n abbreviated: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],\n wide: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n};\nvar dayValues = {\n narrow: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],\n short: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n abbreviated: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],\n wide: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'ع',\n morning: 'الصباح',\n noon: 'القايلة',\n afternoon: 'بعد القايلة',\n evening: 'العشية',\n night: 'الليل',\n midnight: 'نص الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'ع',\n morning: 'الصباح',\n noon: 'القايلة',\n afternoon: 'بعد القايلة',\n evening: 'العشية',\n night: 'الليل',\n midnight: 'نص الليل'\n },\n wide: {\n am: 'ص',\n pm: 'ع',\n morning: 'الصباح',\n noon: 'القايلة',\n afternoon: 'بعد القايلة',\n evening: 'العشية',\n night: 'الليل',\n midnight: 'نص الليل'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ص',\n pm: 'ع',\n morning: 'في الصباح',\n noon: 'في القايلة',\n afternoon: 'بعد القايلة',\n evening: 'في العشية',\n night: 'في الليل',\n midnight: 'نص الليل'\n },\n abbreviated: {\n am: 'ص',\n pm: 'ع',\n morning: 'في الصباح',\n noon: 'في القايلة',\n afternoon: 'بعد القايلة',\n evening: 'في العشية',\n night: 'في الليل',\n midnight: 'نص الليل'\n },\n wide: {\n am: 'ص',\n pm: 'ع',\n morning: 'في الصباح',\n noon: 'في القايلة',\n afternoon: 'بعد القايلة',\n evening: 'في العشية',\n night: 'في الليل',\n midnight: 'نص الليل'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(num) {\n return String(num);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /[قب]/,\n abbreviated: /[قب]\\.م\\./,\n wide: /(قبل|بعد) الميلاد/\n};\nvar parseEraPatterns = {\n any: [/قبل/, /بعد/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /ر[1234]/,\n wide: /الربع (الأول|الثاني|الثالث|الرابع)/\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[جفمأسند]/,\n abbreviated: /^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,\n wide: /^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/\n};\nvar parseMonthPatterns = {\n narrow: [/^ج/i, /^ف/i, /^م/i, /^أ/i, /^م/i, /^ج/i, /^ج/i, /^أ/i, /^س/i, /^أ/i, /^ن/i, /^د/i],\n any: [/^جانفي/i, /^فيفري/i, /^مارس/i, /^أفريل/i, /^ماي/i, /^جوان/i, /^جويلية/i, /^أوت/i, /^سبتمبر/i, /^أكتوبر/i, /^نوفمبر/i, /^ديسمبر/i]\n};\nvar matchDayPatterns = {\n narrow: /^[حنثرخجس]/i,\n short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,\n wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i],\n wide: [/^الأحد/i, /^الاثنين/i, /^الثلاثاء/i, /^الأربعاء/i, /^الخميس/i, /^الجمعة/i, /^السبت/i],\n any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ص|ع|ن ل|ل|(في|مع) (صباح|قايلة|عشية|ليل))/,\n any: /^([صع]|نص الليل|قايلة|(في|مع) (صباح|قايلة|عشية|ليل))/\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ص/,\n pm: /^ع/,\n midnight: /نص الليل/,\n noon: /قايلة/,\n afternoon: /بعد القايلة/,\n morning: /صباح/,\n evening: /عشية/,\n night: /ليل/\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, do MMMM y 'il'\",\n long: \"do MMMM y 'il'\",\n medium: \"d MMM y 'il'\",\n short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} {{time}} - 'də'\",\n long: \"{{date}} {{time}} - 'də'\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'sonuncu' eeee p -'də'\",\n yesterday: \"'dünən' p -'də'\",\n today: \"'bugün' p -'də'\",\n tomorrow: \"'sabah' p -'də'\",\n nextWeek: \"eeee p -'də'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['e.ə', 'b.e'],\n abbreviated: ['e.ə', 'b.e'],\n wide: ['eramızdan əvvəl', 'bizim era']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1ci kvartal', '2ci kvartal', '3cü kvartal', '4cü kvartal']\n};\nvar monthValues = {\n narrow: ['Y', 'F', 'M', 'A', 'M', 'İ', 'İ', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyun', 'İyul', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'],\n wide: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr']\n};\nvar dayValues = {\n narrow: ['B.', 'B.e', 'Ç.a', 'Ç.', 'C.a', 'C.', 'Ş.'],\n short: ['B.', 'B.e', 'Ç.a', 'Ç.', 'C.a', 'C.', 'Ş.'],\n abbreviated: ['Baz', 'Baz.e', 'Çər.a', 'Çər', 'Cüm.a', 'Cüm', 'Şə'],\n wide: ['Bazar', 'Bazar ertəsi', 'Çərşənbə axşamı', 'Çərşənbə', 'Cümə axşamı', 'Cümə', 'Şənbə']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'gecəyarı',\n noon: 'gün',\n morning: 'səhər',\n afternoon: 'gündüz',\n evening: 'axşam',\n night: 'gecə'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'gecəyarı',\n noon: 'gün',\n morning: 'səhər',\n afternoon: 'gündüz',\n evening: 'axşam',\n night: 'gecə'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'gecəyarı',\n noon: 'gün',\n morning: 'səhər',\n afternoon: 'gündüz',\n evening: 'axşam',\n night: 'gecə'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'gecəyarı',\n noon: 'gün',\n morning: 'səhər',\n afternoon: 'gündüz',\n evening: 'axşam',\n night: 'gecə'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'gecəyarı',\n noon: 'gün',\n morning: 'səhər',\n afternoon: 'gündüz',\n evening: 'axşam',\n night: 'gecə'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'gecəyarı',\n noon: 'gün',\n morning: 'səhər',\n afternoon: 'gündüz',\n evening: 'axşam',\n night: 'gecə'\n }\n};\nvar suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n};\n\nvar getSuffix = function getSuffix(number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n\n var a = number % 10;\n var b = number % 100 - a;\n var c = number >= 100 ? 100 : null;\n\n if (suffixes[a]) {\n return suffixes[a];\n } else if (suffixes[b]) {\n return suffixes[b];\n } else if (c !== null) {\n return suffixes[c];\n }\n\n return '';\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n var suffix = getSuffix(number);\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)$/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)$/i,\n wide: /^(bizim eradan əvvəl|bizim era)$/i\n};\nvar parseEraPatterns = {\n any: [/^b$/i, /^(a|c)$/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]$/i,\n abbreviated: /^K[1234]$/i,\n wide: /^[1234](ci)? kvartal$/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[(?-i)yfmaisond]$/i,\n abbreviated: /^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i,\n wide: /^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i\n};\nvar parseMonthPatterns = {\n narrow: [/^[(?-i)y]$/i, /^[(?-i)f]$/i, /^[(?-i)m]$/i, /^[(?-i)a]$/i, /^[(?-i)m]$/i, /^[(?-i)i]$/i, /^[(?-i)i]$/i, /^[(?-i)a]$/i, /^[(?-i)s]$/i, /^[(?-i)o]$/i, /^[(?-i)n]$/i, /^[(?-i)d]$/i],\n abbreviated: [/^Yan$/i, /^Fev$/i, /^Mar$/i, /^Apr$/i, /^May$/i, /^İyun$/i, /^İyul$/i, /^Avg$/i, /^Sen$/i, /^Okt$/i, /^Noy$/i, /^Dek$/i],\n wide: [/^Yanvar$/i, /^Fevral$/i, /^Mart$/i, /^Aprel$/i, /^May$/i, /^İyun$/i, /^İyul$/i, /^Avgust$/i, /^Sentyabr$/i, /^Oktyabr$/i, /^Noyabr$/i, /^Dekabr$/i]\n};\nvar matchDayPatterns = {\n narrow: /^(B\\.|B\\.e|Ç\\.a|Ç\\.|C\\.a|C\\.|Ş\\.)$/i,\n short: /^(B\\.|B\\.e|Ç\\.a|Ç\\.|C\\.a|C\\.|Ş\\.)$/i,\n abbreviated: /^(Baz\\.e|Çər|Çər\\.a|Cüm|Cüm\\.a|Şə)$/i,\n wide: /^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i\n};\nvar parseDayPatterns = {\n narrow: [/^B\\.$/i, /^B\\.e$/i, /^Ç\\.a$/i, /^Ç\\.$/i, /^C\\.a$/i, /^C\\.$/i, /^Ş\\.$/i],\n abbreviated: [/^Baz$/i, /^Baz\\.e$/i, /^Çər\\.a$/i, /^Çər$/i, /^Cüm\\.a$/i, /^Cüm$/i, /^Şə$/i],\n wide: [/^Bazar$/i, /^Bazar ertəsi$/i, /^Çərşənbə axşamı$/i, /^Çərşənbə$/i, /^Cümə axşamı$/i, /^Cümə$/i, /^Şənbə$/i],\n any: [/^B\\.$/i, /^B\\.e$/i, /^Ç\\.a$/i, /^Ç\\.$/i, /^C\\.a$/i, /^C\\.$/i, /^Ş\\.$/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i,\n any: /^(am|pm|a\\.m\\.|p\\.m\\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a$/i,\n pm: /^p$/i,\n midnight: /^gecəyarı$/i,\n noon: /^gün$/i,\n morning: /səhər$/i,\n afternoon: /gündüz$/i,\n evening: /axşam$/i,\n night: /gecə$/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'narrow'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n var rem10 = count % 10;\n var rem100 = count % 100; // 1, 21, 31, ...\n\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace('{{count}}', String(count)); // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace('{{count}}', String(count)); // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace('{{count}}', String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return function (count, options) {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return 'праз ' + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + ' таму';\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nvar halfAMinute = function halfAMinute(_, options) {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'праз паўхвіліны';\n } else {\n return 'паўхвіліны таму';\n }\n }\n\n return 'паўхвіліны';\n};\n\nvar formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: 'менш за секунду',\n singularNominative: 'менш за {{count}} секунду',\n singularGenitive: 'менш за {{count}} секунды',\n pluralGenitive: 'менш за {{count}} секунд'\n },\n future: {\n one: 'менш, чым праз секунду',\n singularNominative: 'менш, чым праз {{count}} секунду',\n singularGenitive: 'менш, чым праз {{count}} секунды',\n pluralGenitive: 'менш, чым праз {{count}} секунд'\n }\n }),\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} секунда',\n singularGenitive: '{{count}} секунды',\n pluralGenitive: '{{count}} секунд'\n },\n past: {\n singularNominative: '{{count}} секунду таму',\n singularGenitive: '{{count}} секунды таму',\n pluralGenitive: '{{count}} секунд таму'\n },\n future: {\n singularNominative: 'праз {{count}} секунду',\n singularGenitive: 'праз {{count}} секунды',\n pluralGenitive: 'праз {{count}} секунд'\n }\n }),\n halfAMinute: halfAMinute,\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: 'менш за хвіліну',\n singularNominative: 'менш за {{count}} хвіліну',\n singularGenitive: 'менш за {{count}} хвіліны',\n pluralGenitive: 'менш за {{count}} хвілін'\n },\n future: {\n one: 'менш, чым праз хвіліну',\n singularNominative: 'менш, чым праз {{count}} хвіліну',\n singularGenitive: 'менш, чым праз {{count}} хвіліны',\n pluralGenitive: 'менш, чым праз {{count}} хвілін'\n }\n }),\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} хвіліна',\n singularGenitive: '{{count}} хвіліны',\n pluralGenitive: '{{count}} хвілін'\n },\n past: {\n singularNominative: '{{count}} хвіліну таму',\n singularGenitive: '{{count}} хвіліны таму',\n pluralGenitive: '{{count}} хвілін таму'\n },\n future: {\n singularNominative: 'праз {{count}} хвіліну',\n singularGenitive: 'праз {{count}} хвіліны',\n pluralGenitive: 'праз {{count}} хвілін'\n }\n }),\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} гадзіны',\n singularGenitive: 'каля {{count}} гадзін',\n pluralGenitive: 'каля {{count}} гадзін'\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} гадзіну',\n singularGenitive: 'прыблізна праз {{count}} гадзіны',\n pluralGenitive: 'прыблізна праз {{count}} гадзін'\n }\n }),\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} гадзіна',\n singularGenitive: '{{count}} гадзіны',\n pluralGenitive: '{{count}} гадзін'\n },\n past: {\n singularNominative: '{{count}} гадзіну таму',\n singularGenitive: '{{count}} гадзіны таму',\n pluralGenitive: '{{count}} гадзін таму'\n },\n future: {\n singularNominative: 'праз {{count}} гадзіну',\n singularGenitive: 'праз {{count}} гадзіны',\n pluralGenitive: 'праз {{count}} гадзін'\n }\n }),\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} дзень',\n singularGenitive: '{{count}} дні',\n pluralGenitive: '{{count}} дзён'\n }\n }),\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} месяца',\n // TODO\n singularGenitive: 'каля {{count}} месяцаў',\n // TODO\n pluralGenitive: 'каля {{count}} месяцаў' // TODO\n\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} месяц',\n // TODO\n singularGenitive: 'прыблізна праз {{count}} месяцы',\n // TODO\n pluralGenitive: 'прыблізна праз {{count}} месяцаў' // TODO\n\n }\n }),\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} месяц',\n singularGenitive: '{{count}} месяцы',\n pluralGenitive: '{{count}} месяцаў'\n }\n }),\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} месяца',\n singularGenitive: 'каля {{count}} месяцаў',\n pluralGenitive: 'каля {{count}} месяцаў'\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} месяц',\n singularGenitive: 'прыблізна праз {{count}} месяцы',\n pluralGenitive: 'прыблізна праз {{count}} месяцаў'\n }\n }),\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} месяц',\n singularGenitive: '{{count}} месяцы',\n pluralGenitive: '{{count}} месяцаў'\n }\n }),\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} года',\n singularGenitive: 'каля {{count}} гадоў',\n pluralGenitive: 'каля {{count}} гадоў'\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} год',\n singularGenitive: 'прыблізна праз {{count}} гады',\n pluralGenitive: 'прыблізна праз {{count}} гадоў'\n }\n }),\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} год',\n singularGenitive: '{{count}} гады',\n pluralGenitive: '{{count}} гадоў'\n }\n }),\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'больш за {{count}} год',\n singularGenitive: 'больш за {{count}} гады',\n pluralGenitive: 'больш за {{count}} гадоў'\n },\n future: {\n singularNominative: 'больш, чым праз {{count}} год',\n singularGenitive: 'больш, чым праз {{count}} гады',\n pluralGenitive: 'больш, чым праз {{count}} гадоў'\n }\n }),\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'амаль {{count}} год',\n singularGenitive: 'амаль {{count}} гады',\n pluralGenitive: 'амаль {{count}} гадоў'\n },\n future: {\n singularNominative: 'амаль праз {{count}} год',\n singularGenitive: 'амаль праз {{count}} гады',\n pluralGenitive: 'амаль праз {{count}} гадоў'\n }\n })\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n return formatDistanceLocale[token](count, options);\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","import requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nexport default function isSameUTCWeek(dirtyDateLeft, dirtyDateRight, options) {\n requiredArgs(2, arguments);\n var dateLeftStartOfWeek = startOfUTCWeek(dirtyDateLeft, options);\n var dateRightStartOfWeek = startOfUTCWeek(dirtyDateRight, options);\n return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime();\n}","import { toDate } from \"../../../../index.js\";\nimport isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['нядзелю', 'панядзелак', 'аўторак', 'сераду', 'чацвер', 'пятніцу', 'суботу'];\n\nfunction lastWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у мінулую \" + weekday + \" а' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'у мінулы \" + weekday + \" а' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = accusativeWeekdays[day];\n return \"'у \" + weekday + \" а' p\";\n}\n\nfunction nextWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у наступную \" + weekday + \" а' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'у наступны \" + weekday + \" а' p\";\n }\n}\n\nvar lastWeekFormat = function lastWeekFormat(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n};\n\nvar nextWeekFormat = function nextWeekFormat(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n};\n\nvar formatRelativeLocale = {\n lastWeek: lastWeekFormat,\n yesterday: \"'учора а' p\",\n today: \"'сёння а' p\",\n tomorrow: \"'заўтра а' p\",\n nextWeek: nextWeekFormat,\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['да н.э.', 'н.э.'],\n abbreviated: ['да н. э.', 'н. э.'],\n wide: ['да нашай эры', 'нашай эры']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-ы кв.', '2-і кв.', '3-і кв.', '4-ы кв.'],\n wide: ['1-ы квартал', '2-і квартал', '3-і квартал', '4-ы квартал']\n};\nvar monthValues = {\n narrow: ['С', 'Л', 'С', 'К', 'М', 'Ч', 'Л', 'Ж', 'В', 'К', 'Л', 'С'],\n abbreviated: ['студз.', 'лют.', 'сак.', 'крас.', 'май', 'чэрв.', 'ліп.', 'жн.', 'вер.', 'кастр.', 'ліст.', 'снеж.'],\n wide: ['студзень', 'люты', 'сакавік', 'красавік', 'май', 'чэрвень', 'ліпень', 'жнівень', 'верасень', 'кастрычнік', 'лістапад', 'снежань']\n};\nvar formattingMonthValues = {\n narrow: ['С', 'Л', 'С', 'К', 'М', 'Ч', 'Л', 'Ж', 'В', 'К', 'Л', 'С'],\n abbreviated: ['студз.', 'лют.', 'сак.', 'крас.', 'мая', 'чэрв.', 'ліп.', 'жн.', 'вер.', 'кастр.', 'ліст.', 'снеж.'],\n wide: ['студзеня', 'лютага', 'сакавіка', 'красавіка', 'мая', 'чэрвеня', 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'снежня']\n};\nvar dayValues = {\n narrow: ['Н', 'П', 'А', 'С', 'Ч', 'П', 'С'],\n short: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', 'сб'],\n abbreviated: ['нядз', 'пан', 'аўт', 'сер', 'чац', 'пят', 'суб'],\n wide: ['нядзеля', 'панядзелак', 'аўторак', 'серада', 'чацвер', 'пятніца', 'субота']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дзень',\n evening: 'веч.',\n night: 'ноч'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дзень',\n evening: 'веч.',\n night: 'ноч'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўнач',\n noon: 'поўдзень',\n morning: 'раніца',\n afternoon: 'дзень',\n evening: 'вечар',\n night: 'ноч'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночы'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночы'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўнач',\n noon: 'поўдзень',\n morning: 'раніцы',\n afternoon: 'дня',\n evening: 'вечара',\n night: 'ночы'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n var number = Number(dirtyNumber);\n var suffix;\n /** Though it's an incorrect ordinal form of a date we use it here for consistency with other similar locales (ru, uk)\n * For date-month combinations should be used `d` formatter.\n * Correct: `d MMMM` (4 верасня)\n * Incorrect: `do MMMM` (4-га верасня)\n *\n * But following the consistency leads to mistakes for literal uses of `do` formatter (ordinal day of month).\n * So for phrase \"5th day of month\" (`do дзень месяца`)\n * library will produce: `5-га дзень месяца`\n * but correct spelling should be: `5-ы дзень месяца`\n *\n * So I guess there should be a stand-alone and a formatting version of \"day of month\" formatters\n */\n\n if (unit === 'date') {\n suffix = '-га';\n } else if (unit === 'hour' || unit === 'minute' || unit === 'second') {\n suffix = '-я';\n } else {\n suffix = (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? '-і' : '-ы';\n }\n\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'any',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|га|і|ы|ае|ая|яя|шы|гі|ці|ты|мы))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((да )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((да )?н\\.?\\s?э\\.?)/i,\n wide: /^(да нашай эры|нашай эры|наша эра)/i\n};\nvar parseEraPatterns = {\n any: [/^д/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыі]?)? кв.?/i,\n wide: /^[1234](-?[ыі]?)? квартал/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[слкмчжв]/i,\n abbreviated: /^(студз|лют|сак|крас|ма[йя]|чэрв|ліп|жн|вер|кастр|ліст|снеж)\\.?/i,\n wide: /^(студзен[ья]|лют(ы|ага)|сакавіка?|красавіка?|ма[йя]|чэрвен[ья]|ліпен[ья]|жні(вень|ўня)|верас(ень|ня)|кастрычніка?|лістапада?|снеж(ань|ня))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^с/i, /^л/i, /^с/i, /^к/i, /^м/i, /^ч/i, /^л/i, /^ж/i, /^в/i, /^к/i, /^л/i, /^с/i],\n any: [/^ст/i, /^лю/i, /^са/i, /^кр/i, /^ма/i, /^ч/i, /^ліп/i, /^ж/i, /^в/i, /^ка/i, /^ліс/i, /^сн/i]\n};\nvar matchDayPatterns = {\n narrow: /^[нпасч]/i,\n short: /^(нд|ня|пн|па|аў|ат|ср|се|чц|ча|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(нядз?|ндз|пнд|пан|аўт|срд|сер|чцв|чац|птн|пят|суб).?/i,\n wide: /^(нядзел[яі]|панядзел(ак|ка)|аўтор(ак|ка)|серад[аы]|чацв(ер|ярга)|пятніц[аы]|субот[аы])/i\n};\nvar parseDayPatterns = {\n narrow: [/^н/i, /^п/i, /^а/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^н/i, /^п[ан]/i, /^а/i, /^с[ер]/i, /^ч/i, /^п[ят]/i, /^с[уб]/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^([дп]п|поўн\\.?|поўд\\.?|ран\\.?|дзень|дня|веч\\.?|ночы?)/i,\n abbreviated: /^([дп]п|поўн\\.?|поўд\\.?|ран\\.?|дзень|дня|веч\\.?|ночы?)/i,\n wide: /^([дп]п|поўнач|поўдзень|раніц[аы]|дзень|дня|вечара?|ночы?)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^поўн/i,\n noon: /^поўд/i,\n morning: /^р/i,\n afternoon: /^д[зн]/i,\n evening: /^в/i,\n night: /^н/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n var rem10 = count % 10;\n var rem100 = count % 100; // 1, 21, 31, ...\n\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace('{{count}}', String(count)); // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace('{{count}}', String(count)); // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace('{{count}}', String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return function (count, options) {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return 'праз ' + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + ' таму';\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nvar halfAMinute = function halfAMinute(_, options) {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'праз паўхвіліны';\n } else {\n return 'паўхвіліны таму';\n }\n }\n\n return 'паўхвіліны';\n};\n\nvar formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: 'менш за секунду',\n singularNominative: 'менш за {{count}} секунду',\n singularGenitive: 'менш за {{count}} секунды',\n pluralGenitive: 'менш за {{count}} секунд'\n },\n future: {\n one: 'менш, чым праз секунду',\n singularNominative: 'менш, чым праз {{count}} секунду',\n singularGenitive: 'менш, чым праз {{count}} секунды',\n pluralGenitive: 'менш, чым праз {{count}} секунд'\n }\n }),\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} секунда',\n singularGenitive: '{{count}} секунды',\n pluralGenitive: '{{count}} секунд'\n },\n past: {\n singularNominative: '{{count}} секунду таму',\n singularGenitive: '{{count}} секунды таму',\n pluralGenitive: '{{count}} секунд таму'\n },\n future: {\n singularNominative: 'праз {{count}} секунду',\n singularGenitive: 'праз {{count}} секунды',\n pluralGenitive: 'праз {{count}} секунд'\n }\n }),\n halfAMinute: halfAMinute,\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: 'менш за хвіліну',\n singularNominative: 'менш за {{count}} хвіліну',\n singularGenitive: 'менш за {{count}} хвіліны',\n pluralGenitive: 'менш за {{count}} хвілін'\n },\n future: {\n one: 'менш, чым праз хвіліну',\n singularNominative: 'менш, чым праз {{count}} хвіліну',\n singularGenitive: 'менш, чым праз {{count}} хвіліны',\n pluralGenitive: 'менш, чым праз {{count}} хвілін'\n }\n }),\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} хвіліна',\n singularGenitive: '{{count}} хвіліны',\n pluralGenitive: '{{count}} хвілін'\n },\n past: {\n singularNominative: '{{count}} хвіліну таму',\n singularGenitive: '{{count}} хвіліны таму',\n pluralGenitive: '{{count}} хвілін таму'\n },\n future: {\n singularNominative: 'праз {{count}} хвіліну',\n singularGenitive: 'праз {{count}} хвіліны',\n pluralGenitive: 'праз {{count}} хвілін'\n }\n }),\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} гадзіны',\n singularGenitive: 'каля {{count}} гадзін',\n pluralGenitive: 'каля {{count}} гадзін'\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} гадзіну',\n singularGenitive: 'прыблізна праз {{count}} гадзіны',\n pluralGenitive: 'прыблізна праз {{count}} гадзін'\n }\n }),\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} гадзіна',\n singularGenitive: '{{count}} гадзіны',\n pluralGenitive: '{{count}} гадзін'\n },\n past: {\n singularNominative: '{{count}} гадзіну таму',\n singularGenitive: '{{count}} гадзіны таму',\n pluralGenitive: '{{count}} гадзін таму'\n },\n future: {\n singularNominative: 'праз {{count}} гадзіну',\n singularGenitive: 'праз {{count}} гадзіны',\n pluralGenitive: 'праз {{count}} гадзін'\n }\n }),\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} дзень',\n singularGenitive: '{{count}} дні',\n pluralGenitive: '{{count}} дзён'\n }\n }),\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} месяца',\n // TODO\n singularGenitive: 'каля {{count}} месяцаў',\n // TODO\n pluralGenitive: 'каля {{count}} месяцаў' // TODO\n\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} месяц',\n // TODO\n singularGenitive: 'прыблізна праз {{count}} месяцы',\n // TODO\n pluralGenitive: 'прыблізна праз {{count}} месяцаў' // TODO\n\n }\n }),\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} месяц',\n singularGenitive: '{{count}} месяцы',\n pluralGenitive: '{{count}} месяцаў'\n }\n }),\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} месяца',\n singularGenitive: 'каля {{count}} месяцаў',\n pluralGenitive: 'каля {{count}} месяцаў'\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} месяц',\n singularGenitive: 'прыблізна праз {{count}} месяцы',\n pluralGenitive: 'прыблізна праз {{count}} месяцаў'\n }\n }),\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} месяц',\n singularGenitive: '{{count}} месяцы',\n pluralGenitive: '{{count}} месяцаў'\n }\n }),\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'каля {{count}} года',\n singularGenitive: 'каля {{count}} гадоў',\n pluralGenitive: 'каля {{count}} гадоў'\n },\n future: {\n singularNominative: 'прыблізна праз {{count}} год',\n singularGenitive: 'прыблізна праз {{count}} гады',\n pluralGenitive: 'прыблізна праз {{count}} гадоў'\n }\n }),\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} год',\n singularGenitive: '{{count}} гады',\n pluralGenitive: '{{count}} гадоў'\n }\n }),\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'больш за {{count}} год',\n singularGenitive: 'больш за {{count}} гады',\n pluralGenitive: 'больш за {{count}} гадоў'\n },\n future: {\n singularNominative: 'больш, чым праз {{count}} год',\n singularGenitive: 'больш, чым праз {{count}} гады',\n pluralGenitive: 'больш, чым праз {{count}} гадоў'\n }\n }),\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'амаль {{count}} год',\n singularGenitive: 'амаль {{count}} гады',\n pluralGenitive: 'амаль {{count}} гадоў'\n },\n future: {\n singularNominative: 'амаль праз {{count}} год',\n singularGenitive: 'амаль праз {{count}} гады',\n pluralGenitive: 'амаль праз {{count}} гадоў'\n }\n })\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n return formatDistanceLocale[token](count, options);\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","import { toDate } from \"../../../../index.js\";\nimport isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['нядзелю', 'панядзелак', 'аўторак', 'сераду', 'чацьвер', 'пятніцу', 'суботу'];\n\nfunction lastWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у мінулую \" + weekday + \" а' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'у мінулы \" + weekday + \" а' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = accusativeWeekdays[day];\n return \"'у \" + weekday + \" а' p\";\n}\n\nfunction nextWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у наступную \" + weekday + \" а' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'у наступны \" + weekday + \" а' p\";\n }\n}\n\nvar lastWeekFormat = function lastWeekFormat(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n};\n\nvar nextWeekFormat = function nextWeekFormat(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n};\n\nvar formatRelativeLocale = {\n lastWeek: lastWeekFormat,\n yesterday: \"'учора а' p\",\n today: \"'сёньня а' p\",\n tomorrow: \"'заўтра а' p\",\n nextWeek: nextWeekFormat,\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'по-малко от секунда',\n other: 'по-малко от {{count}} секунди'\n },\n xSeconds: {\n one: '1 секунда',\n other: '{{count}} секунди'\n },\n halfAMinute: 'половин минута',\n lessThanXMinutes: {\n one: 'по-малко от минута',\n other: 'по-малко от {{count}} минути'\n },\n xMinutes: {\n one: '1 минута',\n other: '{{count}} минути'\n },\n aboutXHours: {\n one: 'около час',\n other: 'около {{count}} часа'\n },\n xHours: {\n one: '1 час',\n other: '{{count}} часа'\n },\n xDays: {\n one: '1 ден',\n other: '{{count}} дни'\n },\n aboutXWeeks: {\n one: 'около седмица',\n other: 'около {{count}} седмици'\n },\n xWeeks: {\n one: '1 седмица',\n other: '{{count}} седмици'\n },\n aboutXMonths: {\n one: 'около месец',\n other: 'около {{count}} месеца'\n },\n xMonths: {\n one: '1 месец',\n other: '{{count}} месеца'\n },\n aboutXYears: {\n one: 'около година',\n other: 'около {{count}} години'\n },\n xYears: {\n one: '1 година',\n other: '{{count}} години'\n },\n overXYears: {\n one: 'над година',\n other: 'над {{count}} години'\n },\n almostXYears: {\n one: 'почти година',\n other: 'почти {{count}} години'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'след ' + result;\n } else {\n return 'преди ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['да н.э.', 'н.э.'],\n abbreviated: ['да н. э.', 'н. э.'],\n wide: ['да нашай эры', 'нашай эры']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-ы кв.', '2-і кв.', '3-і кв.', '4-ы кв.'],\n wide: ['1-ы квартал', '2-і квартал', '3-і квартал', '4-ы квартал']\n};\nvar monthValues = {\n narrow: ['С', 'Л', 'С', 'К', 'Т', 'Ч', 'Л', 'Ж', 'В', 'К', 'Л', 'С'],\n abbreviated: ['студз.', 'лют.', 'сак.', 'крас.', 'трав.', 'чэрв.', 'ліп.', 'жн.', 'вер.', 'кастр.', 'ліст.', 'сьнеж.'],\n wide: ['студзень', 'люты', 'сакавік', 'красавік', 'травень', 'чэрвень', 'ліпень', 'жнівень', 'верасень', 'кастрычнік', 'лістапад', 'сьнежань']\n};\nvar formattingMonthValues = {\n narrow: ['С', 'Л', 'С', 'К', 'Т', 'Ч', 'Л', 'Ж', 'В', 'К', 'Л', 'С'],\n abbreviated: ['студз.', 'лют.', 'сак.', 'крас.', 'трав.', 'чэрв.', 'ліп.', 'жн.', 'вер.', 'кастр.', 'ліст.', 'сьнеж.'],\n wide: ['студзеня', 'лютага', 'сакавіка', 'красавіка', 'траўня', 'чэрвеня', 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'сьнежня']\n};\nvar dayValues = {\n narrow: ['Н', 'П', 'А', 'С', 'Ч', 'П', 'С'],\n short: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', 'сб'],\n abbreviated: ['нядз', 'пан', 'аўт', 'сер', 'чаць', 'пят', 'суб'],\n wide: ['нядзеля', 'панядзелак', 'аўторак', 'серада', 'чацьвер', 'пятніца', 'субота']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дзень',\n evening: 'веч.',\n night: 'ноч'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дзень',\n evening: 'веч.',\n night: 'ноч'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўнач',\n noon: 'поўдзень',\n morning: 'раніца',\n afternoon: 'дзень',\n evening: 'вечар',\n night: 'ноч'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночы'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўн.',\n noon: 'поўд.',\n morning: 'ран.',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночы'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'поўнач',\n noon: 'поўдзень',\n morning: 'раніцы',\n afternoon: 'дня',\n evening: 'вечара',\n night: 'ночы'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n var number = Number(dirtyNumber);\n var suffix;\n /** Though it's an incorrect ordinal form of a date we use it here for consistency with other similar locales (ru, uk)\n * For date-month combinations should be used `d` formatter.\n * Correct: `d MMMM` (4 верасня)\n * Incorrect: `do MMMM` (4-га верасня)\n *\n * But following the consistency leads to mistakes for literal uses of `do` formatter (ordinal day of month).\n * So for phrase \"5th day of month\" (`do дзень месяца`)\n * library will produce: `5-га дзень месяца`\n * but correct spelling should be: `5-ы дзень месяца`\n *\n * So I guess there should be a stand-alone and a formatting version of \"day of month\" formatters\n */\n\n if (unit === 'date') {\n suffix = '-га';\n } else if (unit === 'hour' || unit === 'minute' || unit === 'second') {\n suffix = '-я';\n } else {\n suffix = (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? '-і' : '-ы';\n }\n\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'any',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|га|і|ы|ае|ая|яя|шы|гі|ці|ты|мы))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((да )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((да )?н\\.?\\s?э\\.?)/i,\n wide: /^(да нашай эры|нашай эры|наша эра)/i\n};\nvar parseEraPatterns = {\n any: [/^д/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыі]?)? кв.?/i,\n wide: /^[1234](-?[ыі]?)? квартал/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[слкмчжв]/i,\n abbreviated: /^(студз|лют|сак|крас|тр(ав)?|чэрв|ліп|жн|вер|кастр|ліст|сьнеж)\\.?/i,\n wide: /^(студзен[ья]|лют(ы|ага)|сакавіка?|красавіка?|тра(вень|ўня)|чэрвен[ья]|ліпен[ья]|жні(вень|ўня)|верас(ень|ня)|кастрычніка?|лістапада?|сьнеж(ань|ня))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^с/i, /^л/i, /^с/i, /^к/i, /^т/i, /^ч/i, /^л/i, /^ж/i, /^в/i, /^к/i, /^л/i, /^с/i],\n any: [/^ст/i, /^лю/i, /^са/i, /^кр/i, /^тр/i, /^ч/i, /^ліп/i, /^ж/i, /^в/i, /^ка/i, /^ліс/i, /^сн/i]\n};\nvar matchDayPatterns = {\n narrow: /^[нпасч]/i,\n short: /^(нд|ня|пн|па|аў|ат|ср|се|чц|ча|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(нядз?|ндз|пнд|пан|аўт|срд|сер|чцьв|чаць|птн|пят|суб).?/i,\n wide: /^(нядзел[яі]|панядзел(ак|ка)|аўтор(ак|ка)|серад[аы]|чацьв(ер|ярга)|пятніц[аы]|субот[аы])/i\n};\nvar parseDayPatterns = {\n narrow: [/^н/i, /^п/i, /^а/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^н/i, /^п[ан]/i, /^а/i, /^с[ер]/i, /^ч/i, /^п[ят]/i, /^с[уб]/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^([дп]п|поўн\\.?|поўд\\.?|ран\\.?|дзень|дня|веч\\.?|ночы?)/i,\n abbreviated: /^([дп]п|поўн\\.?|поўд\\.?|ран\\.?|дзень|дня|веч\\.?|ночы?)/i,\n wide: /^([дп]п|поўнач|поўдзень|раніц[аы]|дзень|дня|вечара?|ночы?)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^поўн/i,\n noon: /^поўд/i,\n morning: /^р/i,\n afternoon: /^д[зн]/i,\n evening: /^в/i,\n night: /^н/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, dd MMMM yyyy',\n long: 'dd MMMM yyyy',\n medium: 'dd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","import toDate from \"../../../../toDate/index.js\";\nimport isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\n// Adapted from the `ru` translation\nvar weekdays = ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота'];\n\nfunction lastWeek(day) {\n var weekday = weekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 6:\n return \"'миналата \" + weekday + \" в' p\";\n\n case 1:\n case 2:\n case 4:\n case 5:\n return \"'миналия \" + weekday + \" в' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = weekdays[day];\n\n if (day === 2\n /* Tue */\n ) {\n return \"'във \" + weekday + \" в' p\";\n } else {\n return \"'в \" + weekday + \" в' p\";\n }\n}\n\nfunction nextWeek(day) {\n var weekday = weekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 6:\n return \"'следващата \" + weekday + \" в' p\";\n\n case 1:\n case 2:\n case 4:\n case 5:\n return \"'следващия \" + weekday + \" в' p\";\n }\n}\n\nvar lastWeekFormatToken = function lastWeekFormatToken(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n};\n\nvar nextWeekFormatToken = function nextWeekFormatToken(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n};\n\nvar formatRelativeLocale = {\n lastWeek: lastWeekFormatToken,\n yesterday: \"'вчера в' p\",\n today: \"'днес в' p\",\n tomorrow: \"'утре в' p\",\n nextWeek: nextWeekFormatToken,\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['пр.н.е.', 'н.е.'],\n abbreviated: ['преди н. е.', 'н. е.'],\n wide: ['преди новата ера', 'новата ера']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-во тримес.', '2-ро тримес.', '3-то тримес.', '4-то тримес.'],\n wide: ['1-во тримесечие', '2-ро тримесечие', '3-то тримесечие', '4-то тримесечие']\n};\nvar monthValues = {\n abbreviated: ['яну', 'фев', 'мар', 'апр', 'май', 'юни', 'юли', 'авг', 'сеп', 'окт', 'ное', 'дек'],\n wide: ['януари', 'февруари', 'март', 'април', 'май', 'юни', 'юли', 'август', 'септември', 'октомври', 'ноември', 'декември']\n};\nvar dayValues = {\n narrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n short: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n abbreviated: ['нед', 'пон', 'вто', 'сря', 'чет', 'пет', 'съб'],\n wide: ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота']\n};\nvar dayPeriodValues = {\n wide: {\n am: 'преди обяд',\n pm: 'след обяд',\n midnight: 'в полунощ',\n noon: 'на обяд',\n morning: 'сутринта',\n afternoon: 'следобед',\n evening: 'вечерта',\n night: 'през нощта'\n }\n};\n\nfunction isFeminine(unit) {\n return unit === 'year' || unit === 'week' || unit === 'minute' || unit === 'second';\n}\n\nfunction isNeuter(unit) {\n return unit === 'quarter';\n}\n\nfunction numberWithSuffix(number, unit, masculine, feminine, neuter) {\n var suffix = isNeuter(unit) ? neuter : isFeminine(unit) ? feminine : masculine;\n return number + '-' + suffix;\n}\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n\n if (number === 0) {\n return numberWithSuffix(0, unit, 'ев', 'ева', 'ево');\n } else if (number % 1000 === 0) {\n return numberWithSuffix(number, unit, 'ен', 'на', 'но');\n } else if (number % 100 === 0) {\n return numberWithSuffix(number, unit, 'тен', 'тна', 'тно');\n }\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return numberWithSuffix(number, unit, 'ви', 'ва', 'во');\n\n case 2:\n return numberWithSuffix(number, unit, 'ри', 'ра', 'ро');\n\n case 7:\n case 8:\n return numberWithSuffix(number, unit, 'ми', 'ма', 'мо');\n }\n }\n\n return numberWithSuffix(number, unit, 'ти', 'та', 'то');\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?[врмт][аи]|-?т?(ен|на)|-?(ев|ева))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((пр)?н\\.?\\s?е\\.?)/i,\n abbreviated: /^((пр)?н\\.?\\s?е\\.?)/i,\n wide: /^(преди новата ера|новата ера|нова ера)/i\n};\nvar parseEraPatterns = {\n any: [/^п/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[врт]?o?)? тримес.?/i,\n wide: /^[1234](-?[врт]?о?)? тримесечие/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchDayPatterns = {\n narrow: /^[нпвсч]/i,\n short: /^(нд|пн|вт|ср|чт|пт|сб)/i,\n abbreviated: /^(нед|пон|вто|сря|чет|пет|съб)/i,\n wide: /^(неделя|понеделник|вторник|сряда|четвъртък|петък|събота)/i\n};\nvar parseDayPatterns = {\n narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[ъб]/i]\n};\nvar matchMonthPatterns = {\n abbreviated: /^(яну|фев|мар|апр|май|юни|юли|авг|сеп|окт|ное|дек)/i,\n wide: /^(януари|февруари|март|април|май|юни|юли|август|септември|октомври|ноември|декември)/i\n};\nvar parseMonthPatterns = {\n any: [/^я/i, /^ф/i, /^мар/i, /^ап/i, /^май/i, /^юн/i, /^юл/i, /^ав/i, /^се/i, /^окт/i, /^но/i, /^де/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(преди о|след о|в по|на о|през|веч|сут|следо)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^преди о/i,\n pm: /^след о/i,\n midnight: /^в пол/i,\n noon: /^на об/i,\n morning: /^сут/i,\n afternoon: /^следо/i,\n evening: /^веч/i,\n night: /^през н/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar numberValues = {\n locale: {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n number: {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n }\n};\nvar eraValues = {\n narrow: ['খ্রিঃপূঃ', 'খ্রিঃ'],\n abbreviated: ['খ্রিঃপূর্ব', 'খ্রিঃ'],\n wide: ['খ্রিস্টপূর্ব', 'খ্রিস্টাব্দ']\n};\nvar quarterValues = {\n narrow: ['১', '২', '৩', '৪'],\n abbreviated: ['১ত্রৈ', '২ত্রৈ', '৩ত্রৈ', '৪ত্রৈ'],\n wide: ['১ম ত্রৈমাসিক', '২য় ত্রৈমাসিক', '৩য় ত্রৈমাসিক', '৪র্থ ত্রৈমাসিক']\n};\nvar monthValues = {\n narrow: ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'],\n abbreviated: ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'],\n wide: ['জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর']\n};\nvar dayValues = {\n narrow: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'],\n short: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহ', 'শুক্র', 'শনি'],\n abbreviated: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহ', 'শুক্র', 'শনি'],\n wide: ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার ', 'শুক্রবার', 'শনিবার']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'পূ',\n pm: 'অপ',\n midnight: 'মধ্যরাত',\n noon: 'মধ্যাহ্ন',\n morning: 'সকাল',\n afternoon: 'বিকাল',\n evening: 'সন্ধ্যা',\n night: 'রাত'\n },\n abbreviated: {\n am: 'পূর্বাহ্ন',\n pm: 'অপরাহ্ন',\n midnight: 'মধ্যরাত',\n noon: 'মধ্যাহ্ন',\n morning: 'সকাল',\n afternoon: 'বিকাল',\n evening: 'সন্ধ্যা',\n night: 'রাত'\n },\n wide: {\n am: 'পূর্বাহ্ন',\n pm: 'অপরাহ্ন',\n midnight: 'মধ্যরাত',\n noon: 'মধ্যাহ্ন',\n morning: 'সকাল',\n afternoon: 'বিকাল',\n evening: 'সন্ধ্যা',\n night: 'রাত'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'পূ',\n pm: 'অপ',\n midnight: 'মধ্যরাত',\n noon: 'মধ্যাহ্ন',\n morning: 'সকাল',\n afternoon: 'বিকাল',\n evening: 'সন্ধ্যা',\n night: 'রাত'\n },\n abbreviated: {\n am: 'পূর্বাহ্ন',\n pm: 'অপরাহ্ন',\n midnight: 'মধ্যরাত',\n noon: 'মধ্যাহ্ন',\n morning: 'সকাল',\n afternoon: 'বিকাল',\n evening: 'সন্ধ্যা',\n night: 'রাত'\n },\n wide: {\n am: 'পূর্বাহ্ন',\n pm: 'অপরাহ্ন',\n midnight: 'মধ্যরাত',\n noon: 'মধ্যাহ্ন',\n morning: 'সকাল',\n afternoon: 'বিকাল',\n evening: 'সন্ধ্যা',\n night: 'রাত'\n }\n};\n\nfunction dateOrdinalNumber(number, localeNumber) {\n if (number > 18 && number <= 31) {\n return localeNumber + 'শে';\n } else {\n switch (number) {\n case 1:\n return localeNumber + 'লা';\n\n case 2:\n case 3:\n return localeNumber + 'রা';\n\n case 4:\n return localeNumber + 'ঠা';\n\n default:\n return localeNumber + 'ই';\n }\n }\n}\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var localeNumber = numberToLocale(number);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n\n if (unit === 'date') {\n return dateOrdinalNumber(number, localeNumber);\n }\n\n if (number > 10 || number === 0) return localeNumber + 'তম';\n var rem10 = number % 10;\n\n switch (rem10) {\n case 2:\n case 3:\n return localeNumber + 'য়';\n\n case 4:\n return localeNumber + 'র্থ';\n\n case 6:\n return localeNumber + 'ষ্ঠ';\n\n default:\n return localeNumber + 'ম';\n }\n}; // function localeToNumber(locale: string): number {\n// const enNumber = locale.toString().replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n// return numberValues.number[match as keyof typeof numberValues.number]\n// })\n// return Number(enNumber)\n// }\n\n\nexport function numberToLocale(enNumber) {\n return enNumber.toString().replace(/\\d/g, function (match) {\n return numberValues.locale[match];\n });\n}\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} {{time}} 'সময়'\",\n long: \"{{date}} {{time}} 'সময়'\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ম|য়|র্থ|ষ্ঠ|শে|ই|তম)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(খ্রিঃপূঃ|খ্রিঃ)/i,\n abbreviated: /^(খ্রিঃপূর্ব|খ্রিঃ)/i,\n wide: /^(খ্রিস্টপূর্ব|খ্রিস্টাব্দ)/i\n};\nvar parseEraPatterns = {\n narrow: [/^খ্রিঃপূঃ/i, /^খ্রিঃ/i],\n abbreviated: [/^খ্রিঃপূর্ব/i, /^খ্রিঃ/i],\n wide: [/^খ্রিস্টপূর্ব/i, /^খ্রিস্টাব্দ/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[১২৩৪]/i,\n abbreviated: /^[১২৩৪]ত্রৈ/i,\n wide: /^[১২৩৪](ম|য়|র্থ)? ত্রৈমাসিক/i\n};\nvar parseQuarterPatterns = {\n any: [/১/i, /২/i, /৩/i, /৪/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i,\n abbreviated: /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i,\n wide: /^(জানুয়ারি|ফেব্রুয়ারি|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্টেম্বর|অক্টোবর|নভেম্বর|ডিসেম্বর)/i\n};\nvar parseMonthPatterns = {\n any: [/^জানু/i, /^ফেব্রু/i, /^মার্চ/i, /^এপ্রিল/i, /^মে/i, /^জুন/i, /^জুলাই/i, /^আগস্ট/i, /^সেপ্ট/i, /^অক্টো/i, /^নভে/i, /^ডিসে/i]\n};\nvar matchDayPatterns = {\n narrow: /^(র|সো|ম|বু|বৃ|শু|শ)+/i,\n short: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i,\n abbreviated: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i,\n wide: /^(রবিবার|সোমবার|মঙ্গলবার|বুধবার|বৃহস্পতিবার |শুক্রবার|শনিবার)+/i\n};\nvar parseDayPatterns = {\n narrow: [/^র/i, /^সো/i, /^ম/i, /^বু/i, /^বৃ/i, /^শু/i, /^শ/i],\n short: [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i],\n abbreviated: [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i],\n wide: [/^রবিবার/i, /^সোমবার/i, /^মঙ্গলবার/i, /^বুধবার/i, /^বৃহস্পতিবার /i, /^শুক্রবার/i, /^শনিবার/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(পূ|অপ|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i,\n abbreviated: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i,\n wide: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^পূ/i,\n pm: /^অপ/i,\n midnight: /^মধ্যরাত/i,\n noon: /^মধ্যাহ্ন/i,\n morning: /সকাল/i,\n afternoon: /বিকাল/i,\n evening: /সন্ধ্যা/i,\n night: /রাত/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'wide'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'wide'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d. MMMM yyyy.',\n long: 'd. MMMM yyyy.',\n medium: 'd. MMM yy.',\n short: 'dd. MM. yy.'\n};\nvar timeFormats = {\n full: 'HH:mm:ss (zzzz)',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'u' {{time}}\",\n long: \"{{date}} 'u' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['pr.n.e.', 'AD'],\n abbreviated: ['pr. Hr.', 'po. Hr.'],\n wide: ['Prije Hrista', 'Poslije Hrista']\n};\nvar quarterValues = {\n narrow: ['1.', '2.', '3.', '4.'],\n abbreviated: ['1. kv.', '2. kv.', '3. kv.', '4. kv.'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'],\n wide: ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar']\n};\nvar formattingMonthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'],\n wide: ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar']\n};\nvar dayValues = {\n narrow: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'],\n short: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'],\n abbreviated: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'],\n wide: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'poslije podne',\n evening: 'uveče',\n night: 'noću'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'poslije podne',\n evening: 'uveče',\n night: 'noću'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return String(number) + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(pr\\.n\\.e\\.|AD)/i,\n abbreviated: /^(pr\\.\\s?Hr\\.|po\\.\\s?Hr\\.)/i,\n wide: /^(Prije Hrista|prije nove ere|Poslije Hrista|nova era)/i\n};\nvar parseEraPatterns = {\n any: [/^pr/i, /^(po|nova)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]\\.\\s?kv\\.?/i,\n wide: /^[1234]\\. kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(10|11|12|[123456789])\\./i,\n abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i,\n wide: /^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(juni|juna)|(juli|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^1/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^7/i, /^8/i, /^9/i, /^10/i, /^11/i, /^12/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^avg/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[npusčc]/i,\n short: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,\n abbreviated: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,\n wide: /^(nedjelja|ponedjeljak|utorak|srijeda|(četvrtak|cetvrtak)|petak|subota)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|poslije podne|ujutru)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^pono/i,\n noon: /^pod/i,\n morning: /jutro/i,\n afternoon: /(poslije\\s|po)+podne/i,\n evening: /(uvece|uveče)/i,\n night: /(nocu|noću)/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d 'de' MMMM y\",\n long: \"d 'de' MMMM y\",\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'a les' {{time}}\",\n long: \"{{date}} 'a les' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\n/**\n * General information\n * Reference: https://aplicacions.llengua.gencat.cat\n * Reference: https://www.uoc.edu/portal/ca/servei-linguistic/convencions/abreviacions/simbols/simbols-habituals.html\n */\n\n/**\n * Abans de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abans+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6876&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6876&titol=abans%20de%20Crist%20(abreviatura)%20/%20abans%20de%20Crist%20(sigla)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes\n * Desprest de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=despr%E9s+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6879&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6879&titol=despr%E9s%20de%20Crist%20(sigla)%20/%20despr%E9s%20de%20Crist%20(abreviatura)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes\n */\n\nvar eraValues = {\n narrow: ['aC', 'dC'],\n abbreviated: ['a. de C.', 'd. de C.'],\n wide: ['abans de Crist', 'després de Crist']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1r trimestre', '2n trimestre', '3r trimestre', '4t trimestre']\n};\n/**\n * Dins d'un text convé fer servir la forma sencera dels mesos, ja que sempre és més clar el mot sencer que l'abreviatura, encara que aquesta sigui força coneguda.\n * Cal reservar, doncs, les abreviatures per a les llistes o classificacions, els gràfics, les taules o quadres estadístics, els textos publicitaris, etc.\n *\n * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviacions+mesos&action=Principal&method=detall_completa&numPagina=1&idHit=8402&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8402&titol=abreviatures%20dels%20mesos%20de%20l%27any&numeroResultat=5&clickLink=detall&tipusCerca=cerca.fitxes\n */\n\nvar monthValues = {\n narrow: ['GN', 'FB', 'MÇ', 'AB', 'MG', 'JN', 'JL', 'AG', 'ST', 'OC', 'NV', 'DS'],\n\n /**\n * Les abreviatures dels mesos de l'any es formen seguint una de les normes generals de formació d'abreviatures.\n * S'escriu la primera síl·laba i les consonants de la síl·laba següent anteriors a la primera vocal.\n * Els mesos de març, maig i juny no s'abreugen perquè són paraules d'una sola síl·laba.\n */\n abbreviated: ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'],\n wide: ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre']\n};\n/**\n * Les abreviatures dels dies de la setmana comencen totes amb la lletra d.\n * Tot seguit porten la consonant següent a la i, excepte en el cas de dimarts, dimecres i diumenge, en què aquesta consonant és la m i, per tant, hi podria haver confusió.\n * Per evitar-ho, s'ha substituït la m per una t (en el cas de dimarts), una c (en el cas de dimecres) i una g (en el cas de diumenge), respectivament.\n *\n * Seguint la norma general d'ús de les abreviatures, les dels dies de la setmana sempre porten punt final.\n * Igualment, van amb la primera lletra en majúscula quan la paraula sencera també hi aniria.\n * En canvi, van amb la primera lletra en minúscula quan la inicial de la paraula sencera també hi aniria.\n *\n * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviatures+dies&action=Principal&method=detall_completa&numPagina=1&idHit=8387&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8387&titol=abreviatures%20dels%20dies%20de%20la%20setmana&numeroResultat=1&clickLink=detall&tipusCerca=cerca.tot\n */\n\nvar dayValues = {\n narrow: ['dg.', 'dl.', 'dt.', 'dm.', 'dj.', 'dv.', 'ds.'],\n short: ['dg.', 'dl.', 'dt.', 'dm.', 'dj.', 'dv.', 'ds.'],\n abbreviated: ['dg.', 'dl.', 'dt.', 'dm.', 'dj.', 'dv.', 'ds.'],\n wide: ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte']\n};\n/**\n * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?action=Principal&method=detall&input_cercar=parts+del+dia&numPagina=1&database=FITXES_PUB&idFont=12801&idHit=12801&tipusFont=Fitxes+de+l%27Optimot&numeroResultat=1&databases_avansada=&categories_avansada=&clickLink=detall&titol=Nom+de+les+parts+del+dia&tematica=&tipusCerca=cerca.fitxes\n */\n\nvar dayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'mitjanit',\n noon: 'migdia',\n morning: 'matí',\n afternoon: 'tarda',\n evening: 'vespre',\n night: 'nit'\n },\n abbreviated: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'mitjanit',\n noon: 'migdia',\n morning: 'matí',\n afternoon: 'tarda',\n evening: 'vespre',\n night: 'nit'\n },\n wide: {\n am: 'ante meridiem',\n pm: 'post meridiem',\n midnight: 'mitjanit',\n noon: 'migdia',\n morning: 'matí',\n afternoon: 'tarda',\n evening: 'vespre',\n night: 'nit'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'de la mitjanit',\n noon: 'del migdia',\n morning: 'del matí',\n afternoon: 'de la tarda',\n evening: 'del vespre',\n night: 'de la nit'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'de la mitjanit',\n noon: 'del migdia',\n morning: 'del matí',\n afternoon: 'de la tarda',\n evening: 'del vespre',\n night: 'de la nit'\n },\n wide: {\n am: 'ante meridiem',\n pm: 'post meridiem',\n midnight: 'de la mitjanit',\n noon: 'del migdia',\n morning: 'del matí',\n afternoon: 'de la tarda',\n evening: 'del vespre',\n night: 'de la nit'\n }\n};\n/**\n * Quan van en singular, els nombres ordinals es representen, en forma d’abreviatura, amb la xifra seguida de l’última lletra del mot desplegat.\n * És optatiu posar punt després de la lletra.\n *\n * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/pdf/abrevia.pdf#page=18\n */\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'r';\n\n case 2:\n return number + 'n';\n\n case 3:\n return number + 'r';\n\n case 4:\n return number + 't';\n }\n }\n\n return number + 'è';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(è|r|n|r|t)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(aC|dC)/i,\n abbreviated: /^(a. de C.|d. de C.)/i,\n wide: /^(abans de Crist|despr[eé]s de Crist)/i\n};\nvar parseEraPatterns = {\n narrow: [/^aC/i, /^dC/i],\n abbreviated: [/^(a. de C.)/i, /^(d. de C.)/i],\n wide: [/^(abans de Crist)/i, /^(despr[eé]s de Crist)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](è|r|n|r|t)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(GN|FB|MÇ|AB|MG|JN|JL|AG|ST|OC|NV|DS)/i,\n abbreviated: /^(gen.|febr.|març|abr.|maig|juny|jul.|ag.|set.|oct.|nov.|des.)/i,\n wide: /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^GN/i, /^FB/i, /^MÇ/i, /^AB/i, /^MG/i, /^JN/i, /^JL/i, /^AG/i, /^ST/i, /^OC/i, /^NV/i, /^DS/i],\n abbreviated: [/^gen./i, /^febr./i, /^març/i, /^abr./i, /^maig/i, /^juny/i, /^jul./i, /^ag./i, /^set./i, /^oct./i, /^nov./i, /^des./i],\n wide: [/^gener/i, /^febrer/i, /^març/i, /^abril/i, /^maig/i, /^juny/i, /^juliol/i, /^agost/i, /^setembre/i, /^octubre/i, /^novembre/i, /^desembre/i]\n};\nvar matchDayPatterns = {\n narrow: /^(dg\\.|dl\\.|dt\\.|dm\\.|dj\\.|dv\\.|ds\\.)/i,\n short: /^(dg\\.|dl\\.|dt\\.|dm\\.|dj\\.|dv\\.|ds\\.)/i,\n abbreviated: /^(dg\\.|dl\\.|dt\\.|dm\\.|dj\\.|dv\\.|ds\\.)/i,\n wide: /^(diumenge|dilluns|dimarts|dimecres|dijous|divendres|dissabte)/i\n};\nvar parseDayPatterns = {\n narrow: [/^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i],\n abbreviated: [/^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i],\n wide: [/^diumenge/i, /^dilluns/i, /^dimarts/i, /^dimecres/i, /^dijous/i, /^divendres/i, /^disssabte/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(del|de la) (matí|tarda|vespre|nit))/i,\n abbreviated: /^([ap]\\.?\\s?m\\.?|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i,\n wide: /^(ante meridiem|post meridiem|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mitjanit/i,\n noon: /^migdia/i,\n morning: /matí/i,\n afternoon: /tarda/i,\n evening: /vespre/i,\n night: /nit/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'wide'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'wide'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'wide'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d. MMMM yyyy',\n long: 'd. MMMM yyyy',\n medium: 'd. M. yyyy',\n short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'v' {{time}}\",\n long: \"{{date}} 'v' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['př. n. l.', 'n. l.'],\n abbreviated: ['př. n. l.', 'n. l.'],\n wide: ['před naším letopočtem', 'našeho letopočtu']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí'],\n wide: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí']\n};\nvar monthValues = {\n narrow: ['L', 'Ú', 'B', 'D', 'K', 'Č', 'Č', 'S', 'Z', 'Ř', 'L', 'P'],\n abbreviated: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],\n wide: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec']\n};\nvar formattingMonthValues = {\n narrow: ['L', 'Ú', 'B', 'D', 'K', 'Č', 'Č', 'S', 'Z', 'Ř', 'L', 'P'],\n abbreviated: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],\n wide: ['ledna', 'února', 'března', 'dubna', 'května', 'června', 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince']\n};\nvar dayValues = {\n narrow: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],\n short: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],\n abbreviated: ['ned', 'pon', 'úte', 'stř', 'čtv', 'pát', 'sob'],\n wide: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'dop.',\n pm: 'odp.',\n midnight: 'půlnoc',\n noon: 'poledne',\n morning: 'ráno',\n afternoon: 'odpoledne',\n evening: 'večer',\n night: 'noc'\n },\n abbreviated: {\n am: 'dop.',\n pm: 'odp.',\n midnight: 'půlnoc',\n noon: 'poledne',\n morning: 'ráno',\n afternoon: 'odpoledne',\n evening: 'večer',\n night: 'noc'\n },\n wide: {\n am: 'dopoledne',\n pm: 'odpoledne',\n midnight: 'půlnoc',\n noon: 'poledne',\n morning: 'ráno',\n afternoon: 'odpoledne',\n evening: 'večer',\n night: 'noc'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'dop.',\n pm: 'odp.',\n midnight: 'půlnoc',\n noon: 'poledne',\n morning: 'ráno',\n afternoon: 'odpoledne',\n evening: 'večer',\n night: 'noc'\n },\n abbreviated: {\n am: 'dop.',\n pm: 'odp.',\n midnight: 'půlnoc',\n noon: 'poledne',\n morning: 'ráno',\n afternoon: 'odpoledne',\n evening: 'večer',\n night: 'noc'\n },\n wide: {\n am: 'dopoledne',\n pm: 'odpoledne',\n midnight: 'půlnoc',\n noon: 'poledne',\n morning: 'ráno',\n afternoon: 'odpoledne',\n evening: 'večer',\n night: 'noc'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(p[řr](\\.|ed) Kr\\.|p[řr](\\.|ed) n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n abbreviated: /^(p[řr](\\.|ed) Kr\\.|p[řr](\\.|ed) n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n wide: /^(p[řr](\\.|ed) Kristem|p[řr](\\.|ed) na[šs][íi]m letopo[čc]tem|po Kristu|na[šs]eho letopo[čc]tu)/i\n};\nvar parseEraPatterns = {\n any: [/^p[řr]/i, /^(po|n)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]\\. [čc]tvrtlet[íi]/i,\n wide: /^[1234]\\. [čc]tvrtlet[íi]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[lúubdkčcszřrlp]/i,\n abbreviated: /^(led|[úu]no|b[řr]e|dub|kv[ěe]|[čc]vn|[čc]vc|srp|z[áa][řr]|[řr][íi]j|lis|pro)/i,\n wide: /^(leden|ledna|[úu]nora?|b[řr]ezen|b[řr]ezna|duben|dubna|kv[ěe]ten|kv[ěe]tna|[čc]erven(ec|ce)?|[čc]ervna|srpen|srpna|z[áa][řr][íi]|[řr][íi]jen|[řr][íi]jna|listopad(a|u)?|prosinec|prosince)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^l/i, /^[úu]/i, /^b/i, /^d/i, /^k/i, /^[čc]/i, /^[čc]/i, /^s/i, /^z/i, /^[řr]/i, /^l/i, /^p/i],\n any: [/^led/i, /^[úu]n/i, /^b[řr]e/i, /^dub/i, /^kv[ěe]/i, /^[čc]vn|[čc]erven(?!\\w)|[čc]ervna/i, /^[čc]vc|[čc]erven(ec|ce)/i, /^srp/i, /^z[áa][řr]/i, /^[řr][íi]j/i, /^lis/i, /^pro/i]\n};\nvar matchDayPatterns = {\n narrow: /^[npuúsčps]/i,\n short: /^(ne|po|[úu]t|st|[čc]t|p[áa]|so)/i,\n abbreviated: /^(ned|pon|[úu]te|st[rř]|[čc]tv|p[áa]t|sob)/i,\n wide: /^(ned[ěe]le|pond[ěe]l[íi]|[úu]ter[ýy]|st[řr]eda|[čc]tvrtek|p[áa]tek|sobota)/i\n};\nvar parseDayPatterns = {\n narrow: [/^n/i, /^p/i, /^[úu]/i, /^s/i, /^[čc]/i, /^p/i, /^s/i],\n any: [/^ne/i, /^po/i, /^[úu]t/i, /^st/i, /^[čc]t/i, /^p[áa]/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^dopoledne|dop\\.?|odpoledne|odp\\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^dop/i,\n pm: /^odp/i,\n midnight: /^p[ůu]lnoc/i,\n noon: /^poledne/i,\n morning: /r[áa]no/i,\n afternoon: /odpoledne/i,\n evening: /ve[čc]er/i,\n night: /noc/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'am' {{time}}\",\n long: \"{{date}} 'am' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['C', 'O'],\n abbreviated: ['CC', 'OC'],\n wide: ['Cyn Crist', 'Ar ôl Crist']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Ch1', 'Ch2', 'Ch3', 'Ch4'],\n wide: ['Chwarter 1af', '2ail chwarter', '3ydd chwarter', '4ydd chwarter']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['I', 'Ch', 'Ma', 'E', 'Mi', 'Me', 'G', 'A', 'Md', 'H', 'T', 'Rh'],\n abbreviated: ['Ion', 'Chwe', 'Maw', 'Ebr', 'Mai', 'Meh', 'Gor', 'Aws', 'Med', 'Hyd', 'Tach', 'Rhag'],\n wide: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr']\n};\nvar dayValues = {\n narrow: ['S', 'Ll', 'M', 'M', 'I', 'G', 'S'],\n short: ['Su', 'Ll', 'Ma', 'Me', 'Ia', 'Gw', 'Sa'],\n abbreviated: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe', 'Sad'],\n wide: ['dydd Sul', 'dydd Llun', 'dydd Mawrth', 'dydd Mercher', 'dydd Iau', 'dydd Gwener', 'dydd Sadwrn']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'b',\n pm: 'h',\n midnight: 'hn',\n noon: 'hd',\n morning: 'bore',\n afternoon: 'prynhawn',\n evening: \"gyda'r nos\",\n night: 'nos'\n },\n abbreviated: {\n am: 'yb',\n pm: 'yh',\n midnight: 'hanner nos',\n noon: 'hanner dydd',\n morning: 'bore',\n afternoon: 'prynhawn',\n evening: \"gyda'r nos\",\n night: 'nos'\n },\n wide: {\n am: 'y.b.',\n pm: 'y.h.',\n midnight: 'hanner nos',\n noon: 'hanner dydd',\n morning: 'bore',\n afternoon: 'prynhawn',\n evening: \"gyda'r nos\",\n night: 'nos'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'b',\n pm: 'h',\n midnight: 'hn',\n noon: 'hd',\n morning: 'yn y bore',\n afternoon: 'yn y prynhawn',\n evening: \"gyda'r nos\",\n night: 'yn y nos'\n },\n abbreviated: {\n am: 'yb',\n pm: 'yh',\n midnight: 'hanner nos',\n noon: 'hanner dydd',\n morning: 'yn y bore',\n afternoon: 'yn y prynhawn',\n evening: \"gyda'r nos\",\n night: 'yn y nos'\n },\n wide: {\n am: 'y.b.',\n pm: 'y.h.',\n midnight: 'hanner nos',\n noon: 'hanner dydd',\n morning: 'yn y bore',\n afternoon: 'yn y prynhawn',\n evening: \"gyda'r nos\",\n night: 'yn y nos'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n if (number < 20) {\n switch (number) {\n case 0:\n return number + 'fed';\n\n case 1:\n return number + 'af';\n\n case 2:\n return number + 'ail';\n\n case 3:\n case 4:\n return number + 'ydd';\n\n case 5:\n case 6:\n return number + 'ed';\n\n case 7:\n case 8:\n case 9:\n case 10:\n case 12:\n case 15:\n case 18:\n return number + 'fed';\n\n case 11:\n case 13:\n case 14:\n case 16:\n case 17:\n case 19:\n return number + 'eg';\n }\n } else if (number >= 50 && number <= 60 || number === 80 || number >= 100) {\n return number + 'fed';\n }\n\n return number + 'ain';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(af|ail|ydd|ed|fed|eg|ain)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(c|o)/i,\n abbreviated: /^(c\\.?\\s?c\\.?|o\\.?\\s?c\\.?)/i,\n wide: /^(cyn christ|ar ôl crist|ar ol crist)/i\n};\nvar parseEraPatterns = {\n wide: [/^c/i, /^(ar ôl crist|ar ol crist)/i],\n any: [/^c/i, /^o/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ch[1234]/i,\n wide: /^(chwarter 1af)|([234](ail|ydd)? chwarter)/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(i|ch|m|e|g|a|h|t|rh)/i,\n abbreviated: /^(ion|chwe|maw|ebr|mai|meh|gor|aws|med|hyd|tach|rhag)/i,\n wide: /^(ionawr|chwefror|mawrth|ebrill|mai|mehefin|gorffennaf|awst|medi|hydref|tachwedd|rhagfyr)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^i/i, /^ch/i, /^m/i, /^e/i, /^m/i, /^m/i, /^g/i, /^a/i, /^m/i, /^h/i, /^t/i, /^rh/i],\n any: [/^io/i, /^ch/i, /^maw/i, /^e/i, /^mai/i, /^meh/i, /^g/i, /^a/i, /^med/i, /^h/i, /^t/i, /^rh/i]\n};\nvar matchDayPatterns = {\n narrow: /^(s|ll|m|i|g)/i,\n short: /^(su|ll|ma|me|ia|gw|sa)/i,\n abbreviated: /^(sul|llun|maw|mer|iau|gwe|sad)/i,\n wide: /^dydd (sul|llun|mawrth|mercher|iau|gwener|sadwrn)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^ll/i, /^m/i, /^m/i, /^i/i, /^g/i, /^s/i],\n wide: [/^dydd su/i, /^dydd ll/i, /^dydd ma/i, /^dydd me/i, /^dydd i/i, /^dydd g/i, /^dydd sa/i],\n any: [/^su/i, /^ll/i, /^ma/i, /^me/i, /^i/i, /^g/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(b|h|hn|hd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i,\n any: /^(y\\.?\\s?[bh]\\.?|hanner nos|hanner dydd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^b|(y\\.?\\s?b\\.?)/i,\n pm: /^h|(y\\.?\\s?h\\.?)|(yr hwyr)/i,\n midnight: /^hn|hanner nos/i,\n noon: /^hd|hanner dydd/i,\n morning: /bore/i,\n afternoon: /prynhawn/i,\n evening: /^gyda'r nos$/i,\n night: /blah/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE 'den' d. MMMM y\",\n long: 'd. MMMM y',\n medium: 'd. MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'kl'. {{time}}\",\n long: \"{{date}} 'kl'. {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['fvt', 'vt'],\n abbreviated: ['f.v.t.', 'v.t.'],\n wide: ['før vesterlandsk tidsregning', 'vesterlandsk tidsregning']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1. kvt.', '2. kvt.', '3. kvt.', '4. kvt.'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n wide: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december']\n}; // Note that 'Days - abbreviated - Formatting' has periods at the end.\n// https://www.unicode.org/cldr/charts/32/summary/da.html#1760\n// This makes grammatical sense in danish, as most abbreviations have periods.\n\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n short: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],\n abbreviated: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'],\n wide: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'midnat',\n noon: 'middag',\n morning: 'morgen',\n afternoon: 'eftermiddag',\n evening: 'aften',\n night: 'nat'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnat',\n noon: 'middag',\n morning: 'morgen',\n afternoon: 'eftermiddag',\n evening: 'aften',\n night: 'nat'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnat',\n noon: 'middag',\n morning: 'morgen',\n afternoon: 'eftermiddag',\n evening: 'aften',\n night: 'nat'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'midnat',\n noon: 'middag',\n morning: 'om morgenen',\n afternoon: 'om eftermiddagen',\n evening: 'om aftenen',\n night: 'om natten'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnat',\n noon: 'middag',\n morning: 'om morgenen',\n afternoon: 'om eftermiddagen',\n evening: 'om aftenen',\n night: 'om natten'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnat',\n noon: 'middag',\n morning: 'om morgenen',\n afternoon: 'om eftermiddagen',\n evening: 'om aftenen',\n night: 'om natten'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(fKr|fvt|eKr|vt)/i,\n abbreviated: /^(f\\.Kr\\.?|f\\.v\\.t\\.?|e\\.Kr\\.?|v\\.t\\.)/i,\n wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i\n};\nvar parseEraPatterns = {\n any: [/^f/i, /^(v|e)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]. kvt\\./i,\n wide: /^[1234]\\.? kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtofl]/i,\n short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i,\n abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i],\n any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /midnat/i,\n noon: /middag/i,\n morning: /morgen/i,\n afternoon: /eftermiddag/i,\n evening: /aften/i,\n night: /nat/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nvar dateFormats = {\n full: 'EEEE, do MMMM y',\n // Montag, 7. Januar 2018\n long: 'do MMMM y',\n // 7. Januar 2018\n medium: 'do MMM y',\n // 7. Jan. 2018\n short: 'dd.MM.y' // 07.01.2018\n\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'um' {{time}}\",\n long: \"{{date}} 'um' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['v.Chr.', 'n.Chr.'],\n abbreviated: ['v.Chr.', 'n.Chr.'],\n wide: ['vor Christus', 'nach Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal']\n}; // Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n wide: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n}; // https://st.unicode.org/cldr-apps/v#/de/Gregorian/\n\nvar formattingMonthValues = {\n narrow: monthValues.narrow,\n abbreviated: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n wide: monthValues.wide\n};\nvar dayValues = {\n narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n short: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n abbreviated: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],\n wide: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']\n}; // https://www.unicode.org/cldr/charts/32/summary/de.html#1881\n\nvar dayPeriodValues = {\n narrow: {\n am: 'vm.',\n pm: 'nm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachm.',\n evening: 'Abend',\n night: 'Nacht'\n },\n abbreviated: {\n am: 'vorm.',\n pm: 'nachm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachmittag',\n evening: 'Abend',\n night: 'Nacht'\n },\n wide: {\n am: 'vormittags',\n pm: 'nachmittags',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachmittag',\n evening: 'Abend',\n night: 'Nacht'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'vm.',\n pm: 'nm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachm.',\n evening: 'abends',\n night: 'nachts'\n },\n abbreviated: {\n am: 'vorm.',\n pm: 'nachm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachmittags',\n evening: 'abends',\n night: 'nachts'\n },\n wide: {\n am: 'vormittags',\n pm: 'nachmittags',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachmittags',\n evening: 'abends',\n night: 'nachts'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n formattingValues: formattingMonthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['v.Chr.', 'n.Chr.'],\n abbreviated: ['v.Chr.', 'n.Chr.'],\n wide: ['vor Christus', 'nach Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal']\n}; // Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jän', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n wide: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n}; // https://st.unicode.org/cldr-apps/v#/de_AT/Gregorian/\n\nvar formattingMonthValues = {\n narrow: monthValues.narrow,\n abbreviated: ['Jän.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n wide: monthValues.wide\n};\nvar dayValues = {\n narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n short: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n abbreviated: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],\n wide: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']\n}; // https://www.unicode.org/cldr/charts/32/summary/de.html#1881\n\nvar dayPeriodValues = {\n narrow: {\n am: 'vm.',\n pm: 'nm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachm.',\n evening: 'Abend',\n night: 'Nacht'\n },\n abbreviated: {\n am: 'vorm.',\n pm: 'nachm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachmittag',\n evening: 'Abend',\n night: 'Nacht'\n },\n wide: {\n am: 'vormittags',\n pm: 'nachmittags',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachmittag',\n evening: 'Abend',\n night: 'Nacht'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'vm.',\n pm: 'nm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachm.',\n evening: 'abends',\n night: 'nachts'\n },\n abbreviated: {\n am: 'vorm.',\n pm: 'nachm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachmittags',\n evening: 'abends',\n night: 'nachts'\n },\n wide: {\n am: 'vormittags',\n pm: 'nachmittags',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachmittags',\n evening: 'abends',\n night: 'nachts'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n formattingValues: formattingMonthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i\n};\nvar parseEraPatterns = {\n any: [/^v/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? Quartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^j[aä]/i, /^f/i, /^mär/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smdmf]/i,\n short: /^(so|mo|di|mi|do|fr|sa)/i,\n abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i\n};\nvar parseDayPatterns = {\n any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n abbreviated: /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^v/i,\n pm: /^n/i,\n midnight: /^Mitte/i,\n noon: /^Mitta/i,\n morning: /morgens/i,\n afternoon: /nachmittags/i,\n // will never be matched. Afternoon is matched by `pm`\n evening: /abends/i,\n night: /nachts/i // will never be matched. Night is matched by `pm`\n\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'd/M/yy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: '{{date}} - {{time}}',\n long: '{{date}} - {{time}}',\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['πΧ', 'μΧ'],\n abbreviated: ['π.Χ.', 'μ.Χ.'],\n wide: ['προ Χριστού', 'μετά Χριστόν']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Τ1', 'Τ2', 'Τ3', 'Τ4'],\n wide: ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', '4ο τρίμηνο']\n};\nvar monthValues = {\n narrow: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', 'Ν', 'Δ'],\n abbreviated: ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ', 'Μάι', 'Ιούν', 'Ιούλ', 'Αύγ', 'Σεπ', 'Οκτ', 'Νοέ', 'Δεκ'],\n wide: ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος']\n};\nvar formattingMonthValues = {\n narrow: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', 'Ν', 'Δ'],\n abbreviated: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαΐ', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'],\n wide: ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου']\n};\nvar dayValues = {\n narrow: ['Κ', 'Δ', 'T', 'Τ', 'Π', 'Π', 'Σ'],\n short: ['Κυ', 'Δε', 'Τρ', 'Τε', 'Πέ', 'Πα', 'Σά'],\n abbreviated: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'],\n wide: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'πμ',\n pm: 'μμ',\n midnight: 'μεσάνυχτα',\n noon: 'μεσημέρι',\n morning: 'πρωί',\n afternoon: 'απόγευμα',\n evening: 'βράδυ',\n night: 'νύχτα'\n },\n abbreviated: {\n am: 'π.μ.',\n pm: 'μ.μ.',\n midnight: 'μεσάνυχτα',\n noon: 'μεσημέρι',\n morning: 'πρωί',\n afternoon: 'απόγευμα',\n evening: 'βράδυ',\n night: 'νύχτα'\n },\n wide: {\n am: 'π.μ.',\n pm: 'μ.μ.',\n midnight: 'μεσάνυχτα',\n noon: 'μεσημέρι',\n morning: 'πρωί',\n afternoon: 'απόγευμα',\n evening: 'βράδυ',\n night: 'νύχτα'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n var suffix;\n\n if (unit === 'year' || unit === 'month') {\n suffix = 'ος';\n } else if (unit === 'week' || unit === 'dayOfYear' || unit === 'day' || unit === 'hour' || unit === 'date') {\n suffix = 'η';\n } else {\n suffix = 'ο';\n }\n\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ος|η|ο)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(πΧ|μΧ)/i,\n abbreviated: /^(π\\.?\\s?χ\\.?|π\\.?\\s?κ\\.?\\s?χ\\.?|μ\\.?\\s?χ\\.?|κ\\.?\\s?χ\\.?)/i,\n wide: /^(προ Χριστο(ύ|υ)|πριν απ(ό|ο) την Κοιν(ή|η) Χρονολογ(ί|ι)α|μετ(ά|α) Χριστ(ό|ο)ν|Κοιν(ή|η) Χρονολογ(ί|ι)α)/i\n};\nvar parseEraPatterns = {\n any: [/^π/i, /^(μ|κ)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^τ[1234]/i,\n wide: /^[1234]ο? τρ(ί|ι)μηνο/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[ιφμαμιιασονδ]/i,\n abbreviated: /^(ιαν|φεβ|μ[άα]ρ|απρ|μ[άα][ιΐ]|ιο[ύυ]ν|ιο[ύυ]λ|α[ύυ]γ|σεπ|οκτ|νο[έε]|δεκ)/i,\n wide: /^(μ[άα][ιΐ]|α[ύυ]γο[υύ]στ)(ος|ου)|(ιανου[άα]ρ|φεβρου[άα]ρ|μ[άα]ρτ|απρ[ίι]λ|ιο[ύυ]ν|ιο[ύυ]λ|σεπτ[έε]μβρ|οκτ[ώω]βρ|νο[έε]μβρ|δεκ[έε]μβρ)(ιος|ίου)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ι/i, /^φ/i, /^μ/i, /^α/i, /^μ/i, /^ι/i, /^ι/i, /^α/i, /^σ/i, /^ο/i, /^ν/i, /^δ/i],\n any: [/^ια/i, /^φ/i, /^μ[άα]ρ/i, /^απ/i, /^μ[άα][ιΐ]/i, /^ιο[ύυ]ν/i, /^ιο[ύυ]λ/i, /^α[ύυ]/i, /^σ/i, /^ο/i, /^ν/i, /^δ/i]\n};\nvar matchDayPatterns = {\n narrow: /^[κδτπσ]/i,\n short: /^(κυ|δε|τρ|τε|π[εέ]|π[αά]|σ[αά])/i,\n abbreviated: /^(κυρ|δευ|τρι|τετ|πεμ|παρ|σαβ)/i,\n wide: /^(κυριακ(ή|η)|δευτ(έ|ε)ρα|τρ(ί|ι)τη|τετ(ά|α)ρτη|π(έ|ε)μπτη|παρασκευ(ή|η)|σ(ά|α)ββατο)/i\n};\nvar parseDayPatterns = {\n narrow: [/^κ/i, /^δ/i, /^τ/i, /^τ/i, /^π/i, /^π/i, /^σ/i],\n any: [/^κ/i, /^δ/i, /^τρ/i, /^τε/i, /^π[εέ]/i, /^π[αά]/i, /^σ/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(πμ|μμ|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i,\n any: /^([πμ]\\.?\\s?μ\\.?|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^πμ|π\\.\\s?μ\\./i,\n pm: /^μμ|μ\\.\\s?μ\\./i,\n midnight: /^μεσάν/i,\n noon: /^μεσημ(έ|ε)/i,\n morning: /πρω(ί|ι)/i,\n afternoon: /απ(ό|ο)γευμα/i,\n evening: /βρ(ά|α)δυ/i,\n night: /ν(ύ|υ)χτα/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: 'a second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: 'a minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about an hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: 'an hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: 'a day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about a week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: 'a week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about a month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: 'a month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about a year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: 'a year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over a year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost a year',\n other: 'almost {{count}} years'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (Australia).\n * @language English\n * @iso-639-2 eng\n * @author Julien Malige [@JulienMalige]{@link https://github.com/JulienMalige}\n */\nvar locale = {\n code: 'en-AU',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 4\n }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, yyyy',\n long: 'MMMM do, yyyy',\n medium: 'MMM d, yyyy',\n short: 'yyyy-MM-dd'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (Canada).\n * @language English\n * @iso-639-2 eng\n * @author Mark Owsiak [@markowsiak]{@link https://github.com/markowsiak}\n * @author Marco Imperatore [@mimperatore]{@link https://github.com/mimperatore}\n */\n\nvar locale = {\n code: 'en-CA',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM, yyyy',\n medium: 'd MMM, yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik]{@link https://github.com/glintik}\n */\n\nvar locale = {\n code: 'en-GB',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 4\n }\n};\nexport default locale;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"../en-GB/_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (Ireland).\n * @language English\n * @iso-639-2 eng\n * @author Tetiana [@tan75]{@link https://github.com/tan75}\n */\n\nvar locale = {\n code: 'en-IE',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 4\n }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (India).\n * @language English\n * @iso-639-2 eng\n * @author Galeel Bhasha Satthar [@gbhasha]{@link https://github.com/gbhasha}\n */\n\nvar locale = {\n code: 'en-IN',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1,\n // Monday is the first day of the week.\n firstWeekContainsDate: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n};\nexport default locale;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (New Zealand).\n * @language English\n * @iso-639-2 eng\n * @author Murray Lucas [@muntact]{@link https://github.com/muntact}\n */\n\nvar locale = {\n code: 'en-NZ',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 4\n }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, dd MMMM yyyy',\n long: 'dd MMMM yyyy',\n medium: 'dd MMM yyyy',\n short: 'yyyy/MM/dd'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'malpli ol sekundo',\n other: 'malpli ol {{count}} sekundoj'\n },\n xSeconds: {\n one: '1 sekundo',\n other: '{{count}} sekundoj'\n },\n halfAMinute: 'duonminuto',\n lessThanXMinutes: {\n one: 'malpli ol minuto',\n other: 'malpli ol {{count}} minutoj'\n },\n xMinutes: {\n one: '1 minuto',\n other: '{{count}} minutoj'\n },\n aboutXHours: {\n one: 'proksimume 1 horo',\n other: 'proksimume {{count}} horoj'\n },\n xHours: {\n one: '1 horo',\n other: '{{count}} horoj'\n },\n xDays: {\n one: '1 tago',\n other: '{{count}} tagoj'\n },\n aboutXMonths: {\n one: 'proksimume 1 monato',\n other: 'proksimume {{count}} monatoj'\n },\n xWeeks: {\n one: '1 semajno',\n other: '{{count}} semajnoj'\n },\n aboutXWeeks: {\n one: 'proksimume 1 semajno',\n other: 'proksimume {{count}} semajnoj'\n },\n xMonths: {\n one: '1 monato',\n other: '{{count}} monatoj'\n },\n aboutXYears: {\n one: 'proksimume 1 jaro',\n other: 'proksimume {{count}} jaroj'\n },\n xYears: {\n one: '1 jaro',\n other: '{{count}} jaroj'\n },\n overXYears: {\n one: 'pli ol 1 jaro',\n other: 'pli ol {{count}} jaroj'\n },\n almostXYears: {\n one: 'preskaŭ 1 jaro',\n other: 'preskaŭ {{count}} jaroj'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options !== null && options !== void 0 && options.comparison && options.comparison > 0) {\n return 'post ' + result;\n } else {\n return 'antaŭ ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (South Africa).\n * @language English\n * @iso-639-2 eng\n * @author Shaila Kavrakova [@shaykav]{@link https://github.com/shaykav}\n */\n\nvar locale = {\n code: 'en-ZA',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0,\n // Sunday is the first day of the week.\n firstWeekContainsDate: 1 // The week that contains Jan 1st is the first week of the year.\n\n }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, do 'de' MMMM y\",\n long: 'y-MMMM-dd',\n medium: 'y-MMM-dd',\n short: 'yyyy-MM-dd'\n};\nvar timeFormats = {\n full: \"Ho 'horo kaj' m:ss zzzz\",\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'pasinta' eeee 'je' p\",\n yesterday: \"'hieraŭ je' p\",\n today: \"'hodiaŭ je' p\",\n tomorrow: \"'morgaŭ je' p\",\n nextWeek: \"eeee 'je' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'menos de un segundo',\n other: 'menos de {{count}} segundos'\n },\n xSeconds: {\n one: '1 segundo',\n other: '{{count}} segundos'\n },\n halfAMinute: 'medio minuto',\n lessThanXMinutes: {\n one: 'menos de un minuto',\n other: 'menos de {{count}} minutos'\n },\n xMinutes: {\n one: '1 minuto',\n other: '{{count}} minutos'\n },\n aboutXHours: {\n one: 'alrededor de 1 hora',\n other: 'alrededor de {{count}} horas'\n },\n xHours: {\n one: '1 hora',\n other: '{{count}} horas'\n },\n xDays: {\n one: '1 día',\n other: '{{count}} días'\n },\n aboutXWeeks: {\n one: 'alrededor de 1 semana',\n other: 'alrededor de {{count}} semanas'\n },\n xWeeks: {\n one: '1 semana',\n other: '{{count}} semanas'\n },\n aboutXMonths: {\n one: 'alrededor de 1 mes',\n other: 'alrededor de {{count}} meses'\n },\n xMonths: {\n one: '1 mes',\n other: '{{count}} meses'\n },\n aboutXYears: {\n one: 'alrededor de 1 año',\n other: 'alrededor de {{count}} años'\n },\n xYears: {\n one: '1 año',\n other: '{{count}} años'\n },\n overXYears: {\n one: 'más de 1 año',\n other: 'más de {{count}} años'\n },\n almostXYears: {\n one: 'casi 1 año',\n other: 'casi {{count}} años'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'en ' + result;\n } else {\n return 'hace ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['aK', 'pK'],\n abbreviated: ['a.K.E.', 'p.K.E.'],\n wide: ['antaŭ Komuna Erao', 'Komuna Erao']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1-a kvaronjaro', '2-a kvaronjaro', '3-a kvaronjaro', '4-a kvaronjaro']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aŭg', 'sep', 'okt', 'nov', 'dec'],\n wide: ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', 'julio', 'aŭgusto', 'septembro', 'oktobro', 'novembro', 'decembro']\n};\nvar dayValues = {\n narrow: ['D', 'L', 'M', 'M', 'Ĵ', 'V', 'S'],\n short: ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'],\n abbreviated: ['dim', 'lun', 'mar', 'mer', 'ĵaŭ', 'ven', 'sab'],\n wide: ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', 'vendredo', 'sabato']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'noktomezo',\n noon: 'tagmezo',\n morning: 'matene',\n afternoon: 'posttagmeze',\n evening: 'vespere',\n night: 'nokte'\n },\n abbreviated: {\n am: 'a.t.m.',\n pm: 'p.t.m.',\n midnight: 'noktomezo',\n noon: 'tagmezo',\n morning: 'matene',\n afternoon: 'posttagmeze',\n evening: 'vespere',\n night: 'nokte'\n },\n wide: {\n am: 'antaŭtagmeze',\n pm: 'posttagmeze',\n midnight: 'noktomezo',\n noon: 'tagmezo',\n morning: 'matene',\n afternoon: 'posttagmeze',\n evening: 'vespere',\n night: 'nokte'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n var number = Number(dirtyNumber);\n return number + '-a';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?a)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^([ap]k)/i,\n abbreviated: /^([ap]\\.?\\s?k\\.?\\s?e\\.?)/i,\n wide: /^((antaǔ |post )?komuna erao)/i\n};\nvar parseEraPatterns = {\n any: [/^a/i, /^[kp]/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^k[1234]/i,\n wide: /^[1234](-?a)? kvaronjaro/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|a(ŭ|ux|uh|u)g|sep|okt|nov|dec)/i,\n wide: /^(januaro|februaro|marto|aprilo|majo|junio|julio|a(ŭ|ux|uh|u)gusto|septembro|oktobro|novembro|decembro)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^a(u|ŭ)/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmĵjvs]/i,\n short: /^(di|lu|ma|me|(ĵ|jx|jh|j)a|ve|sa)/i,\n abbreviated: /^(dim|lun|mar|mer|(ĵ|jx|jh|j)a(ŭ|ux|uh|u)|ven|sab)/i,\n wide: /^(diman(ĉ|cx|ch|c)o|lundo|mardo|merkredo|(ĵ|jx|jh|j)a(ŭ|ux|uh|u)do|vendredo|sabato)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^(j|ĵ)/i, /^v/i, /^s/i],\n any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^(j|ĵ)/i, /^v/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^([ap]|(posttagmez|noktomez|tagmez|maten|vesper|nokt)[eo])/i,\n abbreviated: /^([ap][.\\s]?t[.\\s]?m[.\\s]?|(posttagmez|noktomez|tagmez|maten|vesper|nokt)[eo])/i,\n wide: /^(anta(ŭ|ux)tagmez|posttagmez|noktomez|tagmez|maten|vesper|nokt)[eo]/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^noktom/i,\n noon: /^t/i,\n morning: /^m/i,\n afternoon: /^posttagmeze/i,\n evening: /^v/i,\n night: /^n/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'a las' {{time}}\",\n long: \"{{date}} 'a las' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'el' eeee 'pasado a la' p\",\n yesterday: \"'ayer a la' p\",\n today: \"'hoy a la' p\",\n tomorrow: \"'mañana a la' p\",\n nextWeek: \"eeee 'a la' p\",\n other: 'P'\n};\nvar formatRelativeLocalePlural = {\n lastWeek: \"'el' eeee 'pasado a las' p\",\n yesterday: \"'ayer a las' p\",\n today: \"'hoy a las' p\",\n tomorrow: \"'mañana a las' p\",\n nextWeek: \"eeee 'a las' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n if (date.getUTCHours() !== 1) {\n return formatRelativeLocalePlural[token];\n } else {\n return formatRelativeLocale[token];\n }\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n standalone: {\n one: 'vähem kui üks sekund',\n other: 'vähem kui {{count}} sekundit'\n },\n withPreposition: {\n one: 'vähem kui ühe sekundi',\n other: 'vähem kui {{count}} sekundi'\n }\n },\n xSeconds: {\n standalone: {\n one: 'üks sekund',\n other: '{{count}} sekundit'\n },\n withPreposition: {\n one: 'ühe sekundi',\n other: '{{count}} sekundi'\n }\n },\n halfAMinute: {\n standalone: 'pool minutit',\n withPreposition: 'poole minuti'\n },\n lessThanXMinutes: {\n standalone: {\n one: 'vähem kui üks minut',\n other: 'vähem kui {{count}} minutit'\n },\n withPreposition: {\n one: 'vähem kui ühe minuti',\n other: 'vähem kui {{count}} minuti'\n }\n },\n xMinutes: {\n standalone: {\n one: 'üks minut',\n other: '{{count}} minutit'\n },\n withPreposition: {\n one: 'ühe minuti',\n other: '{{count}} minuti'\n }\n },\n aboutXHours: {\n standalone: {\n one: 'umbes üks tund',\n other: 'umbes {{count}} tundi'\n },\n withPreposition: {\n one: 'umbes ühe tunni',\n other: 'umbes {{count}} tunni'\n }\n },\n xHours: {\n standalone: {\n one: 'üks tund',\n other: '{{count}} tundi'\n },\n withPreposition: {\n one: 'ühe tunni',\n other: '{{count}} tunni'\n }\n },\n xDays: {\n standalone: {\n one: 'üks päev',\n other: '{{count}} päeva'\n },\n withPreposition: {\n one: 'ühe päeva',\n other: '{{count}} päeva'\n }\n },\n aboutXWeeks: {\n standalone: {\n one: 'umbes üks nädal',\n other: 'umbes {{count}} nädalat'\n },\n withPreposition: {\n one: 'umbes ühe nädala',\n other: 'umbes {{count}} nädala'\n }\n },\n xWeeks: {\n standalone: {\n one: 'üks nädal',\n other: '{{count}} nädalat'\n },\n withPreposition: {\n one: 'ühe nädala',\n other: '{{count}} nädala'\n }\n },\n aboutXMonths: {\n standalone: {\n one: 'umbes üks kuu',\n other: 'umbes {{count}} kuud'\n },\n withPreposition: {\n one: 'umbes ühe kuu',\n other: 'umbes {{count}} kuu'\n }\n },\n xMonths: {\n standalone: {\n one: 'üks kuu',\n other: '{{count}} kuud'\n },\n withPreposition: {\n one: 'ühe kuu',\n other: '{{count}} kuu'\n }\n },\n aboutXYears: {\n standalone: {\n one: 'umbes üks aasta',\n other: 'umbes {{count}} aastat'\n },\n withPreposition: {\n one: 'umbes ühe aasta',\n other: 'umbes {{count}} aasta'\n }\n },\n xYears: {\n standalone: {\n one: 'üks aasta',\n other: '{{count}} aastat'\n },\n withPreposition: {\n one: 'ühe aasta',\n other: '{{count}} aasta'\n }\n },\n overXYears: {\n standalone: {\n one: 'rohkem kui üks aasta',\n other: 'rohkem kui {{count}} aastat'\n },\n withPreposition: {\n one: 'rohkem kui ühe aasta',\n other: 'rohkem kui {{count}} aasta'\n }\n },\n almostXYears: {\n standalone: {\n one: 'peaaegu üks aasta',\n other: 'peaaegu {{count}} aastat'\n },\n withPreposition: {\n one: 'peaaegu ühe aasta',\n other: 'peaaegu {{count}} aasta'\n }\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var usageGroup = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n var result;\n\n if (typeof usageGroup === 'string') {\n result = usageGroup;\n } else if (count === 1) {\n result = usageGroup.one;\n } else {\n result = usageGroup.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' pärast';\n } else {\n return result + ' eest';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['AC', 'DC'],\n abbreviated: ['AC', 'DC'],\n wide: ['antes de cristo', 'después de cristo']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n narrow: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n wide: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']\n};\nvar dayValues = {\n narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],\n short: ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'],\n abbreviated: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n wide: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'mañana',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noche'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'mañana',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noche'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'mañana',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noche'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'de la mañana',\n afternoon: 'de la tarde',\n evening: 'de la tarde',\n night: 'de la noche'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'de la mañana',\n afternoon: 'de la tarde',\n evening: 'de la tarde',\n night: 'de la noche'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'de la mañana',\n afternoon: 'de la tarde',\n evening: 'de la tarde',\n night: 'de la noche'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'º';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i\n};\nvar parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^(antes de cristo|antes de la era com[uú]n)/i, /^(despu[eé]s de cristo|era com[uú]n)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[efmajsond]/i,\n abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^e/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^en/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmjvs]/i,\n short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /^md/i,\n morning: /mañana/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noche/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d. MMMM y',\n long: 'd. MMMM y',\n medium: 'd. MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'kell' {{time}}\",\n long: \"{{date}} 'kell' {{time}}\",\n medium: '{{date}}. {{time}}',\n short: '{{date}}. {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'eelmine' eeee 'kell' p\",\n yesterday: \"'eile kell' p\",\n today: \"'täna kell' p\",\n tomorrow: \"'homme kell' p\",\n nextWeek: \"'järgmine' eeee 'kell' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['e.m.a', 'm.a.j'],\n abbreviated: ['e.m.a', 'm.a.j'],\n wide: ['enne meie ajaarvamist', 'meie ajaarvamise järgi']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'],\n wide: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember']\n};\nvar dayValues = {\n narrow: ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n short: ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n abbreviated: ['pühap.', 'esmasp.', 'teisip.', 'kolmap.', 'neljap.', 'reede.', 'laup.'],\n wide: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'kesköö',\n noon: 'keskpäev',\n morning: 'hommik',\n afternoon: 'pärastlõuna',\n evening: 'õhtu',\n night: 'öö'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'kesköö',\n noon: 'keskpäev',\n morning: 'hommik',\n afternoon: 'pärastlõuna',\n evening: 'õhtu',\n night: 'öö'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'kesköö',\n noon: 'keskpäev',\n morning: 'hommik',\n afternoon: 'pärastlõuna',\n evening: 'õhtu',\n night: 'öö'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'keskööl',\n noon: 'keskpäeval',\n morning: 'hommikul',\n afternoon: 'pärastlõunal',\n evening: 'õhtul',\n night: 'öösel'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'keskööl',\n noon: 'keskpäeval',\n morning: 'hommikul',\n afternoon: 'pärastlõunal',\n evening: 'õhtul',\n night: 'öösel'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'keskööl',\n noon: 'keskpäeval',\n morning: 'hommikul',\n afternoon: 'pärastlõunal',\n evening: 'õhtul',\n night: 'öösel'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: monthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide',\n formattingValues: dayValues,\n defaultFormattingWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'segundo bat baino gutxiago',\n other: '{{count}} segundo baino gutxiago'\n },\n xSeconds: {\n one: '1 segundo',\n other: '{{count}} segundo'\n },\n halfAMinute: 'minutu erdi',\n lessThanXMinutes: {\n one: 'minutu bat baino gutxiago',\n other: '{{count}} minutu baino gutxiago'\n },\n xMinutes: {\n one: '1 minutu',\n other: '{{count}} minutu'\n },\n aboutXHours: {\n one: '1 ordu gutxi gorabehera',\n other: '{{count}} ordu gutxi gorabehera'\n },\n xHours: {\n one: '1 ordu',\n other: '{{count}} ordu'\n },\n xDays: {\n one: '1 egun',\n other: '{{count}} egun'\n },\n aboutXWeeks: {\n one: 'aste 1 inguru',\n other: '{{count}} aste inguru'\n },\n xWeeks: {\n one: '1 aste',\n other: '{{count}} astean'\n },\n aboutXMonths: {\n one: '1 hilabete gutxi gorabehera',\n other: '{{count}} hilabete gutxi gorabehera'\n },\n xMonths: {\n one: '1 hilabete',\n other: '{{count}} hilabete'\n },\n aboutXYears: {\n one: '1 urte gutxi gorabehera',\n other: '{{count}} urte gutxi gorabehera'\n },\n xYears: {\n one: '1 urte',\n other: '{{count}} urte'\n },\n overXYears: {\n one: '1 urte baino gehiago',\n other: '{{count}} urte baino gehiago'\n },\n almostXYears: {\n one: 'ia 1 urte',\n other: 'ia {{count}} urte'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'en ' + result;\n } else {\n return 'duela ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^\\d+\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(e\\.m\\.a|m\\.a\\.j|eKr|pKr)/i,\n abbreviated: /^(e\\.m\\.a|m\\.a\\.j|eKr|pKr)/i,\n wide: /^(enne meie ajaarvamist|meie ajaarvamise järgi|enne Kristust|pärast Kristust)/i\n};\nvar parseEraPatterns = {\n any: [/^e/i, /^(m|p)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^K[1234]/i,\n wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jvmasond]/i,\n abbreviated: /^(jaan|veebr|märts|apr|mai|juuni|juuli|aug|sept|okt|nov|dets)/i,\n wide: /^(jaanuar|veebruar|märts|aprill|mai|juuni|juuli|august|september|oktoober|november|detsember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^v/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^v/i, /^mär/i, /^ap/i, /^mai/i, /^juun/i, /^juul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[petknrl]/i,\n short: /^[petknrl]/i,\n abbreviated: /^(püh?|esm?|tei?|kolm?|nel?|ree?|laup?)\\.?/i,\n wide: /^(pühapäev|esmaspäev|teisipäev|kolmapäev|neljapäev|reede|laupäev)/i\n};\nvar parseDayPatterns = {\n any: [/^p/i, /^e/i, /^t/i, /^k/i, /^n/i, /^r/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|keskööl?|keskpäev(al)?|hommik(ul)?|pärastlõunal?|õhtul?|öö(sel)?)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^keskö/i,\n noon: /^keskp/i,\n morning: /hommik/i,\n afternoon: /pärastlõuna/i,\n evening: /õhtu/i,\n night: /öö/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, y'ko' MMMM'ren' d'a' y'ren'\",\n long: \"y'ko' MMMM'ren' d'a'\",\n medium: 'y MMM d',\n short: 'yy/MM/dd'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'tan' {{time}}\",\n long: \"{{date}} 'tan' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'joan den' eeee, LT\",\n yesterday: \"'atzo,' p\",\n today: \"'gaur,' p\",\n tomorrow: \"'bihar,' p\",\n nextWeek: 'eeee, p',\n other: 'P'\n};\nvar formatRelativeLocalePlural = {\n lastWeek: \"'joan den' eeee, p\",\n yesterday: \"'atzo,' p\",\n today: \"'gaur,' p\",\n tomorrow: \"'bihar,' p\",\n nextWeek: 'eeee, p',\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date) {\n if (date.getUTCHours() !== 1) {\n return formatRelativeLocalePlural[token];\n }\n\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'کمتر از یک ثانیه',\n other: 'کمتر از {{count}} ثانیه'\n },\n xSeconds: {\n one: '1 ثانیه',\n other: '{{count}} ثانیه'\n },\n halfAMinute: 'نیم دقیقه',\n lessThanXMinutes: {\n one: 'کمتر از یک دقیقه',\n other: 'کمتر از {{count}} دقیقه'\n },\n xMinutes: {\n one: '1 دقیقه',\n other: '{{count}} دقیقه'\n },\n aboutXHours: {\n one: 'حدود 1 ساعت',\n other: 'حدود {{count}} ساعت'\n },\n xHours: {\n one: '1 ساعت',\n other: '{{count}} ساعت'\n },\n xDays: {\n one: '1 روز',\n other: '{{count}} روز'\n },\n aboutXWeeks: {\n one: 'حدود 1 هفته',\n other: 'حدود {{count}} هفته'\n },\n xWeeks: {\n one: '1 هفته',\n other: '{{count}} هفته'\n },\n aboutXMonths: {\n one: 'حدود 1 ماه',\n other: 'حدود {{count}} ماه'\n },\n xMonths: {\n one: '1 ماه',\n other: '{{count}} ماه'\n },\n aboutXYears: {\n one: 'حدود 1 سال',\n other: 'حدود {{count}} سال'\n },\n xYears: {\n one: '1 سال',\n other: '{{count}} سال'\n },\n overXYears: {\n one: 'بیشتر از 1 سال',\n other: 'بیشتر از {{count}} سال'\n },\n almostXYears: {\n one: 'نزدیک 1 سال',\n other: 'نزدیک {{count}} سال'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'در ' + result;\n } else {\n return result + ' قبل';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['k.a.', 'k.o.'],\n abbreviated: ['k.a.', 'k.o.'],\n wide: ['kristo aurretik', 'kristo ondoren']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1H', '2H', '3H', '4H'],\n wide: ['1. hiruhilekoa', '2. hiruhilekoa', '3. hiruhilekoa', '4. hiruhilekoa']\n};\nvar monthValues = {\n narrow: ['u', 'o', 'm', 'a', 'm', 'e', 'u', 'a', 'i', 'u', 'a', 'a'],\n abbreviated: ['urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', 'abu', 'ira', 'urr', 'aza', 'abe'],\n wide: ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua']\n};\nvar dayValues = {\n narrow: ['i', 'a', 'a', 'a', 'o', 'o', 'l'],\n short: ['ig', 'al', 'as', 'az', 'og', 'or', 'lr'],\n abbreviated: ['iga', 'ast', 'ast', 'ast', 'ost', 'ost', 'lar'],\n wide: ['igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'ge',\n noon: 'eg',\n morning: 'goiza',\n afternoon: 'arratsaldea',\n evening: 'arratsaldea',\n night: 'gaua'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'gauerdia',\n noon: 'eguerdia',\n morning: 'goiza',\n afternoon: 'arratsaldea',\n evening: 'arratsaldea',\n night: 'gaua'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'gauerdia',\n noon: 'eguerdia',\n morning: 'goiza',\n afternoon: 'arratsaldea',\n evening: 'arratsaldea',\n night: 'gaua'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'ge',\n noon: 'eg',\n morning: 'goizean',\n afternoon: 'arratsaldean',\n evening: 'arratsaldean',\n night: 'gauean'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'gauerdia',\n noon: 'eguerdia',\n morning: 'goizean',\n afternoon: 'arratsaldean',\n evening: 'arratsaldean',\n night: 'gauean'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'gauerdia',\n noon: 'eguerdia',\n morning: 'goizean',\n afternoon: 'arratsaldean',\n evening: 'arratsaldean',\n night: 'gauean'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(k.a.|k.o.)/i,\n abbreviated: /^(k.a.|k.o.)/i,\n wide: /^(kristo aurretik|kristo ondoren)/i\n};\nvar parseEraPatterns = {\n narrow: [/^k.a./i, /^k.o./i],\n abbreviated: [/^(k.a.)/i, /^(k.o.)/i],\n wide: [/^(kristo aurretik)/i, /^(kristo ondoren)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]H/i,\n wide: /^[1234](.)? hiruhilekoa/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[uomaei]/i,\n abbreviated: /^(urt|ots|mar|api|mai|eka|uzt|abu|ira|urr|aza|abe)/i,\n wide: /^(urtarrila|otsaila|martxoa|apirila|maiatza|ekaina|uztaila|abuztua|iraila|urria|azaroa|abendua)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^u/i, /^o/i, /^m/i, /^a/i, /^m/i, /^e/i, /^u/i, /^a/i, /^i/i, /^u/i, /^a/i, /^a/i],\n any: [/^urt/i, /^ots/i, /^mar/i, /^api/i, /^mai/i, /^eka/i, /^uzt/i, /^abu/i, /^ira/i, /^urr/i, /^aza/i, /^abe/i]\n};\nvar matchDayPatterns = {\n narrow: /^[iaol]/i,\n short: /^(ig|al|as|az|og|or|lr)/i,\n abbreviated: /^(iga|ast|ast|ast|ost|ost|lar)/i,\n wide: /^(igandea|astelehena|asteartea|asteazkena|osteguna|ostirala|larunbata)/i\n};\nvar parseDayPatterns = {\n narrow: [/^i/i, /^a/i, /^a/i, /^a/i, /^o/i, /^o/i, /^l/i],\n short: [/^ig/i, /^al/i, /^as/i, /^az/i, /^og/i, /^or/i, /^lr/i],\n abbreviated: [/^iga/i, /^ast/i, /^ast/i, /^ast/i, /^ost/i, /^ost/i, /^lar/i],\n wide: [/^igandea/i, /^astelehena/i, /^asteartea/i, /^asteazkena/i, /^osteguna/i, /^ostirala/i, /^larunbata/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|ge|eg|((goiza|goizean)|arratsaldea|(gaua|gauean)))/i,\n any: /^([ap]\\.?\\s?m\\.?|gauerdia|eguerdia|((goiza|goizean)|arratsaldea|(gaua|gauean)))/i\n};\nvar parseDayPeriodPatterns = {\n narrow: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^ge/i,\n noon: /^eg/i,\n morning: /goiz/i,\n afternoon: /arratsaldea/i,\n evening: /arratsaldea/i,\n night: /gau/i\n },\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^gauerdia/i,\n noon: /^eguerdia/i,\n morning: /goiz/i,\n afternoon: /arratsaldea/i,\n evening: /arratsaldea/i,\n night: /gau/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'wide'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'wide'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE do MMMM y',\n long: 'do MMMM y',\n medium: 'd MMM y',\n short: 'yyyy/MM/dd'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'در' {{time}}\",\n long: \"{{date}} 'در' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'گذشته در' p\",\n yesterday: \"'دیروز در' p\",\n today: \"'امروز در' p\",\n tomorrow: \"'فردا در' p\",\n nextWeek: \"eeee 'در' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ق', 'ب'],\n abbreviated: ['ق.م.', 'ب.م.'],\n wide: ['قبل از میلاد', 'بعد از میلاد']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['س‌م1', 'س‌م2', 'س‌م3', 'س‌م4'],\n wide: ['سه‌ماهه 1', 'سه‌ماهه 2', 'سه‌ماهه 3', 'سه‌ماهه 4']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['ژ', 'ف', 'م', 'آ', 'م', 'ج', 'ج', 'آ', 'س', 'ا', 'ن', 'د'],\n abbreviated: ['ژانـ', 'فور', 'مارس', 'آپر', 'می', 'جون', 'جولـ', 'آگو', 'سپتـ', 'اکتـ', 'نوامـ', 'دسامـ'],\n wide: ['ژانویه', 'فوریه', 'مارس', 'آپریل', 'می', 'جون', 'جولای', 'آگوست', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر']\n};\nvar dayValues = {\n narrow: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],\n short: ['1ش', '2ش', '3ش', '4ش', '5ش', 'ج', 'ش'],\n abbreviated: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],\n wide: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ق',\n pm: 'ب',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'ص',\n afternoon: 'ب.ظ.',\n evening: 'ع',\n night: 'ش'\n },\n abbreviated: {\n am: 'ق.ظ.',\n pm: 'ب.ظ.',\n midnight: 'نیمه‌شب',\n noon: 'ظهر',\n morning: 'صبح',\n afternoon: 'بعدازظهر',\n evening: 'عصر',\n night: 'شب'\n },\n wide: {\n am: 'قبل‌ازظهر',\n pm: 'بعدازظهر',\n midnight: 'نیمه‌شب',\n noon: 'ظهر',\n morning: 'صبح',\n afternoon: 'بعدازظهر',\n evening: 'عصر',\n night: 'شب'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ق',\n pm: 'ب',\n midnight: 'ن',\n noon: 'ظ',\n morning: 'ص',\n afternoon: 'ب.ظ.',\n evening: 'ع',\n night: 'ش'\n },\n abbreviated: {\n am: 'ق.ظ.',\n pm: 'ب.ظ.',\n midnight: 'نیمه‌شب',\n noon: 'ظهر',\n morning: 'صبح',\n afternoon: 'بعدازظهر',\n evening: 'عصر',\n night: 'شب'\n },\n wide: {\n am: 'قبل‌ازظهر',\n pm: 'بعدازظهر',\n midnight: 'نیمه‌شب',\n noon: 'ظهر',\n morning: 'صبح',\n afternoon: 'بعدازظهر',\n evening: 'عصر',\n night: 'شب'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ق|ب)/i,\n abbreviated: /^(ق\\.?\\s?م\\.?|ق\\.?\\s?د\\.?\\s?م\\.?|م\\.?\\s?|د\\.?\\s?م\\.?)/i,\n wide: /^(قبل از میلاد|قبل از دوران مشترک|میلادی|دوران مشترک|بعد از میلاد)/i\n};\nvar parseEraPatterns = {\n any: [/^قبل/i, /^بعد/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^س‌م[1234]/i,\n wide: /^سه‌ماهه [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[جژفمآاماسند]/i,\n abbreviated: /^(جنو|ژانـ|ژانویه|فوریه|فور|مارس|آوریل|آپر|مه|می|ژوئن|جون|جول|جولـ|ژوئیه|اوت|آگو|سپتمبر|سپتامبر|اکتبر|اکتوبر|نوامبر|نوامـ|دسامبر|دسامـ|دسم)/i,\n wide: /^(ژانویه|جنوری|فبروری|فوریه|مارچ|مارس|آپریل|اپریل|ایپریل|آوریل|مه|می|ژوئن|جون|جولای|ژوئیه|آگست|اگست|آگوست|اوت|سپتمبر|سپتامبر|اکتبر|اکتوبر|نوامبر|نومبر|دسامبر|دسمبر)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^(ژ|ج)/i, /^ف/i, /^م/i, /^(آ|ا)/i, /^م/i, /^(ژ|ج)/i, /^(ج|ژ)/i, /^(آ|ا)/i, /^س/i, /^ا/i, /^ن/i, /^د/i],\n any: [/^ژا/i, /^ف/i, /^ما/i, /^آپ/i, /^(می|مه)/i, /^(ژوئن|جون)/i, /^(ژوئی|جول)/i, /^(اوت|آگ)/i, /^س/i, /^(اوک|اک)/i, /^ن/i, /^د/i]\n};\nvar matchDayPatterns = {\n narrow: /^[شیدسچپج]/i,\n short: /^(ش|ج|1ش|2ش|3ش|4ش|5ش)/i,\n abbreviated: /^(یکشنبه|دوشنبه|سه‌شنبه|چهارشنبه|پنج‌شنبه|جمعه|شنبه)/i,\n wide: /^(یکشنبه|دوشنبه|سه‌شنبه|چهارشنبه|پنج‌شنبه|جمعه|شنبه)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ی/i, /^دو/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i],\n any: [/^(ی|1ش|یکشنبه)/i, /^(د|2ش|دوشنبه)/i, /^(س|3ش|سه‌شنبه)/i, /^(چ|4ش|چهارشنبه)/i, /^(پ|5ش|پنجشنبه)/i, /^(ج|جمعه)/i, /^(ش|شنبه)/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ب|ق|ن|ظ|ص|ب.ظ.|ع|ش)/i,\n abbreviated: /^(ق.ظ.|ب.ظ.|نیمه‌شب|ظهر|صبح|بعدازظهر|عصر|شب)/i,\n wide: /^(قبل‌ازظهر|نیمه‌شب|ظهر|صبح|بعدازظهر|عصر|شب)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^(ق|ق.ظ.|قبل‌ازظهر)/i,\n pm: /^(ب|ب.ظ.|بعدازظهر)/i,\n midnight: /^(‌نیمه‌شب|ن)/i,\n noon: /^(ظ|ظهر)/i,\n morning: /(ص|صبح)/i,\n afternoon: /(ب|ب.ظ.|بعدازظهر)/i,\n evening: /(ع|عصر)/i,\n night: /(ش|شب)/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'eeee d. MMMM y',\n long: 'd. MMMM y',\n medium: 'd. MMM y',\n short: 'd.M.y'\n};\nvar timeFormats = {\n full: 'HH.mm.ss zzzz',\n long: 'HH.mm.ss z',\n medium: 'HH.mm.ss',\n short: 'HH.mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'klo' {{time}}\",\n long: \"{{date}} 'klo' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","function futureSeconds(text) {\n return text.replace(/sekuntia?/, 'sekunnin');\n}\n\nfunction futureMinutes(text) {\n return text.replace(/minuuttia?/, 'minuutin');\n}\n\nfunction futureHours(text) {\n return text.replace(/tuntia?/, 'tunnin');\n}\n\nfunction futureDays(text) {\n return text.replace(/päivää?/, 'päivän');\n}\n\nfunction futureWeeks(text) {\n return text.replace(/(viikko|viikkoa)/, 'viikon');\n}\n\nfunction futureMonths(text) {\n return text.replace(/(kuukausi|kuukautta)/, 'kuukauden');\n}\n\nfunction futureYears(text) {\n return text.replace(/(vuosi|vuotta)/, 'vuoden');\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'alle sekunti',\n other: 'alle {{count}} sekuntia',\n futureTense: futureSeconds\n },\n xSeconds: {\n one: 'sekunti',\n other: '{{count}} sekuntia',\n futureTense: futureSeconds\n },\n halfAMinute: {\n one: 'puoli minuuttia',\n other: 'puoli minuuttia',\n futureTense: function futureTense(_text) {\n return 'puolen minuutin';\n }\n },\n lessThanXMinutes: {\n one: 'alle minuutti',\n other: 'alle {{count}} minuuttia',\n futureTense: futureMinutes\n },\n xMinutes: {\n one: 'minuutti',\n other: '{{count}} minuuttia',\n futureTense: futureMinutes\n },\n aboutXHours: {\n one: 'noin tunti',\n other: 'noin {{count}} tuntia',\n futureTense: futureHours\n },\n xHours: {\n one: 'tunti',\n other: '{{count}} tuntia',\n futureTense: futureHours\n },\n xDays: {\n one: 'päivä',\n other: '{{count}} päivää',\n futureTense: futureDays\n },\n aboutXWeeks: {\n one: 'noin viikko',\n other: 'noin {{count}} viikkoa',\n futureTense: futureWeeks\n },\n xWeeks: {\n one: 'viikko',\n other: '{{count}} viikkoa',\n futureTense: futureWeeks\n },\n aboutXMonths: {\n one: 'noin kuukausi',\n other: 'noin {{count}} kuukautta',\n futureTense: futureMonths\n },\n xMonths: {\n one: 'kuukausi',\n other: '{{count}} kuukautta',\n futureTense: futureMonths\n },\n aboutXYears: {\n one: 'noin vuosi',\n other: 'noin {{count}} vuotta',\n futureTense: futureYears\n },\n xYears: {\n one: 'vuosi',\n other: '{{count}} vuotta',\n futureTense: futureYears\n },\n overXYears: {\n one: 'yli vuosi',\n other: 'yli {{count}} vuotta',\n futureTense: futureYears\n },\n almostXYears: {\n one: 'lähes vuosi',\n other: 'lähes {{count}} vuotta',\n futureTense: futureYears\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var tokenValue = formatDistanceLocale[token];\n var result = count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count));\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return tokenValue.futureTense(result) + ' kuluttua';\n } else {\n return result + ' sitten';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['eaa.', 'jaa.'],\n abbreviated: ['eaa.', 'jaa.'],\n wide: ['ennen ajanlaskun alkua', 'jälkeen ajanlaskun alun']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. kvartaali', '2. kvartaali', '3. kvartaali', '4. kvartaali']\n};\nvar monthValues = {\n narrow: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'],\n abbreviated: ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'],\n wide: ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu']\n};\nvar formattingMonthValues = {\n narrow: monthValues.narrow,\n abbreviated: monthValues.abbreviated,\n wide: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', 'lokakuuta', 'marraskuuta', 'joulukuuta']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'K', 'T', 'P', 'L'],\n short: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],\n abbreviated: ['sunn.', 'maan.', 'tiis.', 'kesk.', 'torst.', 'perj.', 'la'],\n wide: ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai']\n};\nvar formattingDayValues = {\n narrow: dayValues.narrow,\n short: dayValues.short,\n abbreviated: dayValues.abbreviated,\n wide: ['sunnuntaina', 'maanantaina', 'tiistaina', 'keskiviikkona', 'torstaina', 'perjantaina', 'lauantaina']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ap',\n pm: 'ip',\n midnight: 'keskiyö',\n noon: 'keskipäivä',\n morning: 'ap',\n afternoon: 'ip',\n evening: 'illalla',\n night: 'yöllä'\n },\n abbreviated: {\n am: 'ap',\n pm: 'ip',\n midnight: 'keskiyö',\n noon: 'keskipäivä',\n morning: 'ap',\n afternoon: 'ip',\n evening: 'illalla',\n night: 'yöllä'\n },\n wide: {\n am: 'ap',\n pm: 'ip',\n midnight: 'keskiyöllä',\n noon: 'keskipäivällä',\n morning: 'aamupäivällä',\n afternoon: 'iltapäivällä',\n evening: 'illalla',\n night: 'yöllä'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayValues,\n defaultFormattingWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'minder as 1 sekonde',\n other: 'minder as {{count}} sekonden'\n },\n xSeconds: {\n one: '1 sekonde',\n other: '{{count}} sekonden'\n },\n halfAMinute: 'oardel minút',\n lessThanXMinutes: {\n one: 'minder as 1 minút',\n other: 'minder as {{count}} minuten'\n },\n xMinutes: {\n one: '1 minút',\n other: '{{count}} minuten'\n },\n aboutXHours: {\n one: 'sawat 1 oere',\n other: 'sawat {{count}} oere'\n },\n xHours: {\n one: '1 oere',\n other: '{{count}} oere'\n },\n xDays: {\n one: '1 dei',\n other: '{{count}} dagen'\n },\n aboutXWeeks: {\n one: 'sawat 1 wike',\n other: 'sawat {{count}} wiken'\n },\n xWeeks: {\n one: '1 wike',\n other: '{{count}} wiken'\n },\n aboutXMonths: {\n one: 'sawat 1 moanne',\n other: 'sawat {{count}} moannen'\n },\n xMonths: {\n one: '1 moanne',\n other: '{{count}} moannen'\n },\n aboutXYears: {\n one: 'sawat 1 jier',\n other: 'sawat {{count}} jier'\n },\n xYears: {\n one: '1 jier',\n other: '{{count}} jier'\n },\n overXYears: {\n one: 'mear as 1 jier',\n other: 'mear as {{count}}s jier'\n },\n almostXYears: {\n one: 'hast 1 jier',\n other: 'hast {{count}} jier'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'oer ' + result;\n } else {\n return result + ' lyn';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(e|j)/i,\n abbreviated: /^(eaa.|jaa.)/i,\n wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i\n};\nvar parseEraPatterns = {\n any: [/^e/i, /^j/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234]\\.? kvartaali/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[thmkeslj]/i,\n abbreviated: /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i,\n wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i\n};\nvar parseMonthPatterns = {\n narrow: [/^t/i, /^h/i, /^m/i, /^h/i, /^t/i, /^k/i, /^h/i, /^e/i, /^s/i, /^l/i, /^m/i, /^j/i],\n any: [/^ta/i, /^hel/i, /^maa/i, /^hu/i, /^to/i, /^k/i, /^hei/i, /^e/i, /^s/i, /^l/i, /^mar/i, /^j/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtkpl]/i,\n short: /^(su|ma|ti|ke|to|pe|la)/i,\n abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i,\n wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i],\n any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ap/i,\n pm: /^ip/i,\n midnight: /^keskiyö/i,\n noon: /^keskipäivä/i,\n morning: /aamupäivällä/i,\n afternoon: /iltapäivällä/i,\n evening: /illalla/i,\n night: /yöllä/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'à' {{time}}\",\n long: \"{{date}} 'à' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['av. J.-C', 'ap. J.-C'],\n abbreviated: ['av. J.-C', 'ap. J.-C'],\n wide: ['avant Jésus-Christ', 'après Jésus-Christ']\n};\nvar quarterValues = {\n narrow: ['T1', 'T2', 'T3', 'T4'],\n abbreviated: ['1er trim.', '2ème trim.', '3ème trim.', '4ème trim.'],\n wide: ['1er trimestre', '2ème trimestre', '3ème trimestre', '4ème trimestre']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n wide: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre']\n};\nvar dayValues = {\n narrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\n short: ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'],\n abbreviated: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n wide: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'minuit',\n noon: 'midi',\n morning: 'mat.',\n afternoon: 'ap.m.',\n evening: 'soir',\n night: 'mat.'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'minuit',\n noon: 'midi',\n morning: 'matin',\n afternoon: 'après-midi',\n evening: 'soir',\n night: 'matin'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'minuit',\n noon: 'midi',\n morning: 'du matin',\n afternoon: 'de l’après-midi',\n evening: 'du soir',\n night: 'du matin'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n if (number === 0) return '0';\n var feminineUnits = ['year', 'week', 'hour', 'minute', 'second'];\n var suffix;\n\n if (number === 1) {\n suffix = unit && feminineUnits.includes(unit) ? 'ère' : 'er';\n } else {\n suffix = 'ème';\n }\n\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ième|ère|ème|er|e)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(av\\.J\\.C|ap\\.J\\.C|ap\\.J\\.-C)/i,\n abbreviated: /^(av\\.J\\.-C|av\\.J-C|apr\\.J\\.-C|apr\\.J-C|ap\\.J-C)/i,\n wide: /^(avant Jésus-Christ|après Jésus-Christ)/i\n};\nvar parseEraPatterns = {\n any: [/^av/i, /^ap/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^T?[1234]/i,\n abbreviated: /^[1234](er|ème|e)? trim\\.?/i,\n wide: /^[1234](er|ème|e)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\\.?/i,\n wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^av/i, /^ma/i, /^juin/i, /^juil/i, /^ao/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[lmjvsd]/i,\n short: /^(di|lu|ma|me|je|ve|sa)/i,\n abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\\.?/i,\n wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|minuit|midi|mat\\.?|ap\\.?m\\.?|soir|nuit)/i,\n any: /^([ap]\\.?\\s?m\\.?|du matin|de l'après[-\\s]midi|du soir|de la nuit)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^min/i,\n noon: /^mid/i,\n morning: /mat/i,\n afternoon: /ap/i,\n evening: /soir/i,\n night: /nuit/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'yy-MM-dd'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'à' {{time}}\",\n long: \"{{date}} 'à' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'à' {{time}}\",\n long: \"{{date}} 'à' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd-MM-y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'om' {{time}}\",\n long: \"{{date}} 'om' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'ôfrûne' eeee 'om' p\",\n yesterday: \"'juster om' p\",\n today: \"'hjoed om' p\",\n tomorrow: \"'moarn om' p\",\n nextWeek: \"eeee 'om' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'nas lugha na diog',\n other: 'nas lugha na {{count}} diogan'\n },\n xSeconds: {\n one: '1 diog',\n two: '2 dhiog',\n twenty: '20 diog',\n other: '{{count}} diogan'\n },\n halfAMinute: 'leth mhionaid',\n lessThanXMinutes: {\n one: 'nas lugha na mionaid',\n other: 'nas lugha na {{count}} mionaidean'\n },\n xMinutes: {\n one: '1 mionaid',\n two: '2 mhionaid',\n twenty: '20 mionaid',\n other: '{{count}} mionaidean'\n },\n aboutXHours: {\n one: 'mu uair de thìde',\n other: 'mu {{count}} uairean de thìde'\n },\n xHours: {\n one: '1 uair de thìde',\n two: '2 uair de thìde',\n twenty: '20 uair de thìde',\n other: '{{count}} uairean de thìde'\n },\n xDays: {\n one: '1 là',\n other: '{{count}} là'\n },\n aboutXWeeks: {\n one: 'mu 1 seachdain',\n other: 'mu {{count}} seachdainean'\n },\n xWeeks: {\n one: '1 seachdain',\n other: '{{count}} seachdainean'\n },\n aboutXMonths: {\n one: 'mu mhìos',\n other: 'mu {{count}} mìosan'\n },\n xMonths: {\n one: '1 mìos',\n other: '{{count}} mìosan'\n },\n aboutXYears: {\n one: 'mu bhliadhna',\n other: 'mu {{count}} bliadhnaichean'\n },\n xYears: {\n one: '1 bhliadhna',\n other: '{{count}} bliadhna'\n },\n overXYears: {\n one: 'còrr is bliadhna',\n other: 'còrr is {{count}} bliadhnaichean'\n },\n almostXYears: {\n one: 'cha mhòr bliadhna',\n other: 'cha mhòr {{count}} bliadhnaichean'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else if (count === 2 && !!tokenValue.two) {\n result = tokenValue.two;\n } else if (count === 20 && !!tokenValue.twenty) {\n result = tokenValue.twenty;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'ann an ' + result;\n } else {\n return 'o chionn ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['f.K.', 'n.K.'],\n abbreviated: ['f.Kr.', 'n.Kr.'],\n wide: ['foar Kristus', 'nei Kristus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1e fearnsjier', '2e fearnsjier', '3e fearnsjier', '4e fearnsjier']\n};\nvar monthValues = {\n narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['jan.', 'feb.', 'mrt.', 'apr.', 'mai.', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'],\n wide: ['jannewaris', 'febrewaris', 'maart', 'april', 'maaie', 'juny', 'july', 'augustus', 'septimber', 'oktober', 'novimber', 'desimber']\n};\nvar dayValues = {\n narrow: ['s', 'm', 't', 'w', 't', 'f', 's'],\n short: ['si', 'mo', 'ti', 'wo', 'to', 'fr', 'so'],\n abbreviated: ['snein', 'moa', 'tii', 'woa', 'ton', 'fre', 'sneon'],\n wide: ['snein', 'moandei', 'tiisdei', 'woansdei', 'tongersdei', 'freed', 'sneon']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'middei',\n morning: 'moarns',\n afternoon: 'middeis',\n evening: 'jûns',\n night: 'nachts'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'middei',\n morning: 'moarns',\n afternoon: 'middeis',\n evening: 'jûns',\n night: 'nachts'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'middei',\n morning: 'moarns',\n afternoon: 'middeis',\n evening: 'jûns',\n night: 'nachts'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'e';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)e?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^([fn]\\.? ?K\\.?)/,\n abbreviated: /^([fn]\\. ?Kr\\.?)/,\n wide: /^((foar|nei) Kristus)/\n};\nvar parseEraPatterns = {\n any: [/^f/, /^n/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^K[1234]/i,\n wide: /^[1234]e fearnsjier/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan.|feb.|mrt.|apr.|mai.|jun.|jul.|aug.|sep.|okt.|nov.|des.)/i,\n wide: /^(jannewaris|febrewaris|maart|april|maaie|juny|july|augustus|septimber|oktober|novimber|desimber)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^jan/i, /^feb/i, /^m(r|a)/i, /^apr/i, /^mai/i, /^jun/i, /^jul/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^des/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(si|mo|ti|wo|to|fr|so)/i,\n abbreviated: /^(snein|moa|tii|woa|ton|fre|sneon)/i,\n wide: /^(snein|moandei|tiisdei|woansdei|tongersdei|freed|sneon)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^sn/i, /^mo/i, /^ti/i, /^wo/i, /^to/i, /^fr/i, /^sn/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|middernacht|middeis|moarns|middei|jûns|nachts)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^am/i,\n pm: /^pm/i,\n midnight: /^middernacht/i,\n noon: /^middei/i,\n morning: /moarns/i,\n afternoon: /^middeis/i,\n evening: /jûns/i,\n night: /nachts/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'aig' {{time}}\",\n long: \"{{date}} 'aig' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'mu dheireadh' eeee 'aig' p\",\n //FIX\n yesterday: \"'an-dè aig' p\",\n today: \"'an-diugh aig' p\",\n tomorrow: \"'a-màireach aig' p\",\n nextWeek: \"eeee 'aig' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'menos dun segundo',\n other: 'menos de {{count}} segundos'\n },\n xSeconds: {\n one: '1 segundo',\n other: '{{count}} segundos'\n },\n halfAMinute: 'medio minuto',\n lessThanXMinutes: {\n one: 'menos dun minuto',\n other: 'menos de {{count}} minutos'\n },\n xMinutes: {\n one: '1 minuto',\n other: '{{count}} minutos'\n },\n aboutXHours: {\n one: 'arredor dunha hora',\n other: 'arredor de {{count}} horas'\n },\n xHours: {\n one: '1 hora',\n other: '{{count}} horas'\n },\n xDays: {\n one: '1 día',\n other: '{{count}} días'\n },\n aboutXWeeks: {\n one: 'arredor dunha semana',\n other: 'arredor de {{count}} semanas'\n },\n xWeeks: {\n one: '1 semana',\n other: '{{count}} semanas'\n },\n aboutXMonths: {\n one: 'arredor de 1 mes',\n other: 'arredor de {{count}} meses'\n },\n xMonths: {\n one: '1 mes',\n other: '{{count}} meses'\n },\n aboutXYears: {\n one: 'arredor dun ano',\n other: 'arredor de {{count}} anos'\n },\n xYears: {\n one: '1 ano',\n other: '{{count}} anos'\n },\n overXYears: {\n one: 'máis dun ano',\n other: 'máis de {{count}} anos'\n },\n almostXYears: {\n one: 'case un ano',\n other: 'case {{count}} anos'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'en ' + result;\n } else {\n return 'hai ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['R', 'A'],\n abbreviated: ['RC', 'AD'],\n wide: ['ro Chrìosta', 'anno domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['C1', 'C2', 'C3', 'C4'],\n wide: [\"a' chiad chairteal\", 'an dàrna cairteal', 'an treas cairteal', 'an ceathramh cairteal']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['F', 'G', 'M', 'G', 'C', 'Ò', 'I', 'L', 'S', 'D', 'S', 'D'],\n abbreviated: ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'],\n wide: ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd']\n};\nvar dayValues = {\n narrow: ['D', 'L', 'M', 'C', 'A', 'H', 'S'],\n short: ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'],\n abbreviated: ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n wide: ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'm',\n pm: 'f',\n midnight: 'm.o.',\n noon: 'm.l.',\n morning: 'madainn',\n afternoon: 'feasgar',\n evening: 'feasgar',\n night: 'oidhche'\n },\n abbreviated: {\n am: 'M.',\n pm: 'F.',\n midnight: 'meadhan oidhche',\n noon: 'meadhan là',\n morning: 'madainn',\n afternoon: 'feasgar',\n evening: 'feasgar',\n night: 'oidhche'\n },\n wide: {\n am: 'm.',\n pm: 'f.',\n midnight: 'meadhan oidhche',\n noon: 'meadhan là',\n morning: 'madainn',\n afternoon: 'feasgar',\n evening: 'feasgar',\n night: 'oidhche'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'm',\n pm: 'f',\n midnight: 'm.o.',\n noon: 'm.l.',\n morning: 'sa mhadainn',\n afternoon: 'feasgar',\n evening: 'feasgar',\n night: 'air an oidhche'\n },\n abbreviated: {\n am: 'M.',\n pm: 'F.',\n midnight: 'meadhan oidhche',\n noon: 'meadhan là',\n morning: 'sa mhadainn',\n afternoon: 'feasgar',\n evening: 'feasgar',\n night: 'air an oidhche'\n },\n wide: {\n am: 'm.',\n pm: 'f.',\n midnight: 'meadhan oidhche',\n noon: 'meadhan là',\n morning: 'sa mhadainn',\n afternoon: 'feasgar',\n evening: 'feasgar',\n night: 'air an oidhche'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n var number = Number(dirtyNumber);\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'd';\n\n case 2:\n return number + 'na';\n }\n }\n\n if (rem100 === 12) {\n return number + 'na';\n }\n\n return number + 'mh';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(d|na|tr|mh)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(r|a)/i,\n abbreviated: /^(r\\.?\\s?c\\.?|r\\.?\\s?a\\.?\\s?c\\.?|a\\.?\\s?d\\.?|a\\.?\\s?c\\.?)/i,\n wide: /^(ro Chrìosta|ron aois choitchinn|anno domini|aois choitcheann)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^c[1234]/i,\n wide: /^[1234](cd|na|tr|mh)? cairteal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[fgmcòilsd]/i,\n abbreviated: /^(faoi|gear|màrt|gibl|cèit|ògmh|iuch|lùn|sult|dàmh|samh|dùbh)/i,\n wide: /^(am faoilleach|an gearran|am màrt|an giblean|an cèitean|an t-Ògmhios|an t-Iuchar|an lùnastal|an t-Sultain|an dàmhair|an t-Samhain|an dùbhlachd)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^f/i, /^g/i, /^m/i, /^g/i, /^c/i, /^ò/i, /^i/i, /^l/i, /^s/i, /^d/i, /^s/i, /^d/i],\n any: [/^fa/i, /^ge/i, /^mà/i, /^gi/i, /^c/i, /^ò/i, /^i/i, /^l/i, /^su/i, /^d/i, /^sa/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmcahs]/i,\n short: /^(dò|lu|mà|ci|ar|ha|sa)/i,\n abbreviated: /^(did|dil|dim|dic|dia|dih|dis)/i,\n wide: /^(didòmhnaich|diluain|dimàirt|diciadain|diardaoin|dihaoine|disathairne)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^c/i, /^a/i, /^h/i, /^s/i],\n any: [/^d/i, /^l/i, /^m/i, /^c/i, /^a/i, /^h/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(san|aig) (madainn|feasgar|feasgar|oidhche))/i,\n any: /^([ap]\\.?\\s?m\\.?|meadhan oidhche|meadhan là|(san|aig) (madainn|feasgar|feasgar|oidhche))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^m/i,\n pm: /^f/i,\n midnight: /^meadhan oidhche/i,\n noon: /^meadhan là/i,\n morning: /sa mhadainn/i,\n afternoon: /feasgar/i,\n evening: /feasgar/i,\n night: /air an oidhche/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d 'de' MMMM y\",\n long: \"d 'de' MMMM y\",\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'ás' {{time}}\",\n long: \"{{date}} 'ás' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'o' eeee 'pasado á' LT\",\n yesterday: \"'onte á' p\",\n today: \"'hoxe á' p\",\n tomorrow: \"'mañá á' p\",\n nextWeek: \"eeee 'á' p\",\n other: 'P'\n};\nvar formatRelativeLocalePlural = {\n lastWeek: \"'o' eeee 'pasado ás' p\",\n yesterday: \"'onte ás' p\",\n today: \"'hoxe ás' p\",\n tomorrow: \"'mañá ás' p\",\n nextWeek: \"eeee 'ás' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n if (date.getUTCHours() !== 1) {\n return formatRelativeLocalePlural[token];\n }\n\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","// Source: https://www.unicode.org/cldr/charts/32/summary/gu.html\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'હમણાં',\n // CLDR #1461\n other: '​આશરે {{count}} સેકંડ'\n },\n xSeconds: {\n one: '1 સેકંડ',\n other: '{{count}} સેકંડ'\n },\n halfAMinute: 'અડધી મિનિટ',\n lessThanXMinutes: {\n one: 'આ મિનિટ',\n // CLDR #1448\n other: '​આશરે {{count}} મિનિટ'\n },\n xMinutes: {\n one: '1 મિનિટ',\n other: '{{count}} મિનિટ'\n },\n aboutXHours: {\n one: '​આશરે 1 કલાક',\n other: '​આશરે {{count}} કલાક'\n },\n xHours: {\n one: '1 કલાક',\n other: '{{count}} કલાક'\n },\n xDays: {\n one: '1 દિવસ',\n other: '{{count}} દિવસ'\n },\n aboutXWeeks: {\n one: 'આશરે 1 અઠવાડિયું',\n other: 'આશરે {{count}} અઠવાડિયા'\n },\n xWeeks: {\n one: '1 અઠવાડિયું',\n other: '{{count}} અઠવાડિયા'\n },\n aboutXMonths: {\n one: 'આશરે 1 મહિનો',\n other: 'આશરે {{count}} મહિના'\n },\n xMonths: {\n one: '1 મહિનો',\n other: '{{count}} મહિના'\n },\n aboutXYears: {\n one: 'આશરે 1 વર્ષ',\n other: 'આશરે {{count}} વર્ષ'\n },\n xYears: {\n one: '1 વર્ષ',\n other: '{{count}} વર્ષ'\n },\n overXYears: {\n one: '1 વર્ષથી વધુ',\n other: '{{count}} વર્ષથી વધુ'\n },\n almostXYears: {\n one: 'લગભગ 1 વર્ષ',\n other: 'લગભગ {{count}} વર્ષ'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + 'માં';\n } else {\n return result + ' પહેલાં';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['AC', 'DC'],\n abbreviated: ['AC', 'DC'],\n wide: ['antes de cristo', 'despois de cristo']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n narrow: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['xan', 'feb', 'mar', 'abr', 'mai', 'xun', 'xul', 'ago', 'set', 'out', 'nov', 'dec'],\n wide: ['xaneiro', 'febreiro', 'marzo', 'abril', 'maio', 'xuño', 'xullo', 'agosto', 'setembro', 'outubro', 'novembro', 'decembro']\n};\nvar dayValues = {\n narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],\n short: ['do', 'lu', 'ma', 'me', 'xo', 've', 'sa'],\n abbreviated: ['dom', 'lun', 'mar', 'mer', 'xov', 'ven', 'sab'],\n wide: ['domingo', 'luns', 'martes', 'mércores', 'xoves', 'venres', 'sábado']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'mañá',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noite'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'medianoite',\n noon: 'mediodía',\n morning: 'mañá',\n afternoon: 'tarde',\n evening: 'tardiña',\n night: 'noite'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'medianoite',\n noon: 'mediodía',\n morning: 'mañá',\n afternoon: 'tarde',\n evening: 'tardiña',\n night: 'noite'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'da mañá',\n afternoon: 'da tarde',\n evening: 'da tardiña',\n night: 'da noite'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'medianoite',\n noon: 'mediodía',\n morning: 'da mañá',\n afternoon: 'da tarde',\n evening: 'da tardiña',\n night: 'da noite'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'medianoite',\n noon: 'mediodía',\n morning: 'da mañá',\n afternoon: 'da tarde',\n evening: 'da tardiña',\n night: 'da noite'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'º';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|antes da era com[uú]n|despois de cristo|era com[uú]n)/i\n};\nvar parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^(antes de cristo|antes da era com[uú]n)/i, /^(despois de cristo|era com[uú]n)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[xfmasond]/i,\n abbreviated: /^(xan|feb|mar|abr|mai|xun|xul|ago|set|out|nov|dec)/i,\n wide: /^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^x/i, /^f/i, /^m/i, /^a/i, /^m/i, /^x/i, /^x/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^xan/i, /^feb/i, /^mar/i, /^abr/i, /^mai/i, /^xun/i, /^xul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dec/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmxvs]/i,\n short: /^(do|lu|ma|me|xo|ve|sa)/i,\n abbreviated: /^(dom|lun|mar|mer|xov|ven|sab)/i,\n wide: /^(domingo|luns|martes|m[eé]rcores|xoves|venres|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^x/i, /^v/i, /^s/i],\n any: [/^do/i, /^lu/i, /^ma/i, /^me/i, /^xo/i, /^ve/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(da|[aá]s) (mañ[aá]|tarde|noite))/i,\n any: /^([ap]\\.?\\s?m\\.?|medianoite|mediod[ií]a|(da|[aá]s) (mañ[aá]|tarde|noite))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /^md/i,\n morning: /mañ[aá]/i,\n afternoon: /tarde/i,\n evening: /tardiña/i,\n night: /noite/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\"; //Source: https://www.unicode.org/cldr/charts/32/summary/gu.html\n\nvar dateFormats = {\n full: 'EEEE, d MMMM, y',\n // CLDR #1825\n long: 'd MMMM, y',\n // CLDR #1826\n medium: 'd MMM, y',\n // CLDR #1827\n short: 'd/M/yy' // CLDR #1828\n\n};\nvar timeFormats = {\n full: 'hh:mm:ss a zzzz',\n // CLDR #1829\n long: 'hh:mm:ss a z',\n // CLDR #1830\n medium: 'hh:mm:ss a',\n // CLDR #1831\n short: 'hh:mm a' // CLDR #1832\n\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n // CLDR #1833\n long: '{{date}} {{time}}',\n // CLDR #1834\n medium: '{{date}} {{time}}',\n // CLDR #1835\n short: '{{date}} {{time}}' // CLDR #1836\n\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","// Source: https://www.unicode.org/cldr/charts/32/summary/gu.html\nvar formatRelativeLocale = {\n lastWeek: \"'પાછલા' eeee p\",\n // CLDR #1384\n yesterday: \"'ગઈકાલે' p\",\n // CLDR #1409\n today: \"'આજે' p\",\n // CLDR #1410\n tomorrow: \"'આવતીકાલે' p\",\n // CLDR #1411\n nextWeek: 'eeee p',\n // CLDR #1386\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'פחות משנייה',\n two: 'פחות משתי שניות',\n other: 'פחות מ־{{count}} שניות'\n },\n xSeconds: {\n one: 'שנייה',\n two: 'שתי שניות',\n other: '{{count}} שניות'\n },\n halfAMinute: 'חצי דקה',\n lessThanXMinutes: {\n one: 'פחות מדקה',\n two: 'פחות משתי דקות',\n other: 'פחות מ־{{count}} דקות'\n },\n xMinutes: {\n one: 'דקה',\n two: 'שתי דקות',\n other: '{{count}} דקות'\n },\n aboutXHours: {\n one: 'כשעה',\n two: 'כשעתיים',\n other: 'כ־{{count}} שעות'\n },\n xHours: {\n one: 'שעה',\n two: 'שעתיים',\n other: '{{count}} שעות'\n },\n xDays: {\n one: 'יום',\n two: 'יומיים',\n other: '{{count}} ימים'\n },\n aboutXWeeks: {\n one: 'כשבוע',\n two: 'כשבועיים',\n other: 'כ־{{count}} שבועות'\n },\n xWeeks: {\n one: 'שבוע',\n two: 'שבועיים',\n other: '{{count}} שבועות'\n },\n aboutXMonths: {\n one: 'כחודש',\n two: 'כחודשיים',\n other: 'כ־{{count}} חודשים'\n },\n xMonths: {\n one: 'חודש',\n two: 'חודשיים',\n other: '{{count}} חודשים'\n },\n aboutXYears: {\n one: 'כשנה',\n two: 'כשנתיים',\n other: 'כ־{{count}} שנים'\n },\n xYears: {\n one: 'שנה',\n two: 'שנתיים',\n other: '{{count}} שנים'\n },\n overXYears: {\n one: 'יותר משנה',\n two: 'יותר משנתיים',\n other: 'יותר מ־{{count}} שנים'\n },\n almostXYears: {\n one: 'כמעט שנה',\n two: 'כמעט שנתיים',\n other: 'כמעט {{count}} שנים'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n // Return word instead of `in one day` or `one day ago`\n if (token === 'xDays' && options !== null && options !== void 0 && options.addSuffix && count <= 2) {\n if (options.comparison && options.comparison > 0) {\n return count === 1 ? 'מחר' : 'מחרתיים';\n }\n\n return count === 1 ? 'אתמול' : 'שלשום';\n }\n\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else if (count === 2) {\n result = tokenValue.two;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'בעוד ' + result;\n } else {\n return 'לפני ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // https://www.unicode.org/cldr/charts/32/summary/gu.html\n// #1621 - #1630\n\nvar eraValues = {\n narrow: ['ઈસપૂ', 'ઈસ'],\n abbreviated: ['ઈ.સ.પૂર્વે', 'ઈ.સ.'],\n wide: ['ઈસવીસન પૂર્વે', 'ઈસવીસન']\n}; // https://www.unicode.org/cldr/charts/32/summary/gu.html\n// #1631 - #1654\n\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1લો ત્રિમાસ', '2જો ત્રિમાસ', '3જો ત્રિમાસ', '4થો ત્રિમાસ']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n// https://www.unicode.org/cldr/charts/32/summary/gu.html\n// #1655 - #1726\n\nvar monthValues = {\n narrow: ['જા', 'ફે', 'મા', 'એ', 'મે', 'જૂ', 'જુ', 'ઓ', 'સ', 'ઓ', 'ન', 'ડિ'],\n abbreviated: ['જાન્યુ', 'ફેબ્રુ', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે', 'ઓક્ટો', 'નવે', 'ડિસે'],\n wide: ['જાન્યુઆરી', 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઇ', 'ઓગસ્ટ', 'સપ્ટેમ્બર', 'ઓક્ટોબર', 'નવેમ્બર', 'ડિસેમ્બર']\n}; // https://www.unicode.org/cldr/charts/32/summary/gu.html\n// #1727 - #1768\n\nvar dayValues = {\n narrow: ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'],\n short: ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'],\n abbreviated: ['રવિ', 'સોમ', 'મંગળ', 'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'],\n wide: ['રવિવાર'\n /* Sunday */\n , 'સોમવાર'\n /* Monday */\n , 'મંગળવાર'\n /* Tuesday */\n , 'બુધવાર'\n /* Wednesday */\n , 'ગુરુવાર'\n /* Thursday */\n , 'શુક્રવાર'\n /* Friday */\n , 'શનિવાર'\n /* Saturday */\n ]\n}; // https://www.unicode.org/cldr/charts/32/summary/gu.html\n// #1783 - #1824\n\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'મ.રાત્રિ',\n noon: 'બ.',\n morning: 'સવારે',\n afternoon: 'બપોરે',\n evening: 'સાંજે',\n night: 'રાત્રે'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: '​મધ્યરાત્રિ',\n noon: 'બપોરે',\n morning: 'સવારે',\n afternoon: 'બપોરે',\n evening: 'સાંજે',\n night: 'રાત્રે'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: '​મધ્યરાત્રિ',\n noon: 'બપોરે',\n morning: 'સવારે',\n afternoon: 'બપોરે',\n evening: 'સાંજે',\n night: 'રાત્રે'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'મ.રાત્રિ',\n noon: 'બપોરે',\n morning: 'સવારે',\n afternoon: 'બપોરે',\n evening: 'સાંજે',\n night: 'રાત્રે'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'મધ્યરાત્રિ',\n noon: 'બપોરે',\n morning: 'સવારે',\n afternoon: 'બપોરે',\n evening: 'સાંજે',\n night: 'રાત્રે'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: '​મધ્યરાત્રિ',\n noon: 'બપોરે',\n morning: 'સવારે',\n afternoon: 'બપોરે',\n evening: 'સાંજે',\n night: 'રાત્રે'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(લ|જ|થ|ઠ્ઠ|મ)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ઈસપૂ|ઈસ)/i,\n abbreviated: /^(ઈ\\.સ\\.પૂર્વે|ઈ\\.સ\\.)/i,\n wide: /^(ઈસવીસન\\sપૂર્વે|ઈસવીસન)/i\n};\nvar parseEraPatterns = {\n any: [/^ઈસપૂ/i, /^ઈસ/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](લો|જો|થો)? ત્રિમાસ/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[જાફેમાએમેજૂજુઓસઓનડિ]/i,\n abbreviated: /^(જાન્યુ|ફેબ્રુ|માર્ચ|એપ્રિલ|મે|જૂન|જુલાઈ|ઑગસ્ટ|સપ્ટે|ઓક્ટો|નવે|ડિસે)/i,\n wide: /^(જાન્યુઆરી|ફેબ્રુઆરી|માર્ચ|એપ્રિલ|મે|જૂન|જુલાઇ|ઓગસ્ટ|સપ્ટેમ્બર|ઓક્ટોબર|નવેમ્બર|ડિસેમ્બર)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^જા/i, /^ફે/i, /^મા/i, /^એ/i, /^મે/i, /^જૂ/i, /^જુ/i, /^ઑગ/i, /^સ/i, /^ઓક્ટો/i, /^ન/i, /^ડિ/i],\n any: [/^જા/i, /^ફે/i, /^મા/i, /^એ/i, /^મે/i, /^જૂ/i, /^જુ/i, /^ઑગ/i, /^સ/i, /^ઓક્ટો/i, /^ન/i, /^ડિ/i]\n};\nvar matchDayPatterns = {\n narrow: /^(ર|સો|મં|બુ|ગુ|શુ|શ)/i,\n short: /^(ર|સો|મં|બુ|ગુ|શુ|શ)/i,\n abbreviated: /^(રવિ|સોમ|મંગળ|બુધ|ગુરુ|શુક્ર|શનિ)/i,\n wide: /^(રવિવાર|સોમવાર|મંગળવાર|બુધવાર|ગુરુવાર|શુક્રવાર|શનિવાર)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ર/i, /^સો/i, /^મં/i, /^બુ/i, /^ગુ/i, /^શુ/i, /^શ/i],\n any: [/^ર/i, /^સો/i, /^મં/i, /^બુ/i, /^ગુ/i, /^શુ/i, /^શ/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|મ\\.?|સ|બ|સાં|રા)/i,\n any: /^(a|p|મ\\.?|સ|બ|સાં|રા)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^મ\\.?/i,\n noon: /^બ/i,\n morning: /સ/i,\n afternoon: /બ/i,\n evening: /સાં/i,\n night: /રા/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d בMMMM y',\n long: 'd בMMMM y',\n medium: 'd בMMM y',\n short: 'd.M.y'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'בשעה' {{time}}\",\n long: \"{{date}} 'בשעה' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'שעבר בשעה' p\",\n yesterday: \"'אתמול בשעה' p\",\n today: \"'היום בשעה' p\",\n tomorrow: \"'מחר בשעה' p\",\n nextWeek: \"eeee 'בשעה' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['לפנה״ס', 'לספירה'],\n abbreviated: ['לפנה״ס', 'לספירה'],\n wide: ['לפני הספירה', 'לספירה']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4']\n};\nvar monthValues = {\n narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n abbreviated: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'],\n wide: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר']\n};\nvar dayValues = {\n narrow: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],\n short: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],\n abbreviated: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],\n wide: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'לפנה״צ',\n pm: 'אחה״צ',\n midnight: 'חצות',\n noon: 'צהריים',\n morning: 'בוקר',\n afternoon: 'אחר הצהריים',\n evening: 'ערב',\n night: 'לילה'\n },\n abbreviated: {\n am: 'לפנה״צ',\n pm: 'אחה״צ',\n midnight: 'חצות',\n noon: 'צהריים',\n morning: 'בוקר',\n afternoon: 'אחר הצהריים',\n evening: 'ערב',\n night: 'לילה'\n },\n wide: {\n am: 'לפנה״צ',\n pm: 'אחה״צ',\n midnight: 'חצות',\n noon: 'צהריים',\n morning: 'בוקר',\n afternoon: 'אחר הצהריים',\n evening: 'ערב',\n night: 'לילה'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'לפנה״צ',\n pm: 'אחה״צ',\n midnight: 'חצות',\n noon: 'צהריים',\n morning: 'בבוקר',\n afternoon: 'בצהריים',\n evening: 'בערב',\n night: 'בלילה'\n },\n abbreviated: {\n am: 'לפנה״צ',\n pm: 'אחה״צ',\n midnight: 'חצות',\n noon: 'צהריים',\n morning: 'בבוקר',\n afternoon: 'אחר הצהריים',\n evening: 'בערב',\n night: 'בלילה'\n },\n wide: {\n am: 'לפנה״צ',\n pm: 'אחה״צ',\n midnight: 'חצות',\n noon: 'צהריים',\n morning: 'בבוקר',\n afternoon: 'אחר הצהריים',\n evening: 'בערב',\n night: 'בלילה'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber); // We only show words till 10\n\n if (number <= 0 || number > 10) return String(number);\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n var isFemale = ['year', 'hour', 'minute', 'second'].indexOf(unit) >= 0;\n var male = ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שביעי', 'שמיני', 'תשיעי', 'עשירי'];\n var female = ['ראשונה', 'שנייה', 'שלישית', 'רביעית', 'חמישית', 'שישית', 'שביעית', 'שמינית', 'תשיעית', 'עשירית'];\n var index = number - 1;\n return isFemale ? female[index] : male[index];\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+|(ראשון|שני|שלישי|רביעי|חמישי|שישי|שביעי|שמיני|תשיעי|עשירי|ראשונה|שנייה|שלישית|רביעית|חמישית|שישית|שביעית|שמינית|תשיעית|עשירית))/i;\nvar parseOrdinalNumberPattern = /^(\\d+|רא|שנ|של|רב|ח|שי|שב|שמ|ת|ע)/i;\nvar matchEraPatterns = {\n narrow: /^ל(ספירה|פנה״ס)/i,\n abbreviated: /^ל(ספירה|פנה״ס)/i,\n wide: /^ל(פני ה)?ספירה/i\n};\nvar parseEraPatterns = {\n any: [/^לפ/i, /^לס/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^רבעון [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^\\d+/i,\n abbreviated: /^(ינו|פבר|מרץ|אפר|מאי|יוני|יולי|אוג|ספט|אוק|נוב|דצמ)׳?/i,\n wide: /^(ינואר|פברואר|מרץ|אפריל|מאי|יוני|יולי|אוגוסט|ספטמבר|אוקטובר|נובמבר|דצמבר)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^1$/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^7/i, /^8/i, /^9/i, /^10/i, /^11/i, /^12/i],\n any: [/^ינ/i, /^פ/i, /^מר/i, /^אפ/i, /^מא/i, /^יונ/i, /^יול/i, /^אוג/i, /^ס/i, /^אוק/i, /^נ/i, /^ד/i]\n};\nvar matchDayPatterns = {\n narrow: /^[אבגדהוש]׳/i,\n short: /^[אבגדהוש]׳/i,\n abbreviated: /^(שבת|יום (א|ב|ג|ד|ה|ו)׳)/i,\n wide: /^יום (ראשון|שני|שלישי|רביעי|חמישי|שישי|שבת)/i\n};\nvar parseDayPatterns = {\n abbreviated: [/א׳$/i, /ב׳$/i, /ג׳$/i, /ד׳$/i, /ה׳$/i, /ו׳$/i, /^ש/i],\n wide: [/ן$/i, /ני$/i, /לישי$/i, /עי$/i, /מישי$/i, /שישי$/i, /ת$/i],\n any: [/^א/i, /^ב/i, /^ג/i, /^ד/i, /^ה/i, /^ו/i, /^ש/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(אחר ה|ב)?(חצות|צהריים|בוקר|ערב|לילה|אחה״צ|לפנה״צ)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^לפ/i,\n pm: /^אחה/i,\n midnight: /^ח/i,\n noon: /^צ/i,\n morning: /בוקר/i,\n afternoon: /בצ|אחר/i,\n evening: /ערב/i,\n night: /לילה/i\n }\n};\nvar ordinalName = ['רא', 'שנ', 'של', 'רב', 'ח', 'שי', 'שב', 'שמ', 'ת', 'ע'];\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n var number = parseInt(value, 10);\n return isNaN(number) ? ordinalName.indexOf(value) + 1 : number;\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar numberValues = {\n locale: {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n number: {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n }\n}; // CLDR #1585 - #1592\n\nvar eraValues = {\n narrow: ['ईसा-पूर्व', 'ईस्वी'],\n abbreviated: ['ईसा-पूर्व', 'ईस्वी'],\n wide: ['ईसा-पूर्व', 'ईसवी सन']\n}; // CLDR #1593 - #1616\n\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ति1', 'ति2', 'ति3', 'ति4'],\n wide: ['पहली तिमाही', 'दूसरी तिमाही', 'तीसरी तिमाही', 'चौथी तिमाही']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n// https://www.unicode.org/cldr/charts/32/summary/hi.html\n// CLDR #1617 - #1688\n\nvar monthValues = {\n narrow: ['ज', 'फ़', 'मा', 'अ', 'मई', 'जू', 'जु', 'अग', 'सि', 'अक्टू', 'न', 'दि'],\n abbreviated: ['जन', 'फ़र', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुल', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'],\n wide: ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर']\n}; // CLDR #1689 - #1744\n\nvar dayValues = {\n narrow: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],\n short: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],\n abbreviated: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],\n wide: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'पूर्वाह्न',\n pm: 'अपराह्न',\n midnight: 'मध्यरात्रि',\n noon: 'दोपहर',\n morning: 'सुबह',\n afternoon: 'दोपहर',\n evening: 'शाम',\n night: 'रात'\n },\n abbreviated: {\n am: 'पूर्वाह्न',\n pm: 'अपराह्न',\n midnight: 'मध्यरात्रि',\n noon: 'दोपहर',\n morning: 'सुबह',\n afternoon: 'दोपहर',\n evening: 'शाम',\n night: 'रात'\n },\n wide: {\n am: 'पूर्वाह्न',\n pm: 'अपराह्न',\n midnight: 'मध्यरात्रि',\n noon: 'दोपहर',\n morning: 'सुबह',\n afternoon: 'दोपहर',\n evening: 'शाम',\n night: 'रात'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'पूर्वाह्न',\n pm: 'अपराह्न',\n midnight: 'मध्यरात्रि',\n noon: 'दोपहर',\n morning: 'सुबह',\n afternoon: 'दोपहर',\n evening: 'शाम',\n night: 'रात'\n },\n abbreviated: {\n am: 'पूर्वाह्न',\n pm: 'अपराह्न',\n midnight: 'मध्यरात्रि',\n noon: 'दोपहर',\n morning: 'सुबह',\n afternoon: 'दोपहर',\n evening: 'शाम',\n night: 'रात'\n },\n wide: {\n am: 'पूर्वाह्न',\n pm: 'अपराह्न',\n midnight: 'मध्यरात्रि',\n noon: 'दोपहर',\n morning: 'सुबह',\n afternoon: 'दोपहर',\n evening: 'शाम',\n night: 'रात'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return numberToLocale(number);\n};\n\nexport function localeToNumber(locale) {\n var enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) {\n return numberValues.number[match];\n });\n return Number(enNumber);\n}\nexport function numberToLocale(enNumber) {\n return enNumber.toString().replace(/\\d/g, function (match) {\n return numberValues.locale[match];\n });\n}\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, do MMMM, y',\n // CLDR #1787\n long: 'do MMMM, y',\n // CLDR #1788\n medium: 'd MMM, y',\n // CLDR #1789\n short: 'dd/MM/yyyy' // CLDR #1790\n\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n // CLDR #1791\n long: 'h:mm:ss a z',\n // CLDR #1792\n medium: 'h:mm:ss a',\n // CLDR #1793\n short: 'h:mm a' // CLDR #1794\n\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'को' {{time}}\",\n // CLDR #1795\n long: \"{{date}} 'को' {{time}}\",\n // CLDR #1796\n medium: '{{date}}, {{time}}',\n // CLDR #1797\n short: '{{date}}, {{time}}' // CLDR #1798\n\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport { localeToNumber } from \"../localize/index.js\";\nvar matchOrdinalNumberPattern = /^[०१२३४५६७८९]+/i;\nvar parseOrdinalNumberPattern = /^[०१२३४५६७८९]+/i;\nvar matchEraPatterns = {\n narrow: /^(ईसा-पूर्व|ईस्वी)/i,\n abbreviated: /^(ईसा\\.?\\s?पूर्व\\.?|ईसा\\.?)/i,\n wide: /^(ईसा-पूर्व|ईसवी पूर्व|ईसवी सन|ईसवी)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ति[1234]/i,\n wide: /^[1234](पहली|दूसरी|तीसरी|चौथी)? तिमाही/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[जफ़माअप्मईजूनजुअगसिअक्तनदि]/i,\n abbreviated: /^(जन|फ़र|मार्च|अप्|मई|जून|जुल|अग|सित|अक्तू|नव|दिस)/i,\n wide: /^(जनवरी|फ़रवरी|मार्च|अप्रैल|मई|जून|जुलाई|अगस्त|सितंबर|अक्तूबर|नवंबर|दिसंबर)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ज/i, /^फ़/i, /^मा/i, /^अप्/i, /^मई/i, /^जू/i, /^जु/i, /^अग/i, /^सि/i, /^अक्तू/i, /^न/i, /^दि/i],\n any: [/^जन/i, /^फ़/i, /^मा/i, /^अप्/i, /^मई/i, /^जू/i, /^जु/i, /^अग/i, /^सि/i, /^अक्तू/i, /^नव/i, /^दिस/i]\n};\nvar matchDayPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[रविसोममंगलबुधगुरुशुक्रशनि]/i,\n short: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,\n abbreviated: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i,\n wide: /^(रविवार|सोमवार|मंगलवार|बुधवार|गुरुवार|शुक्रवार|शनिवार)/i\n};\nvar parseDayPatterns = {\n narrow: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i],\n any: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(पू|अ|म|द.\\?|सु|दो|शा|रा)/i,\n any: /^(पूर्वाह्न|अपराह्न|म|द.\\?|सु|दो|शा|रा)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^पूर्वाह्न/i,\n pm: /^अपराह्न/i,\n midnight: /^मध्य/i,\n noon: /^दो/i,\n morning: /सु/i,\n afternoon: /दो/i,\n evening: /शा/i,\n night: /रा/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: localeToNumber\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: {\n standalone: 'manje od 1 sekunde',\n withPrepositionAgo: 'manje od 1 sekunde',\n withPrepositionIn: 'manje od 1 sekundu'\n },\n dual: 'manje od {{count}} sekunde',\n other: 'manje od {{count}} sekundi'\n },\n xSeconds: {\n one: {\n standalone: '1 sekunda',\n withPrepositionAgo: '1 sekunde',\n withPrepositionIn: '1 sekundu'\n },\n dual: '{{count}} sekunde',\n other: '{{count}} sekundi'\n },\n halfAMinute: 'pola minute',\n lessThanXMinutes: {\n one: {\n standalone: 'manje od 1 minute',\n withPrepositionAgo: 'manje od 1 minute',\n withPrepositionIn: 'manje od 1 minutu'\n },\n dual: 'manje od {{count}} minute',\n other: 'manje od {{count}} minuta'\n },\n xMinutes: {\n one: {\n standalone: '1 minuta',\n withPrepositionAgo: '1 minute',\n withPrepositionIn: '1 minutu'\n },\n dual: '{{count}} minute',\n other: '{{count}} minuta'\n },\n aboutXHours: {\n one: {\n standalone: 'oko 1 sat',\n withPrepositionAgo: 'oko 1 sat',\n withPrepositionIn: 'oko 1 sat'\n },\n dual: 'oko {{count}} sata',\n other: 'oko {{count}} sati'\n },\n xHours: {\n one: {\n standalone: '1 sat',\n withPrepositionAgo: '1 sat',\n withPrepositionIn: '1 sat'\n },\n dual: '{{count}} sata',\n other: '{{count}} sati'\n },\n xDays: {\n one: {\n standalone: '1 dan',\n withPrepositionAgo: '1 dan',\n withPrepositionIn: '1 dan'\n },\n dual: '{{count}} dana',\n other: '{{count}} dana'\n },\n aboutXWeeks: {\n one: {\n standalone: 'oko 1 tjedan',\n withPrepositionAgo: 'oko 1 tjedan',\n withPrepositionIn: 'oko 1 tjedan'\n },\n dual: 'oko {{count}} tjedna',\n other: 'oko {{count}} tjedana'\n },\n xWeeks: {\n one: {\n standalone: '1 tjedan',\n withPrepositionAgo: '1 tjedan',\n withPrepositionIn: '1 tjedan'\n },\n dual: '{{count}} tjedna',\n other: '{{count}} tjedana'\n },\n aboutXMonths: {\n one: {\n standalone: 'oko 1 mjesec',\n withPrepositionAgo: 'oko 1 mjesec',\n withPrepositionIn: 'oko 1 mjesec'\n },\n dual: 'oko {{count}} mjeseca',\n other: 'oko {{count}} mjeseci'\n },\n xMonths: {\n one: {\n standalone: '1 mjesec',\n withPrepositionAgo: '1 mjesec',\n withPrepositionIn: '1 mjesec'\n },\n dual: '{{count}} mjeseca',\n other: '{{count}} mjeseci'\n },\n aboutXYears: {\n one: {\n standalone: 'oko 1 godinu',\n withPrepositionAgo: 'oko 1 godinu',\n withPrepositionIn: 'oko 1 godinu'\n },\n dual: 'oko {{count}} godine',\n other: 'oko {{count}} godina'\n },\n xYears: {\n one: {\n standalone: '1 godina',\n withPrepositionAgo: '1 godine',\n withPrepositionIn: '1 godinu'\n },\n dual: '{{count}} godine',\n other: '{{count}} godina'\n },\n overXYears: {\n one: {\n standalone: 'preko 1 godinu',\n withPrepositionAgo: 'preko 1 godinu',\n withPrepositionIn: 'preko 1 godinu'\n },\n dual: 'preko {{count}} godine',\n other: 'preko {{count}} godina'\n },\n almostXYears: {\n one: {\n standalone: 'gotovo 1 godinu',\n withPrepositionAgo: 'gotovo 1 godinu',\n withPrepositionIn: 'gotovo 1 godinu'\n },\n dual: 'gotovo {{count}} godine',\n other: 'gotovo {{count}} godina'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n result = tokenValue.one.withPrepositionIn;\n } else {\n result = tokenValue.one.withPrepositionAgo;\n }\n } else {\n result = tokenValue.one.standalone;\n }\n } else if (count % 10 > 1 && count % 10 < 5 && // if last digit is between 2 and 4\n String(count).substr(-2, 1) !== '1' // unless the 2nd to last digit is \"1\"\n ) {\n result = tokenValue.dual.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'za ' + result;\n } else {\n return 'prije ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d. MMMM y.',\n long: 'd. MMMM y.',\n medium: 'd. MMM y.',\n short: 'dd. MM. y.'\n};\nvar timeFormats = {\n full: 'HH:mm:ss (zzzz)',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'u' {{time}}\",\n long: \"{{date}} 'u' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n switch (date.getUTCDay()) {\n case 0:\n return \"'prošlu nedjelju u' p\";\n\n case 3:\n return \"'prošlu srijedu u' p\";\n\n case 6:\n return \"'prošlu subotu u' p\";\n\n default:\n return \"'prošli' EEEE 'u' p\";\n }\n },\n yesterday: \"'jučer u' p\",\n today: \"'danas u' p\",\n tomorrow: \"'sutra u' p\",\n nextWeek: function nextWeek(date) {\n switch (date.getUTCDay()) {\n case 0:\n return \"'iduću nedjelju u' p\";\n\n case 3:\n return \"'iduću srijedu u' p\";\n\n case 6:\n return \"'iduću subotu u' p\";\n\n default:\n return \"'prošli' EEEE 'u' p\";\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'mwens pase yon segond',\n other: 'mwens pase {{count}} segond'\n },\n xSeconds: {\n one: '1 segond',\n other: '{{count}} segond'\n },\n halfAMinute: '30 segond',\n lessThanXMinutes: {\n one: 'mwens pase yon minit',\n other: 'mwens pase {{count}} minit'\n },\n xMinutes: {\n one: '1 minit',\n other: '{{count}} minit'\n },\n aboutXHours: {\n one: 'anviwon inè',\n other: 'anviwon {{count}} è'\n },\n xHours: {\n one: '1 lè',\n other: '{{count}} lè'\n },\n xDays: {\n one: '1 jou',\n other: '{{count}} jou'\n },\n aboutXWeeks: {\n one: 'anviwon 1 semèn',\n other: 'anviwon {{count}} semèn'\n },\n xWeeks: {\n one: '1 semèn',\n other: '{{count}} semèn'\n },\n aboutXMonths: {\n one: 'anviwon 1 mwa',\n other: 'anviwon {{count}} mwa'\n },\n xMonths: {\n one: '1 mwa',\n other: '{{count}} mwa'\n },\n aboutXYears: {\n one: 'anviwon 1 an',\n other: 'anviwon {{count}} an'\n },\n xYears: {\n one: '1 an',\n other: '{{count}} an'\n },\n overXYears: {\n one: 'plis pase 1 an',\n other: 'plis pase {{count}} an'\n },\n almostXYears: {\n one: 'prèske 1 an',\n other: 'prèske {{count}} an'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'nan ' + result;\n } else {\n return 'sa fè ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['pr.n.e.', 'AD'],\n abbreviated: ['pr. Kr.', 'po. Kr.'],\n wide: ['Prije Krista', 'Poslije Krista']\n};\nvar quarterValues = {\n narrow: ['1.', '2.', '3.', '4.'],\n abbreviated: ['1. kv.', '2. kv.', '3. kv.', '4. kv.'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'],\n wide: ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac']\n};\nvar formattingMonthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'],\n wide: ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenog', 'prosinca']\n};\nvar dayValues = {\n narrow: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'],\n short: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'],\n abbreviated: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'],\n wide: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota']\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutro',\n afternoon: 'popodne',\n evening: 'navečer',\n night: 'noću'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutro',\n afternoon: 'popodne',\n evening: 'navečer',\n night: 'noću'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutro',\n afternoon: 'poslije podne',\n evening: 'navečer',\n night: 'noću'\n }\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutro',\n afternoon: 'popodne',\n evening: 'navečer',\n night: 'noću'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutro',\n afternoon: 'popodne',\n evening: 'navečer',\n night: 'noću'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutro',\n afternoon: 'poslije podne',\n evening: 'navečer',\n night: 'noću'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(pr\\.n\\.e\\.|AD)/i,\n abbreviated: /^(pr\\.\\s?Kr\\.|po\\.\\s?Kr\\.)/i,\n wide: /^(Prije Krista|prije nove ere|Poslije Krista|nova era)/i\n};\nvar parseEraPatterns = {\n any: [/^pr/i, /^(po|nova)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]\\.\\s?kv\\.?/i,\n wide: /^[1234]\\. kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(10|11|12|[123456789])\\./i,\n abbreviated: /^(sij|velj|(ožu|ozu)|tra|svi|lip|srp|kol|ruj|lis|stu|pro)/i,\n wide: /^((siječanj|siječnja|sijecanj|sijecnja)|(veljača|veljače|veljaca|veljace)|(ožujak|ožujka|ozujak|ozujka)|(travanj|travnja)|(svibanj|svibnja)|(lipanj|lipnja)|(srpanj|srpnja)|(kolovoz|kolovoza)|(rujan|rujna)|(listopad|listopada)|(studeni|studenog)|(prosinac|prosinca))/i\n};\nvar parseMonthPatterns = {\n narrow: [/1/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i, /8/i, /9/i, /10/i, /11/i, /12/i],\n abbreviated: [/^sij/i, /^velj/i, /^(ožu|ozu)/i, /^tra/i, /^svi/i, /^lip/i, /^srp/i, /^kol/i, /^ruj/i, /^lis/i, /^stu/i, /^pro/i],\n wide: [/^sij/i, /^velj/i, /^(ožu|ozu)/i, /^tra/i, /^svi/i, /^lip/i, /^srp/i, /^kol/i, /^ruj/i, /^lis/i, /^stu/i, /^pro/i]\n};\nvar matchDayPatterns = {\n narrow: /^[npusčc]/i,\n short: /^(ned|pon|uto|sri|(čet|cet)|pet|sub)/i,\n abbreviated: /^(ned|pon|uto|sri|(čet|cet)|pet|sub)/i,\n wide: /^(nedjelja|ponedjeljak|utorak|srijeda|(četvrtak|cetvrtak)|petak|subota)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|ponoc|ponoć|(po)?podne|navecer|navečer|noću|poslije podne|ujutro)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^pono/i,\n noon: /^pod/i,\n morning: /jutro/i,\n afternoon: /(poslije\\s|po)+podne/i,\n evening: /(navece|naveče)/i,\n night: /(nocu|noću)/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'wide'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'nan lè' {{time}}\",\n long: \"{{date}} 'nan lè' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'pase nan lè' p\",\n yesterday: \"'yè nan lè' p\",\n today: \"'jodi a' p\",\n tomorrow: \"'demen nan lè' p'\",\n nextWeek: \"eeee 'pwochen nan lè' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var translations = {\n about: 'körülbelül',\n over: 'több mint',\n almost: 'majdnem',\n lessthan: 'kevesebb mint'\n};\nvar withoutSuffixes = {\n xseconds: ' másodperc',\n halfaminute: 'fél perc',\n xminutes: ' perc',\n xhours: ' óra',\n xdays: ' nap',\n xweeks: ' hét',\n xmonths: ' hónap',\n xyears: ' év'\n};\nvar withSuffixes = {\n xseconds: {\n '-1': ' másodperccel ezelőtt',\n '1': ' másodperc múlva',\n '0': ' másodperce'\n },\n halfaminute: {\n '-1': 'fél perccel ezelőtt',\n '1': 'fél perc múlva',\n '0': 'fél perce'\n },\n xminutes: {\n '-1': ' perccel ezelőtt',\n '1': ' perc múlva',\n '0': ' perce'\n },\n xhours: {\n '-1': ' órával ezelőtt',\n '1': ' óra múlva',\n '0': ' órája'\n },\n xdays: {\n '-1': ' nappal ezelőtt',\n '1': ' nap múlva',\n '0': ' napja'\n },\n xweeks: {\n '-1': ' héttel ezelőtt',\n '1': ' hét múlva',\n '0': ' hete'\n },\n xmonths: {\n '-1': ' hónappal ezelőtt',\n '1': ' hónap múlva',\n '0': ' hónapja'\n },\n xyears: {\n '-1': ' évvel ezelőtt',\n '1': ' év múlva',\n '0': ' éve'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var adverb = token.match(/about|over|almost|lessthan/i);\n var unit = adverb ? token.replace(adverb[0], '') : token;\n var addSuffix = (options === null || options === void 0 ? void 0 : options.addSuffix) === true;\n var key = unit.toLowerCase();\n var comparison = (options === null || options === void 0 ? void 0 : options.comparison) || 0;\n var translated = addSuffix ? withSuffixes[key][comparison] : withoutSuffixes[key];\n var result = key === 'halfaminute' ? translated : count + translated;\n\n if (adverb) {\n var adv = adverb[0].toLowerCase();\n result = translations[adv] + ' ' + result;\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['av. J.-K', 'ap. J.-K'],\n abbreviated: ['av. J.-K', 'ap. J.-K'],\n wide: ['anvan Jezi Kris', 'apre Jezi Kris']\n};\nvar quarterValues = {\n narrow: ['T1', 'T2', 'T3', 'T4'],\n abbreviated: ['1ye trim.', '2yèm trim.', '3yèm trim.', '4yèm trim.'],\n wide: ['1ye trimès', '2yèm trimès', '3yèm trimès', '4yèm trimès']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'],\n abbreviated: ['janv.', 'fevr.', 'mas', 'avr.', 'me', 'jen', 'jiyè', 'out', 'sept.', 'okt.', 'nov.', 'des.'],\n wide: ['janvye', 'fevrye', 'mas', 'avril', 'me', 'jen', 'jiyè', 'out', 'septanm', 'oktòb', 'novanm', 'desanm']\n};\nvar dayValues = {\n narrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\n short: ['di', 'le', 'ma', 'mè', 'je', 'va', 'sa'],\n abbreviated: ['dim.', 'len.', 'mad.', 'mèk.', 'jed.', 'van.', 'sam.'],\n wide: ['dimanch', 'lendi', 'madi', 'mèkredi', 'jedi', 'vandredi', 'samdi']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'minwit',\n noon: 'midi',\n morning: 'mat.',\n afternoon: 'ap.m.',\n evening: 'swa',\n night: 'mat.'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'minwit',\n noon: 'midi',\n morning: 'maten',\n afternoon: 'aprèmidi',\n evening: 'swa',\n night: 'maten'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'minwit',\n noon: 'midi',\n morning: 'nan maten',\n afternoon: 'nan aprèmidi',\n evening: 'nan aswè',\n night: 'nan maten'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n if (number === 0) return String(number);\n var suffix = number === 1 ? 'ye' : 'yèm';\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ye|yèm)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(av\\.J\\.K|ap\\.J\\.K|ap\\.J\\.-K)/i,\n abbreviated: /^(av\\.J\\.-K|av\\.J-K|apr\\.J\\.-K|apr\\.J-K|ap\\.J-K)/i,\n wide: /^(avan Jezi Kris|apre Jezi Kris)/i\n};\nvar parseEraPatterns = {\n any: [/^av/i, /^ap/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^t[1234]/i,\n wide: /^[1234](ye|yèm)? trimès/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(janv|fevr|mas|avr|me|jen|jiyè|out|sept|okt|nov|des)\\.?/i,\n wide: /^(janvye|fevrye|mas|avril|me|jen|jiyè|out|septanm|oktòb|novanm|desanm)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^o/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^ma/i, /^av/i, /^me/i, /^je/i, /^ji/i, /^ou/i, /^s/i, /^ok/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[lmjvsd]/i,\n short: /^(di|le|ma|me|je|va|sa)/i,\n abbreviated: /^(dim|len|mad|mèk|jed|van|sam)\\.?/i,\n wide: /^(dimanch|lendi|madi|mèkredi|jedi|vandredi|samdi)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^di/i, /^le/i, /^ma/i, /^mè/i, /^je/i, /^va/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|minwit|midi|mat\\.?|ap\\.?m\\.?|swa)/i,\n any: /^([ap]\\.?\\s?m\\.?|nan maten|nan aprèmidi|nan aswè)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^min/i,\n noon: /^mid/i,\n morning: /mat/i,\n afternoon: /ap/i,\n evening: /sw/i,\n night: /nwit/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'y. MMMM d., EEEE',\n long: 'y. MMMM d.',\n medium: 'y. MMM d.',\n short: 'y. MM. dd.'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var accusativeWeekdays = ['vasárnap', 'hétfőn', 'kedden', 'szerdán', 'csütörtökön', 'pénteken', 'szombaton'];\n\nfunction week(isFuture) {\n return function (date) {\n var weekday = accusativeWeekdays[date.getUTCDay()];\n var prefix = isFuture ? '' : \"'múlt' \";\n return \"\".concat(prefix, \"'\").concat(weekday, \"' p'-kor'\");\n };\n}\n\nvar formatRelativeLocale = {\n lastWeek: week(false),\n yesterday: \"'tegnap' p'-kor'\",\n today: \"'ma' p'-kor'\",\n tomorrow: \"'holnap' p'-kor'\",\n nextWeek: week(true),\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'ավելի քիչ քան 1 վայրկյան',\n other: 'ավելի քիչ քան {{count}} վայրկյան'\n },\n xSeconds: {\n one: '1 վայրկյան',\n other: '{{count}} վայրկյան'\n },\n halfAMinute: 'կես րոպե',\n lessThanXMinutes: {\n one: 'ավելի քիչ քան 1 րոպե',\n other: 'ավելի քիչ քան {{count}} րոպե'\n },\n xMinutes: {\n one: '1 րոպե',\n other: '{{count}} րոպե'\n },\n aboutXHours: {\n one: 'մոտ 1 ժամ',\n other: 'մոտ {{count}} ժամ'\n },\n xHours: {\n one: '1 ժամ',\n other: '{{count}} ժամ'\n },\n xDays: {\n one: '1 օր',\n other: '{{count}} օր'\n },\n aboutXWeeks: {\n one: 'մոտ 1 շաբաթ',\n other: 'մոտ {{count}} շաբաթ'\n },\n xWeeks: {\n one: '1 շաբաթ',\n other: '{{count}} շաբաթ'\n },\n aboutXMonths: {\n one: 'մոտ 1 ամիս',\n other: 'մոտ {{count}} ամիս'\n },\n xMonths: {\n one: '1 ամիս',\n other: '{{count}} ամիս'\n },\n aboutXYears: {\n one: 'մոտ 1 տարի',\n other: 'մոտ {{count}} տարի'\n },\n xYears: {\n one: '1 տարի',\n other: '{{count}} տարի'\n },\n overXYears: {\n one: 'ավելի քան 1 տարի',\n other: 'ավելի քան {{count}} տարի'\n },\n almostXYears: {\n one: 'համարյա 1 տարի',\n other: 'համարյա {{count}} տարի'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' հետո';\n } else {\n return result + ' առաջ';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ie.', 'isz.'],\n abbreviated: ['i. e.', 'i. sz.'],\n wide: ['Krisztus előtt', 'időszámításunk szerint']\n};\nvar quarterValues = {\n narrow: ['1.', '2.', '3.', '4.'],\n abbreviated: ['1. n.év', '2. n.év', '3. n.év', '4. n.év'],\n wide: ['1. negyedév', '2. negyedév', '3. negyedév', '4. negyedév']\n};\nvar formattingQuarterValues = {\n narrow: ['I.', 'II.', 'III.', 'IV.'],\n abbreviated: ['I. n.év', 'II. n.év', 'III. n.év', 'IV. n.év'],\n wide: ['I. negyedév', 'II. negyedév', 'III. negyedév', 'IV. negyedév']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'],\n wide: ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december']\n};\nvar dayValues = {\n narrow: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],\n short: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n abbreviated: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n wide: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'de.',\n pm: 'du.',\n midnight: 'éjfél',\n noon: 'dél',\n morning: 'reggel',\n afternoon: 'du.',\n evening: 'este',\n night: 'éjjel'\n },\n abbreviated: {\n am: 'de.',\n pm: 'du.',\n midnight: 'éjfél',\n noon: 'dél',\n morning: 'reggel',\n afternoon: 'du.',\n evening: 'este',\n night: 'éjjel'\n },\n wide: {\n am: 'de.',\n pm: 'du.',\n midnight: 'éjfél',\n noon: 'dél',\n morning: 'reggel',\n afternoon: 'délután',\n evening: 'este',\n night: 'éjjel'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n },\n formattingValues: formattingQuarterValues,\n defaultFormattingWidth: 'wide'\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ie\\.|isz\\.)/i,\n abbreviated: /^(i\\.\\s?e\\.?|b?\\s?c\\s?e|i\\.\\s?sz\\.?)/i,\n wide: /^(Krisztus előtt|időszámításunk előtt|időszámításunk szerint|i\\. sz\\.)/i\n};\nvar parseEraPatterns = {\n narrow: [/ie/i, /isz/i],\n abbreviated: [/^(i\\.?\\s?e\\.?|b\\s?ce)/i, /^(i\\.?\\s?sz\\.?|c\\s?e)/i],\n any: [/előtt/i, /(szerint|i. sz.)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]\\.?/i,\n abbreviated: /^[1234]?\\.?\\s?n\\.év/i,\n wide: /^([1234]|I|II|III|IV)?\\.?\\s?negyedév/i\n};\nvar parseQuarterPatterns = {\n any: [/1|I$/i, /2|II$/i, /3|III/i, /4|IV/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmaásond]|sz/i,\n abbreviated: /^(jan\\.?|febr\\.?|márc\\.?|ápr\\.?|máj\\.?|jún\\.?|júl\\.?|aug\\.?|szept\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n wide: /^(január|február|március|április|május|június|július|augusztus|szeptember|október|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a|á/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s|sz/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^már/i, /^áp/i, /^máj/i, /^jún/i, /^júl/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^([vhkpc]|sz|cs|sz)/i,\n short: /^([vhkp]|sze|cs|szo)/i,\n abbreviated: /^([vhkp]|sze|cs|szo)/i,\n wide: /^(vasárnap|hétfő|kedd|szerda|csütörtök|péntek|szombat)/i\n};\nvar parseDayPatterns = {\n narrow: [/^v/i, /^h/i, /^k/i, /^sz/i, /^c/i, /^p/i, /^sz/i],\n any: [/^v/i, /^h/i, /^k/i, /^sze/i, /^c/i, /^p/i, /^szo/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^((de|du)\\.?|éjfél|délután|dél|reggel|este|éjjel)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^de\\.?/i,\n pm: /^du\\.?/i,\n midnight: /^éjf/i,\n noon: /^dé/i,\n morning: /reg/i,\n afternoon: /^délu\\.?/i,\n evening: /es/i,\n night: /éjj/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'd MMMM, y, EEEE',\n long: 'd MMMM, y',\n medium: 'd MMM, y',\n short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'ժ․'{{time}}\",\n long: \"{{date}} 'ժ․'{{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'նախորդ' eeee p'֊ին'\",\n yesterday: \"'երեկ' p'֊ին'\",\n today: \"'այսօր' p'֊ին'\",\n tomorrow: \"'վաղը' p'֊ին'\",\n nextWeek: \"'հաջորդ' eeee p'֊ին'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'kurang dari 1 detik',\n other: 'kurang dari {{count}} detik'\n },\n xSeconds: {\n one: '1 detik',\n other: '{{count}} detik'\n },\n halfAMinute: 'setengah menit',\n lessThanXMinutes: {\n one: 'kurang dari 1 menit',\n other: 'kurang dari {{count}} menit'\n },\n xMinutes: {\n one: '1 menit',\n other: '{{count}} menit'\n },\n aboutXHours: {\n one: 'sekitar 1 jam',\n other: 'sekitar {{count}} jam'\n },\n xHours: {\n one: '1 jam',\n other: '{{count}} jam'\n },\n xDays: {\n one: '1 hari',\n other: '{{count}} hari'\n },\n aboutXWeeks: {\n one: 'sekitar 1 minggu',\n other: 'sekitar {{count}} minggu'\n },\n xWeeks: {\n one: '1 minggu',\n other: '{{count}} minggu'\n },\n aboutXMonths: {\n one: 'sekitar 1 bulan',\n other: 'sekitar {{count}} bulan'\n },\n xMonths: {\n one: '1 bulan',\n other: '{{count}} bulan'\n },\n aboutXYears: {\n one: 'sekitar 1 tahun',\n other: 'sekitar {{count}} tahun'\n },\n xYears: {\n one: '1 tahun',\n other: '{{count}} tahun'\n },\n overXYears: {\n one: 'lebih dari 1 tahun',\n other: 'lebih dari {{count}} tahun'\n },\n almostXYears: {\n one: 'hampir 1 tahun',\n other: 'hampir {{count}} tahun'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'dalam waktu ' + result;\n } else {\n return result + ' yang lalu';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['Ք', 'Մ'],\n abbreviated: ['ՔԱ', 'ՄԹ'],\n wide: ['Քրիստոսից առաջ', 'Մեր թվարկության']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Ք1', 'Ք2', 'Ք3', 'Ք4'],\n wide: ['1֊ին քառորդ', '2֊րդ քառորդ', '3֊րդ քառորդ', '4֊րդ քառորդ']\n};\nvar monthValues = {\n narrow: ['Հ', 'Փ', 'Մ', 'Ա', 'Մ', 'Հ', 'Հ', 'Օ', 'Ս', 'Հ', 'Ն', 'Դ'],\n abbreviated: ['հուն', 'փետ', 'մար', 'ապր', 'մայ', 'հուն', 'հուլ', 'օգս', 'սեպ', 'հոկ', 'նոյ', 'դեկ'],\n wide: ['հունվար', 'փետրվար', 'մարտ', 'ապրիլ', 'մայիս', 'հունիս', 'հուլիս', 'օգոստոս', 'սեպտեմբեր', 'հոկտեմբեր', 'նոյեմբեր', 'դեկտեմբեր']\n};\nvar dayValues = {\n narrow: ['Կ', 'Ե', 'Ե', 'Չ', 'Հ', 'Ո', 'Շ'],\n short: ['կր', 'եր', 'եք', 'չք', 'հգ', 'ուր', 'շբ'],\n abbreviated: ['կիր', 'երկ', 'երք', 'չոր', 'հնգ', 'ուրբ', 'շաբ'],\n wide: ['կիրակի', 'երկուշաբթի', 'երեքշաբթի', 'չորեքշաբթի', 'հինգշաբթի', 'ուրբաթ', 'շաբաթ']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'կեսգշ',\n noon: 'կեսօր',\n morning: 'առավոտ',\n afternoon: 'ցերեկ',\n evening: 'երեկո',\n night: 'գիշեր'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'կեսգիշեր',\n noon: 'կեսօր',\n morning: 'առավոտ',\n afternoon: 'ցերեկ',\n evening: 'երեկո',\n night: 'գիշեր'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'կեսգիշեր',\n noon: 'կեսօր',\n morning: 'առավոտ',\n afternoon: 'ցերեկ',\n evening: 'երեկո',\n night: 'գիշեր'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'կեսգշ',\n noon: 'կեսօր',\n morning: 'առավոտը',\n afternoon: 'ցերեկը',\n evening: 'երեկոյան',\n night: 'գիշերը'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'կեսգիշերին',\n noon: 'կեսօրին',\n morning: 'առավոտը',\n afternoon: 'ցերեկը',\n evening: 'երեկոյան',\n night: 'գիշերը'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'կեսգիշերին',\n noon: 'կեսօրին',\n morning: 'առավոտը',\n afternoon: 'ցերեկը',\n evening: 'երեկոյան',\n night: 'գիշերը'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n\n if (rem100 < 10) {\n if (rem100 % 10 === 1) {\n return number + '֊ին';\n }\n }\n\n return number + '֊րդ';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)((-|֊)?(ին|րդ))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(Ք|Մ)/i,\n abbreviated: /^(Ք\\.?\\s?Ա\\.?|Մ\\.?\\s?Թ\\.?\\s?Ա\\.?|Մ\\.?\\s?Թ\\.?|Ք\\.?\\s?Հ\\.?)/i,\n wide: /^(քրիստոսից առաջ|մեր թվարկությունից առաջ|մեր թվարկության|քրիստոսից հետո)/i\n};\nvar parseEraPatterns = {\n any: [/^ք/i, /^մ/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ք[1234]/i,\n wide: /^[1234]((-|֊)?(ին|րդ)) քառորդ/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[հփմաօսնդ]/i,\n abbreviated: /^(հուն|փետ|մար|ապր|մայ|հուն|հուլ|օգս|սեպ|հոկ|նոյ|դեկ)/i,\n wide: /^(հունվար|փետրվար|մարտ|ապրիլ|մայիս|հունիս|հուլիս|օգոստոս|սեպտեմբեր|հոկտեմբեր|նոյեմբեր|դեկտեմբեր)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^հ/i, /^փ/i, /^մ/i, /^ա/i, /^մ/i, /^հ/i, /^հ/i, /^օ/i, /^ս/i, /^հ/i, /^ն/i, /^դ/i],\n any: [/^հու/i, /^փ/i, /^մար/i, /^ա/i, /^մայ/i, /^հուն/i, /^հուլ/i, /^օ/i, /^ս/i, /^հոկ/i, /^ն/i, /^դ/i]\n};\nvar matchDayPatterns = {\n narrow: /^[եչհոշկ]/i,\n short: /^(կր|եր|եք|չք|հգ|ուր|շբ)/i,\n abbreviated: /^(կիր|երկ|երք|չոր|հնգ|ուրբ|շաբ)/i,\n wide: /^(կիրակի|երկուշաբթի|երեքշաբթի|չորեքշաբթի|հինգշաբթի|ուրբաթ|շաբաթ)/i\n};\nvar parseDayPatterns = {\n narrow: [/^կ/i, /^ե/i, /^ե/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],\n short: [/^կ/i, /^եր/i, /^եք/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],\n abbreviated: [/^կ/i, /^երկ/i, /^երք/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],\n wide: [/^կ/i, /^երկ/i, /^երե/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^([ap]|կեսգշ|կեսօր|(առավոտը?|ցերեկը?|երեկո(յան)?|գիշերը?))/i,\n any: /^([ap]\\.?\\s?m\\.?|կեսգիշեր(ին)?|կեսօր(ին)?|(առավոտը?|ցերեկը?|երեկո(յան)?|գիշերը?))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /կեսգիշեր/i,\n noon: /կեսօր/i,\n morning: /առավոտ/i,\n afternoon: /ցերեկ/i,\n evening: /երեկո/i,\n night: /գիշեր/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'wide'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'd/M/yyyy'\n};\nvar timeFormats = {\n full: 'HH.mm.ss',\n long: 'HH.mm.ss',\n medium: 'HH.mm',\n short: 'HH.mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'pukul' {{time}}\",\n long: \"{{date}} 'pukul' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'lalu pukul' p\",\n yesterday: \"'Kemarin pukul' p\",\n today: \"'Hari ini pukul' p\",\n tomorrow: \"'Besok pukul' p\",\n nextWeek: \"eeee 'pukul' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'minna en 1 sekúnda',\n other: 'minna en {{count}} sekúndur'\n },\n xSeconds: {\n one: '1 sekúnda',\n other: '{{count}} sekúndur'\n },\n halfAMinute: 'hálf mínúta',\n lessThanXMinutes: {\n one: 'minna en 1 mínúta',\n other: 'minna en {{count}} mínútur'\n },\n xMinutes: {\n one: '1 mínúta',\n other: '{{count}} mínútur'\n },\n aboutXHours: {\n one: 'u.þ.b. 1 klukkustund',\n other: 'u.þ.b. {{count}} klukkustundir'\n },\n xHours: {\n one: '1 klukkustund',\n other: '{{count}} klukkustundir'\n },\n xDays: {\n one: '1 dagur',\n other: '{{count}} dagar'\n },\n aboutXWeeks: {\n one: 'um viku',\n other: 'um {{count}} vikur'\n },\n xWeeks: {\n one: '1 viku',\n other: '{{count}} vikur'\n },\n aboutXMonths: {\n one: 'u.þ.b. 1 mánuður',\n other: 'u.þ.b. {{count}} mánuðir'\n },\n xMonths: {\n one: '1 mánuður',\n other: '{{count}} mánuðir'\n },\n aboutXYears: {\n one: 'u.þ.b. 1 ár',\n other: 'u.þ.b. {{count}} ár'\n },\n xYears: {\n one: '1 ár',\n other: '{{count}} ár'\n },\n overXYears: {\n one: 'meira en 1 ár',\n other: 'meira en {{count}} ár'\n },\n almostXYears: {\n one: 'næstum 1 ár',\n other: 'næstum {{count}} ár'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'í ' + result;\n } else {\n return result + ' síðan';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // All data for localization are taken from this page\n// https://www.unicode.org/cldr/charts/32/summary/id.html\n\nvar eraValues = {\n narrow: ['SM', 'M'],\n abbreviated: ['SM', 'M'],\n wide: ['Sebelum Masehi', 'Masehi']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['Kuartal ke-1', 'Kuartal ke-2', 'Kuartal ke-3', 'Kuartal ke-4']\n}; // Note: in Indonesian, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'],\n wide: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']\n};\nvar dayValues = {\n narrow: ['M', 'S', 'S', 'R', 'K', 'J', 'S'],\n short: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'],\n abbreviated: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'],\n wide: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'siang',\n evening: 'sore',\n night: 'malam'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'siang',\n evening: 'sore',\n night: 'malam'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'siang',\n evening: 'sore',\n night: 'malam'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'siang',\n evening: 'sore',\n night: 'malam'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'siang',\n evening: 'sore',\n night: 'malam'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'siang',\n evening: 'sore',\n night: 'malam'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber); // Can't use \"pertama\", \"kedua\" because can't be parsed\n\n return 'ke-' + number;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^ke-(\\d+)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(sm|m)/i,\n abbreviated: /^(s\\.?\\s?m\\.?|s\\.?\\s?e\\.?\\s?u\\.?|m\\.?|e\\.?\\s?u\\.?)/i,\n wide: /^(sebelum masehi|sebelum era umum|masehi|era umum)/i\n};\nvar parseEraPatterns = {\n any: [/^s/i, /^(m|e)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^K-?\\s[1234]/i,\n wide: /^Kuartal ke-?\\s?[1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|mei|jun|jul|agt|sep|okt|nov|des)/i,\n wide: /^(januari|februari|maret|april|mei|juni|juli|agustus|september|oktober|november|desember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^ma/i, /^ap/i, /^me/i, /^jun/i, /^jul/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[srkjm]/i,\n short: /^(min|sen|sel|rab|kam|jum|sab)/i,\n abbreviated: /^(min|sen|sel|rab|kam|jum|sab)/i,\n wide: /^(minggu|senin|selasa|rabu|kamis|jumat|sabtu)/i\n};\nvar parseDayPatterns = {\n narrow: [/^m/i, /^s/i, /^s/i, /^r/i, /^k/i, /^j/i, /^s/i],\n any: [/^m/i, /^sen/i, /^sel/i, /^r/i, /^k/i, /^j/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|tengah m|tengah h|(di(\\swaktu)?) (pagi|siang|sore|malam))/i,\n any: /^([ap]\\.?\\s?m\\.?|tengah malam|tengah hari|(di(\\swaktu)?) (pagi|siang|sore|malam))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^pm/i,\n midnight: /^tengah m/i,\n noon: /^tengah h/i,\n morning: /pagi/i,\n afternoon: /siang/i,\n evening: /sore/i,\n night: /malam/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, do MMMM y',\n long: 'do MMMM y',\n medium: 'do MMM y',\n short: 'd.MM.y'\n};\nvar timeFormats = {\n full: \"'kl'. HH:mm:ss zzzz\",\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'kl.' {{time}}\",\n long: \"{{date}} 'kl.' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'síðasta' dddd 'kl.' p\",\n yesterday: \"'í gær kl.' p\",\n today: \"'í dag kl.' p\",\n tomorrow: \"'á morgun kl.' p\",\n nextWeek: \"dddd 'kl.' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'meno di un secondo',\n other: 'meno di {{count}} secondi'\n },\n xSeconds: {\n one: 'un secondo',\n other: '{{count}} secondi'\n },\n halfAMinute: 'alcuni secondi',\n lessThanXMinutes: {\n one: 'meno di un minuto',\n other: 'meno di {{count}} minuti'\n },\n xMinutes: {\n one: 'un minuto',\n other: '{{count}} minuti'\n },\n aboutXHours: {\n one: \"circa un'ora\",\n other: 'circa {{count}} ore'\n },\n xHours: {\n one: \"un'ora\",\n other: '{{count}} ore'\n },\n xDays: {\n one: 'un giorno',\n other: '{{count}} giorni'\n },\n aboutXWeeks: {\n one: 'circa una settimana',\n other: 'circa {{count}} settimane'\n },\n xWeeks: {\n one: 'una settimana',\n other: '{{count}} settimane'\n },\n aboutXMonths: {\n one: 'circa un mese',\n other: 'circa {{count}} mesi'\n },\n xMonths: {\n one: 'un mese',\n other: '{{count}} mesi'\n },\n aboutXYears: {\n one: 'circa un anno',\n other: 'circa {{count}} anni'\n },\n xYears: {\n one: 'un anno',\n other: '{{count}} anni'\n },\n overXYears: {\n one: 'più di un anno',\n other: 'più di {{count}} anni'\n },\n almostXYears: {\n one: 'quasi un anno',\n other: 'quasi {{count}} anni'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'tra ' + result;\n } else {\n return result + ' fa';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['f.Kr.', 'e.Kr.'],\n abbreviated: ['f.Kr.', 'e.Kr.'],\n wide: ['fyrir Krist', 'eftir Krist']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1F', '2F', '3F', '4F'],\n wide: ['1. fjórðungur', '2. fjórðungur', '3. fjórðungur', '4. fjórðungur']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á', 'S', 'Ó', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'sept.', 'okt.', 'nóv.', 'des.'],\n wide: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'],\n short: ['Su', 'Má', 'Þr', 'Mi', 'Fi', 'Fö', 'La'],\n abbreviated: ['sun.', 'mán.', 'þri.', 'mið.', 'fim.', 'fös.', 'lau.'],\n wide: ['sunnudagur', 'mánudagur', 'þriðjudagur', 'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'f',\n pm: 'e',\n midnight: 'miðnætti',\n noon: 'hádegi',\n morning: 'morgunn',\n afternoon: 'síðdegi',\n evening: 'kvöld',\n night: 'nótt'\n },\n abbreviated: {\n am: 'f.h.',\n pm: 'e.h.',\n midnight: 'miðnætti',\n noon: 'hádegi',\n morning: 'morgunn',\n afternoon: 'síðdegi',\n evening: 'kvöld',\n night: 'nótt'\n },\n wide: {\n am: 'fyrir hádegi',\n pm: 'eftir hádegi',\n midnight: 'miðnætti',\n noon: 'hádegi',\n morning: 'morgunn',\n afternoon: 'síðdegi',\n evening: 'kvöld',\n night: 'nótt'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'f',\n pm: 'e',\n midnight: 'á miðnætti',\n noon: 'á hádegi',\n morning: 'að morgni',\n afternoon: 'síðdegis',\n evening: 'um kvöld',\n night: 'um nótt'\n },\n abbreviated: {\n am: 'f.h.',\n pm: 'e.h.',\n midnight: 'á miðnætti',\n noon: 'á hádegi',\n morning: 'að morgni',\n afternoon: 'síðdegis',\n evening: 'um kvöld',\n night: 'um nótt'\n },\n wide: {\n am: 'fyrir hádegi',\n pm: 'eftir hádegi',\n midnight: 'á miðnætti',\n noon: 'á hádegi',\n morning: 'að morgni',\n afternoon: 'síðdegis',\n evening: 'um kvöld',\n night: 'um nótt'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+(\\.)?/i;\nvar matchEraPatterns = {\n narrow: /^(f\\.Kr\\.|e\\.Kr\\.)/i,\n abbreviated: /^(f\\.Kr\\.|e\\.Kr\\.)/i,\n wide: /^(fyrir Krist|eftir Krist)/i\n};\nvar parseEraPatterns = {\n any: [/^(f\\.Kr\\.)/i, /^(e\\.Kr\\.)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]\\.?/i,\n abbreviated: /^q[1234]\\.?/i,\n wide: /^[1234]\\.? fjórðungur/i\n};\nvar parseQuarterPatterns = {\n any: [/1\\.?/i, /2\\.?/i, /3\\.?/i, /4\\.?/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmásónd]/i,\n abbreviated: /^(jan\\.|feb\\.|mars\\.|apríl\\.|maí|júní|júlí|águst|sep\\.|oct\\.|nov\\.|dec\\.)/i,\n wide: /^(januar|febrúar|mars|apríl|maí|júní|júlí|águst|september|október|nóvember|desember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^á/i, /^s/i, /^ó/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maí/i, /^jún/i, /^júl/i, /^áu/i, /^s/i, /^ó/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|má|þr|mi|fi|fö|la)/i,\n abbreviated: /^(sun|mán|þri|mið|fim|fös|lau)\\.?/i,\n wide: /^(sunnudagur|mánudagur|þriðjudagur|miðvikudagur|fimmtudagur|föstudagur|laugardagur)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^þ/i, /^m/i, /^f/i, /^f/i, /^l/i],\n any: [/^su/i, /^má/i, /^þr/i, /^mi/i, /^fi/i, /^fö/i, /^la/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(f|e|síðdegis|(á|að|um) (morgni|kvöld|nótt|miðnætti))/i,\n any: /^(fyrir hádegi|eftir hádegi|[ef]\\.?h\\.?|síðdegis|morgunn|(á|að|um) (morgni|kvöld|nótt|miðnætti))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^f/i,\n pm: /^e/i,\n midnight: /^mi/i,\n noon: /^há/i,\n morning: /morgunn/i,\n afternoon: /síðdegi/i,\n evening: /kvöld/i,\n night: /nótt/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar weekdays = ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'];\n\nfunction _lastWeek(day) {\n switch (day) {\n case 0:\n return \"'domenica scorsa alle' p\";\n\n default:\n return \"'\" + weekdays[day] + \" scorso alle' p\";\n }\n}\n\nfunction thisWeek(day) {\n return \"'\" + weekdays[day] + \" alle' p\";\n}\n\nfunction _nextWeek(day) {\n switch (day) {\n case 0:\n return \"'domenica prossima alle' p\";\n\n default:\n return \"'\" + weekdays[day] + \" prossimo alle' p\";\n }\n}\n\nvar formatRelativeLocale = {\n lastWeek: function lastWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _lastWeek(day);\n }\n },\n yesterday: \"'ieri alle' p\",\n today: \"'oggi alle' p\",\n tomorrow: \"'domani alle' p\",\n nextWeek: function nextWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _nextWeek(day);\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['aC', 'dC'],\n abbreviated: ['a.C.', 'd.C.'],\n wide: ['avanti Cristo', 'dopo Cristo']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n narrow: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n wide: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre']\n};\nvar dayValues = {\n narrow: ['D', 'L', 'M', 'M', 'G', 'V', 'S'],\n short: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n abbreviated: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n wide: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'm.',\n pm: 'p.',\n midnight: 'mezzanotte',\n noon: 'mezzogiorno',\n morning: 'mattina',\n afternoon: 'pomeriggio',\n evening: 'sera',\n night: 'notte'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'mezzanotte',\n noon: 'mezzogiorno',\n morning: 'mattina',\n afternoon: 'pomeriggio',\n evening: 'sera',\n night: 'notte'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'mezzanotte',\n noon: 'mezzogiorno',\n morning: 'mattina',\n afternoon: 'pomeriggio',\n evening: 'sera',\n night: 'notte'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'm.',\n pm: 'p.',\n midnight: 'mezzanotte',\n noon: 'mezzogiorno',\n morning: 'di mattina',\n afternoon: 'del pomeriggio',\n evening: 'di sera',\n night: 'di notte'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'mezzanotte',\n noon: 'mezzogiorno',\n morning: 'di mattina',\n afternoon: 'del pomeriggio',\n evening: 'di sera',\n night: 'di notte'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'mezzanotte',\n noon: 'mezzogiorno',\n morning: 'di mattina',\n afternoon: 'del pomeriggio',\n evening: 'di sera',\n night: 'di notte'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return String(number);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(aC|dC)/i,\n abbreviated: /^(a\\.?\\s?C\\.?|a\\.?\\s?e\\.?\\s?v\\.?|d\\.?\\s?C\\.?|e\\.?\\s?v\\.?)/i,\n wide: /^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i\n};\nvar parseEraPatterns = {\n any: [/^a/i, /^(d|e)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^t[1234]/i,\n wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[gfmalsond]/i,\n abbreviated: /^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,\n wide: /^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^g/i, /^f/i, /^m/i, /^a/i, /^m/i, /^g/i, /^l/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ge/i, /^f/i, /^mar/i, /^ap/i, /^mag/i, /^gi/i, /^l/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmgvs]/i,\n short: /^(do|lu|ma|me|gi|ve|sa)/i,\n abbreviated: /^(dom|lun|mar|mer|gio|ven|sab)/i,\n wide: /^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^g/i, /^v/i, /^s/i],\n any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^g/i, /^v/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|m\\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,\n any: /^([ap]\\.?\\s?m\\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mezza/i,\n noon: /^mezzo/i,\n morning: /mattina/i,\n afternoon: /pomeriggio/i,\n evening: /sera/i,\n night: /notte/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '1秒未満',\n other: '{{count}}秒未満',\n oneWithSuffix: '約1秒',\n otherWithSuffix: '約{{count}}秒'\n },\n xSeconds: {\n one: '1秒',\n other: '{{count}}秒'\n },\n halfAMinute: '30秒',\n lessThanXMinutes: {\n one: '1分未満',\n other: '{{count}}分未満',\n oneWithSuffix: '約1分',\n otherWithSuffix: '約{{count}}分'\n },\n xMinutes: {\n one: '1分',\n other: '{{count}}分'\n },\n aboutXHours: {\n one: '約1時間',\n other: '約{{count}}時間'\n },\n xHours: {\n one: '1時間',\n other: '{{count}}時間'\n },\n xDays: {\n one: '1日',\n other: '{{count}}日'\n },\n aboutXWeeks: {\n one: '約1週間',\n other: '約{{count}}週間'\n },\n xWeeks: {\n one: '1週間',\n other: '{{count}}週間'\n },\n aboutXMonths: {\n one: '約1か月',\n other: '約{{count}}か月'\n },\n xMonths: {\n one: '1か月',\n other: '{{count}}か月'\n },\n aboutXYears: {\n one: '約1年',\n other: '約{{count}}年'\n },\n xYears: {\n one: '1年',\n other: '{{count}}年'\n },\n overXYears: {\n one: '1年以上',\n other: '{{count}}年以上'\n },\n almostXYears: {\n one: '1年近く',\n other: '{{count}}年近く'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n if (options.addSuffix && tokenValue.oneWithSuffix) {\n result = tokenValue.oneWithSuffix;\n } else {\n result = tokenValue.one;\n }\n } else {\n if (options.addSuffix && tokenValue.otherWithSuffix) {\n result = tokenValue.otherWithSuffix.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n }\n\n if (options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + '後';\n } else {\n return result + '前';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'y年M月d日EEEE',\n long: 'y年M月d日',\n medium: 'y/MM/dd',\n short: 'y/MM/dd'\n};\nvar timeFormats = {\n full: 'H時mm分ss秒 zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: '先週のeeeeのp',\n yesterday: '昨日のp',\n today: '今日のp',\n tomorrow: '明日のp',\n nextWeek: '翌週のeeeeのp',\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '1びょうみまん',\n other: '{{count}}びょうみまん',\n oneWithSuffix: 'やく1びょう',\n otherWithSuffix: 'やく{{count}}びょう'\n },\n xSeconds: {\n one: '1びょう',\n other: '{{count}}びょう'\n },\n halfAMinute: '30びょう',\n lessThanXMinutes: {\n one: '1ぷんみまん',\n other: '{{count}}ふんみまん',\n oneWithSuffix: 'やく1ぷん',\n otherWithSuffix: 'やく{{count}}ふん'\n },\n xMinutes: {\n one: '1ぷん',\n other: '{{count}}ふん'\n },\n aboutXHours: {\n one: 'やく1じかん',\n other: 'やく{{count}}じかん'\n },\n xHours: {\n one: '1じかん',\n other: '{{count}}じかん'\n },\n xDays: {\n one: '1にち',\n other: '{{count}}にち'\n },\n aboutXWeeks: {\n one: 'やく1しゅうかん',\n other: 'やく{{count}}しゅうかん'\n },\n xWeeks: {\n one: '1しゅうかん',\n other: '{{count}}しゅうかん'\n },\n aboutXMonths: {\n one: 'やく1かげつ',\n other: 'やく{{count}}かげつ'\n },\n xMonths: {\n one: '1かげつ',\n other: '{{count}}かげつ'\n },\n aboutXYears: {\n one: 'やく1ねん',\n other: 'やく{{count}}ねん'\n },\n xYears: {\n one: '1ねん',\n other: '{{count}}ねん'\n },\n overXYears: {\n one: '1ねんいじょう',\n other: '{{count}}ねんいじょう'\n },\n almostXYears: {\n one: '1ねんちかく',\n other: '{{count}}ねんちかく'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n if (options.addSuffix && tokenValue.oneWithSuffix) {\n result = tokenValue.oneWithSuffix;\n } else {\n result = tokenValue.one;\n }\n } else {\n if (options.addSuffix && tokenValue.otherWithSuffix) {\n result = tokenValue.otherWithSuffix.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n }\n\n if (options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + 'あと';\n } else {\n return result + 'まえ';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['BC', 'AC'],\n abbreviated: ['紀元前', '西暦'],\n wide: ['紀元前', '西暦']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['第1四半期', '第2四半期', '第3四半期', '第4四半期']\n};\nvar monthValues = {\n narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n wide: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']\n};\nvar dayValues = {\n narrow: ['日', '月', '火', '水', '木', '金', '土'],\n short: ['日', '月', '火', '水', '木', '金', '土'],\n abbreviated: ['日', '月', '火', '水', '木', '金', '土'],\n wide: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日']\n};\nvar dayPeriodValues = {\n narrow: {\n am: '午前',\n pm: '午後',\n midnight: '深夜',\n noon: '正午',\n morning: '朝',\n afternoon: '午後',\n evening: '夜',\n night: '深夜'\n },\n abbreviated: {\n am: '午前',\n pm: '午後',\n midnight: '深夜',\n noon: '正午',\n morning: '朝',\n afternoon: '午後',\n evening: '夜',\n night: '深夜'\n },\n wide: {\n am: '午前',\n pm: '午後',\n midnight: '深夜',\n noon: '正午',\n morning: '朝',\n afternoon: '午後',\n evening: '夜',\n night: '深夜'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: '午前',\n pm: '午後',\n midnight: '深夜',\n noon: '正午',\n morning: '朝',\n afternoon: '午後',\n evening: '夜',\n night: '深夜'\n },\n abbreviated: {\n am: '午前',\n pm: '午後',\n midnight: '深夜',\n noon: '正午',\n morning: '朝',\n afternoon: '午後',\n evening: '夜',\n night: '深夜'\n },\n wide: {\n am: '午前',\n pm: '午後',\n midnight: '深夜',\n noon: '正午',\n morning: '朝',\n afternoon: '午後',\n evening: '夜',\n night: '深夜'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n\n switch (unit) {\n case 'year':\n return \"\".concat(number, \"\\u5E74\");\n\n case 'quarter':\n return \"\\u7B2C\".concat(number, \"\\u56DB\\u534A\\u671F\");\n\n case 'month':\n return \"\".concat(number, \"\\u6708\");\n\n case 'week':\n return \"\\u7B2C\".concat(number, \"\\u9031\");\n\n case 'date':\n return \"\".concat(number, \"\\u65E5\");\n\n case 'hour':\n return \"\".concat(number, \"\\u6642\");\n\n case 'minute':\n return \"\".concat(number, \"\\u5206\");\n\n case 'second':\n return \"\".concat(number, \"\\u79D2\");\n\n default:\n return \"\".concat(number);\n }\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^第?\\d+(年|四半期|月|週|日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(B\\.?C\\.?|A\\.?D\\.?)/i,\n abbreviated: /^(紀元[前後]|西暦)/i,\n wide: /^(紀元[前後]|西暦)/i\n};\nvar parseEraPatterns = {\n narrow: [/^B/i, /^A/i],\n any: [/^(紀元前)/i, /^(西暦|紀元後)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^Q[1234]/i,\n wide: /^第[1234一二三四1234]四半期/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^([123456789]|1[012])/,\n abbreviated: /^([123456789]|1[012])月/i,\n wide: /^([123456789]|1[012])月/i\n};\nvar parseMonthPatterns = {\n any: [/^1\\D/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n narrow: /^[日月火水木金土]/,\n short: /^[日月火水木金土]/,\n abbreviated: /^[日月火水木金土]/,\n wide: /^[日月火水木金土]曜日/\n};\nvar parseDayPatterns = {\n any: [/^日/, /^月/, /^火/, /^水/, /^木/, /^金/, /^土/]\n};\nvar matchDayPeriodPatterns = {\n any: /^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^(A|午前)/i,\n pm: /^(P|午後)/i,\n midnight: /^深夜|真夜中/i,\n noon: /^正午/i,\n morning: /^朝/i,\n afternoon: /^午後/i,\n evening: /^夜/i,\n night: /^深夜/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'yねんMがつdにちEEEE',\n long: 'yねんMがつdにち',\n medium: 'y/MM/dd',\n short: 'y/MM/dd'\n};\nvar timeFormats = {\n full: 'Hじmmふんssびょう zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: 'せんしゅうのeeeeのp',\n yesterday: 'きのうのp',\n today: 'きょうのp',\n tomorrow: 'あしたのp',\n nextWeek: 'よくしゅうのeeeeのp',\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n past: '{{count}} წამზე ნაკლები ხნის წინ',\n present: '{{count}} წამზე ნაკლები',\n future: '{{count}} წამზე ნაკლებში'\n },\n xSeconds: {\n past: '{{count}} წამის წინ',\n present: '{{count}} წამი',\n future: '{{count}} წამში'\n },\n halfAMinute: {\n past: 'ნახევარი წუთის წინ',\n present: 'ნახევარი წუთი',\n future: 'ნახევარი წუთში'\n },\n lessThanXMinutes: {\n past: '{{count}} წუთზე ნაკლები ხნის წინ',\n present: '{{count}} წუთზე ნაკლები',\n future: '{{count}} წუთზე ნაკლებში'\n },\n xMinutes: {\n past: '{{count}} წუთის წინ',\n present: '{{count}} წუთი',\n future: '{{count}} წუთში'\n },\n aboutXHours: {\n past: 'დაახლოებით {{count}} საათის წინ',\n present: 'დაახლოებით {{count}} საათი',\n future: 'დაახლოებით {{count}} საათში'\n },\n xHours: {\n past: '{{count}} საათის წინ',\n present: '{{count}} საათი',\n future: '{{count}} საათში'\n },\n xDays: {\n past: '{{count}} დღის წინ',\n present: '{{count}} დღე',\n future: '{{count}} დღეში'\n },\n aboutXWeeks: {\n past: 'დაახლოებით {{count}} კვირას წინ',\n present: 'დაახლოებით {{count}} კვირა',\n future: 'დაახლოებით {{count}} კვირაში'\n },\n xWeeks: {\n past: '{{count}} კვირას კვირა',\n present: '{{count}} კვირა',\n future: '{{count}} კვირაში'\n },\n aboutXMonths: {\n past: 'დაახლოებით {{count}} თვის წინ',\n present: 'დაახლოებით {{count}} თვე',\n future: 'დაახლოებით {{count}} თვეში'\n },\n xMonths: {\n past: '{{count}} თვის წინ',\n present: '{{count}} თვე',\n future: '{{count}} თვეში'\n },\n aboutXYears: {\n past: 'დაახლოებით {{count}} წლის წინ',\n present: 'დაახლოებით {{count}} წელი',\n future: 'დაახლოებით {{count}} წელში'\n },\n xYears: {\n past: '{{count}} წლის წინ',\n present: '{{count}} წელი',\n future: '{{count}} წელში'\n },\n overXYears: {\n past: '{{count}} წელზე მეტი ხნის წინ',\n present: '{{count}} წელზე მეტი',\n future: '{{count}} წელზე მეტი ხნის შემდეგ'\n },\n almostXYears: {\n past: 'თითქმის {{count}} წლის წინ',\n present: 'თითქმის {{count}} წელი',\n future: 'თითქმის {{count}} წელში'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (options !== null && options !== void 0 && options.addSuffix && options.comparison && options.comparison > 0) {\n result = tokenValue.future.replace('{{count}}', String(count));\n } else if (options !== null && options !== void 0 && options.addSuffix) {\n result = tokenValue.past.replace('{{count}}', String(count));\n } else {\n result = tokenValue.present.replace('{{count}}', String(count));\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['BC', 'AC'],\n abbreviated: ['きげんぜん', 'せいれき'],\n wide: ['きげんぜん', 'せいれき']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['だい1しはんき', 'だい2しはんき', 'だい3しはんき', 'だい4しはんき']\n};\nvar monthValues = {\n narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n abbreviated: ['1がつ', '2がつ', '3がつ', '4がつ', '5がつ', '6がつ', '7がつ', '8がつ', '9がつ', '10がつ', '11がつ', '12がつ'],\n wide: ['1がつ', '2がつ', '3がつ', '4がつ', '5がつ', '6がつ', '7がつ', '8がつ', '9がつ', '10がつ', '11がつ', '12がつ']\n};\nvar dayValues = {\n narrow: ['にち', 'げつ', 'か', 'すい', 'もく', 'きん', 'ど'],\n short: ['にち', 'げつ', 'か', 'すい', 'もく', 'きん', 'ど'],\n abbreviated: ['にち', 'げつ', 'か', 'すい', 'もく', 'きん', 'ど'],\n wide: ['にちようび', 'げつようび', 'かようび', 'すいようび', 'もくようび', 'きんようび', 'どようび']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ごぜん',\n pm: 'ごご',\n midnight: 'しんや',\n noon: 'しょうご',\n morning: 'あさ',\n afternoon: 'ごご',\n evening: 'よる',\n night: 'しんや'\n },\n abbreviated: {\n am: 'ごぜん',\n pm: 'ごご',\n midnight: 'しんや',\n noon: 'しょうご',\n morning: 'あさ',\n afternoon: 'ごご',\n evening: 'よる',\n night: 'しんや'\n },\n wide: {\n am: 'ごぜん',\n pm: 'ごご',\n midnight: 'しんや',\n noon: 'しょうご',\n morning: 'あさ',\n afternoon: 'ごご',\n evening: 'よる',\n night: 'しんや'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ごぜん',\n pm: 'ごご',\n midnight: 'しんや',\n noon: 'しょうご',\n morning: 'あさ',\n afternoon: 'ごご',\n evening: 'よる',\n night: 'しんや'\n },\n abbreviated: {\n am: 'ごぜん',\n pm: 'ごご',\n midnight: 'しんや',\n noon: 'しょうご',\n morning: 'あさ',\n afternoon: 'ごご',\n evening: 'よる',\n night: 'しんや'\n },\n wide: {\n am: 'ごぜん',\n pm: 'ごご',\n midnight: 'しんや',\n noon: 'しょうご',\n morning: 'あさ',\n afternoon: 'ごご',\n evening: 'よる',\n night: 'しんや'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n\n switch (unit) {\n case 'year':\n return \"\".concat(number, \"\\u306D\\u3093\");\n\n case 'quarter':\n return \"\\u3060\\u3044\".concat(number, \"\\u3057\\u306F\\u3093\\u304D\");\n\n case 'month':\n return \"\".concat(number, \"\\u304C\\u3064\");\n\n case 'week':\n return \"\\u3060\\u3044\".concat(number, \"\\u3057\\u3085\\u3046\");\n\n case 'date':\n return \"\".concat(number, \"\\u306B\\u3061\");\n\n case 'hour':\n return \"\".concat(number, \"\\u3058\");\n\n case 'minute':\n return \"\".concat(number, \"\\u3075\\u3093\");\n\n case 'second':\n return \"\".concat(number, \"\\u3073\\u3087\\u3046\");\n\n default:\n return \"\".concat(number);\n }\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^だ?い?\\d+(ねん|しはんき|がつ|しゅう|にち|じ|ふん|びょう)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(B\\.?C\\.?|A\\.?D\\.?)/i,\n abbreviated: /^(きげん[前後]|せいれき)/i,\n wide: /^(きげん[前後]|せいれき)/i\n};\nvar parseEraPatterns = {\n narrow: [/^B/i, /^A/i],\n any: [/^(きげんぜん)/i, /^(せいれき|きげんご)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^Q[1234]/i,\n wide: /^だい[1234一二三四1234]しはんき/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^([123456789]|1[012])/,\n abbreviated: /^([123456789]|1[012])がつ/i,\n wide: /^([123456789]|1[012])がつ/i\n};\nvar parseMonthPatterns = {\n any: [/^1\\D/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n narrow: /^(にち|げつ|か|すい|もく|きん|ど)/,\n short: /^(にち|げつ|か|すい|もく|きん|ど)/,\n abbreviated: /^(にち|げつ|か|すい|もく|きん|ど)/,\n wide: /^(にち|げつ|か|すい|もく|きん|ど)ようび/\n};\nvar parseDayPatterns = {\n any: [/^にち/, /^げつ/, /^か/, /^すい/, /^もく/, /^きん/, /^ど/]\n};\nvar matchDayPeriodPatterns = {\n any: /^(AM|PM|ごぜん|ごご|しょうご|しんや|まよなか|よる|あさ)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^(A|ごぜん)/i,\n pm: /^(P|ごご)/i,\n midnight: /^しんや|まよなか/i,\n noon: /^しょうご/i,\n morning: /^あさ/i,\n afternoon: /^ごご/i,\n evening: /^よる/i,\n night: /^しんや/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, do MMMM, y',\n long: 'do, MMMM, y',\n medium: 'd, MMM, y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} {{time}}'-ზე'\",\n long: \"{{date}} {{time}}'-ზე'\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'წინა' eeee p'-ზე'\",\n yesterday: \"'გუშინ' p'-ზე'\",\n today: \"'დღეს' p'-ზე'\",\n tomorrow: \"'ხვალ' p'-ზე'\",\n nextWeek: \"'შემდეგი' eeee p'-ზე'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n regular: {\n one: '1 секундтан аз',\n singularNominative: '{{count}} секундтан аз',\n singularGenitive: '{{count}} секундтан аз',\n pluralGenitive: '{{count}} секундтан аз'\n },\n future: {\n one: 'бір секундтан кейін',\n singularNominative: '{{count}} секундтан кейін',\n singularGenitive: '{{count}} секундтан кейін',\n pluralGenitive: '{{count}} секундтан кейін'\n }\n },\n xSeconds: {\n regular: {\n singularNominative: '{{count}} секунд',\n singularGenitive: '{{count}} секунд',\n pluralGenitive: '{{count}} секунд'\n },\n past: {\n singularNominative: '{{count}} секунд бұрын',\n singularGenitive: '{{count}} секунд бұрын',\n pluralGenitive: '{{count}} секунд бұрын'\n },\n future: {\n singularNominative: '{{count}} секундтан кейін',\n singularGenitive: '{{count}} секундтан кейін',\n pluralGenitive: '{{count}} секундтан кейін'\n }\n },\n halfAMinute: function halfAMinute(options) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'жарты минут ішінде';\n } else {\n return 'жарты минут бұрын';\n }\n }\n\n return 'жарты минут';\n },\n lessThanXMinutes: {\n regular: {\n one: '1 минуттан аз',\n singularNominative: '{{count}} минуттан аз',\n singularGenitive: '{{count}} минуттан аз',\n pluralGenitive: '{{count}} минуттан аз'\n },\n future: {\n one: 'минуттан кем ',\n singularNominative: '{{count}} минуттан кем',\n singularGenitive: '{{count}} минуттан кем',\n pluralGenitive: '{{count}} минуттан кем'\n }\n },\n xMinutes: {\n regular: {\n singularNominative: '{{count}} минут',\n singularGenitive: '{{count}} минут',\n pluralGenitive: '{{count}} минут'\n },\n past: {\n singularNominative: '{{count}} минут бұрын',\n singularGenitive: '{{count}} минут бұрын',\n pluralGenitive: '{{count}} минут бұрын'\n },\n future: {\n singularNominative: '{{count}} минуттан кейін',\n singularGenitive: '{{count}} минуттан кейін',\n pluralGenitive: '{{count}} минуттан кейін'\n }\n },\n aboutXHours: {\n regular: {\n singularNominative: 'шамамен {{count}} сағат',\n singularGenitive: 'шамамен {{count}} сағат',\n pluralGenitive: 'шамамен {{count}} сағат'\n },\n future: {\n singularNominative: 'шамамен {{count}} сағаттан кейін',\n singularGenitive: 'шамамен {{count}} сағаттан кейін',\n pluralGenitive: 'шамамен {{count}} сағаттан кейін'\n }\n },\n xHours: {\n regular: {\n singularNominative: '{{count}} сағат',\n singularGenitive: '{{count}} сағат',\n pluralGenitive: '{{count}} сағат'\n }\n },\n xDays: {\n regular: {\n singularNominative: '{{count}} күн',\n singularGenitive: '{{count}} күн',\n pluralGenitive: '{{count}} күн'\n },\n future: {\n singularNominative: '{{count}} күннен кейін',\n singularGenitive: '{{count}} күннен кейін',\n pluralGenitive: '{{count}} күннен кейін'\n }\n },\n aboutXWeeks: {\n type: 'weeks',\n one: 'шамамен 1 апта',\n other: 'шамамен {{count}} апта'\n },\n xWeeks: {\n type: 'weeks',\n one: '1 апта',\n other: '{{count}} апта'\n },\n aboutXMonths: {\n regular: {\n singularNominative: 'шамамен {{count}} ай',\n singularGenitive: 'шамамен {{count}} ай',\n pluralGenitive: 'шамамен {{count}} ай'\n },\n future: {\n singularNominative: 'шамамен {{count}} айдан кейін',\n singularGenitive: 'шамамен {{count}} айдан кейін',\n pluralGenitive: 'шамамен {{count}} айдан кейін'\n }\n },\n xMonths: {\n regular: {\n singularNominative: '{{count}} ай',\n singularGenitive: '{{count}} ай',\n pluralGenitive: '{{count}} ай'\n }\n },\n aboutXYears: {\n regular: {\n singularNominative: 'шамамен {{count}} жыл',\n singularGenitive: 'шамамен {{count}} жыл',\n pluralGenitive: 'шамамен {{count}} жыл'\n },\n future: {\n singularNominative: 'шамамен {{count}} жылдан кейін',\n singularGenitive: 'шамамен {{count}} жылдан кейін',\n pluralGenitive: 'шамамен {{count}} жылдан кейін'\n }\n },\n xYears: {\n regular: {\n singularNominative: '{{count}} жыл',\n singularGenitive: '{{count}} жыл',\n pluralGenitive: '{{count}} жыл'\n },\n future: {\n singularNominative: '{{count}} жылдан кейін',\n singularGenitive: '{{count}} жылдан кейін',\n pluralGenitive: '{{count}} жылдан кейін'\n }\n },\n overXYears: {\n regular: {\n singularNominative: '{{count}} жылдан астам',\n singularGenitive: '{{count}} жылдан астам',\n pluralGenitive: '{{count}} жылдан астам'\n },\n future: {\n singularNominative: '{{count}} жылдан астам',\n singularGenitive: '{{count}} жылдан астам',\n pluralGenitive: '{{count}} жылдан астам'\n }\n },\n almostXYears: {\n regular: {\n singularNominative: '{{count}} жылға жақын',\n singularGenitive: '{{count}} жылға жақын',\n pluralGenitive: '{{count}} жылға жақын'\n },\n future: {\n singularNominative: '{{count}} жылдан кейін',\n singularGenitive: '{{count}} жылдан кейін',\n pluralGenitive: '{{count}} жылдан кейін'\n }\n }\n};\n\nfunction declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one && count === 1) return scheme.one;\n var rem10 = count % 10;\n var rem100 = count % 100; // 1, 21, 31, ...\n\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace('{{count}}', String(count)); // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace('{{count}}', String(count)); // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace('{{count}}', String(count));\n }\n}\n\nvar formatDistance = function formatDistance(token, count, options) {\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'function') return tokenValue(options);\n\n if (tokenValue.type === 'weeks') {\n return count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (tokenValue.future) {\n return declension(tokenValue.future, count);\n } else {\n return declension(tokenValue.regular, count) + ' кейін';\n }\n } else {\n if (tokenValue.past) {\n return declension(tokenValue.past, count);\n } else {\n return declension(tokenValue.regular, count) + ' бұрын';\n }\n }\n } else {\n return declension(tokenValue.regular, count);\n }\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ჩ.წ-მდე', 'ჩ.წ'],\n abbreviated: ['ჩვ.წ-მდე', 'ჩვ.წ'],\n wide: ['ჩვენს წელთაღრიცხვამდე', 'ჩვენი წელთაღრიცხვით']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-ლი კვ', '2-ე კვ', '3-ე კვ', '4-ე კვ'],\n wide: ['1-ლი კვარტალი', '2-ე კვარტალი', '3-ე კვარტალი', '4-ე კვარტალი']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['ია', 'თე', 'მა', 'აპ', 'მს', 'ვნ', 'ვლ', 'აგ', 'სე', 'ოქ', 'ნო', 'დე'],\n abbreviated: ['იან', 'თებ', 'მარ', 'აპრ', 'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექ', 'ოქტ', 'ნოე', 'დეკ'],\n wide: ['იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი']\n};\nvar dayValues = {\n narrow: ['კვ', 'ორ', 'სა', 'ოთ', 'ხუ', 'პა', 'შა'],\n short: ['კვი', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'],\n abbreviated: ['კვი', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'],\n wide: ['კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', 'ხუთშაბათი', 'პარასკევი', 'შაბათი']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'შუაღამე',\n noon: 'შუადღე',\n morning: 'დილა',\n afternoon: 'საღამო',\n evening: 'საღამო',\n night: 'ღამე'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'შუაღამე',\n noon: 'შუადღე',\n morning: 'დილა',\n afternoon: 'საღამო',\n evening: 'საღამო',\n night: 'ღამე'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'შუაღამე',\n noon: 'შუადღე',\n morning: 'დილა',\n afternoon: 'საღამო',\n evening: 'საღამო',\n night: 'ღამე'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'შუაღამით',\n noon: 'შუადღისას',\n morning: 'დილით',\n afternoon: 'ნაშუადღევს',\n evening: 'საღამოს',\n night: 'ღამით'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'შუაღამით',\n noon: 'შუადღისას',\n morning: 'დილით',\n afternoon: 'ნაშუადღევს',\n evening: 'საღამოს',\n night: 'ღამით'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'შუაღამით',\n noon: 'შუადღისას',\n morning: 'დილით',\n afternoon: 'ნაშუადღევს',\n evening: 'საღამოს',\n night: 'ღამით'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n var number = Number(dirtyNumber);\n\n if (number === 1) {\n return number + '-ლი';\n }\n\n return number + '-ე';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-ლი|-ე)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ჩვ?\\.წ)/i,\n abbreviated: /^(ჩვ?\\.წ)/i,\n wide: /^(ჩვენს წელთაღრიცხვამდე|ქრისტეშობამდე|ჩვენი წელთაღრიცხვით|ქრისტეშობიდან)/i\n};\nvar parseEraPatterns = {\n any: [/^(ჩვენს წელთაღრიცხვამდე|ქრისტეშობამდე)/i, /^(ჩვენი წელთაღრიცხვით|ქრისტეშობიდან)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]-(ლი|ე)? კვ/i,\n wide: /^[1234]-(ლი|ე)? კვარტალი/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n any: /^(ია|თე|მა|აპ|მს|ვნ|ვლ|აგ|სე|ოქ|ნო|დე)/i\n};\nvar parseMonthPatterns = {\n any: [/^ია/i, /^თ/i, /^მარ/i, /^აპ/i, /^მაი/i, /^ი?ვნ/i, /^ი?ვლ/i, /^აგ/i, /^ს/i, /^ო/i, /^ნ/i, /^დ/i]\n};\nvar matchDayPatterns = {\n narrow: /^(კვ|ორ|სა|ოთ|ხუ|პა|შა)/i,\n short: /^(კვი|ორშ|სამ|ოთხ|ხუთ|პარ|შაბ)/i,\n wide: /^(კვირა|ორშაბათი|სამშაბათი|ოთხშაბათი|ხუთშაბათი|პარასკევი|შაბათი)/i\n};\nvar parseDayPatterns = {\n any: [/^კვ/i, /^ორ/i, /^სა/i, /^ოთ/i, /^ხუ/i, /^პა/i, /^შა/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^([ap]\\.?\\s?m\\.?|შუაღ|დილ)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^შუაღ/i,\n noon: /^შუადღ/i,\n morning: /^დილ/i,\n afternoon: /ნაშუადღევს/i,\n evening: /საღამო/i,\n night: /ღამ/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, do MMMM y 'ж.'\",\n long: \"do MMMM y 'ж.'\",\n medium: \"d MMM y 'ж.'\",\n short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['жексенбіде', 'дүйсенбіде', 'сейсенбіде', 'сәрсенбіде', 'бейсенбіде', 'жұмада', 'сенбіде'];\n\nfunction _lastWeek(day) {\n var weekday = accusativeWeekdays[day];\n return \"'өткен \" + weekday + \" сағат' p'-де'\";\n}\n\nfunction thisWeek(day) {\n var weekday = accusativeWeekdays[day];\n return \"'\" + weekday + \" сағат' p'-де'\";\n}\n\nfunction _nextWeek(day) {\n var weekday = accusativeWeekdays[day];\n return \"'келесі \" + weekday + \" сағат' p'-де'\";\n}\n\nvar formatRelativeLocale = {\n lastWeek: function lastWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _lastWeek(day);\n }\n },\n yesterday: \"'кеше сағат' p'-де'\",\n today: \"'бүгін сағат' p'-де'\",\n tomorrow: \"'ертең сағат' p'-де'\",\n nextWeek: function nextWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _nextWeek(day);\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['б.з.д.', 'б.з.'],\n abbreviated: ['б.з.д.', 'б.з.'],\n wide: ['біздің заманымызға дейін', 'біздің заманымыз']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-ші тоқ.', '2-ші тоқ.', '3-ші тоқ.', '4-ші тоқ.'],\n wide: ['1-ші тоқсан', '2-ші тоқсан', '3-ші тоқсан', '4-ші тоқсан']\n};\nvar monthValues = {\n narrow: ['Қ', 'А', 'Н', 'С', 'М', 'М', 'Ш', 'Т', 'Қ', 'Қ', 'Қ', 'Ж'],\n abbreviated: ['қаң', 'ақп', 'нау', 'сәу', 'мам', 'мау', 'шіл', 'там', 'қыр', 'қаз', 'қар', 'жел'],\n wide: ['қаңтар', 'ақпан', 'наурыз', 'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқсан']\n};\nvar formattingMonthValues = {\n narrow: ['Қ', 'А', 'Н', 'С', 'М', 'М', 'Ш', 'Т', 'Қ', 'Қ', 'Қ', 'Ж'],\n abbreviated: ['қаң', 'ақп', 'нау', 'сәу', 'мам', 'мау', 'шіл', 'там', 'қыр', 'қаз', 'қар', 'жел'],\n wide: ['қаңтар', 'ақпан', 'наурыз', 'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқсан']\n};\nvar dayValues = {\n narrow: ['Ж', 'Д', 'С', 'С', 'Б', 'Ж', 'С'],\n short: ['жс', 'дс', 'сс', 'ср', 'бс', 'жм', 'сб'],\n abbreviated: ['жс', 'дс', 'сс', 'ср', 'бс', 'жм', 'сб'],\n wide: ['жексенбі', 'дүйсенбі', 'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма', 'сенбі']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ТД',\n pm: 'ТК',\n midnight: 'түн ортасы',\n noon: 'түс',\n morning: 'таң',\n afternoon: 'күндіз',\n evening: 'кеш',\n night: 'түн'\n },\n wide: {\n am: 'ТД',\n pm: 'ТК',\n midnight: 'түн ортасы',\n noon: 'түс',\n morning: 'таң',\n afternoon: 'күндіз',\n evening: 'кеш',\n night: 'түн'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ТД',\n pm: 'ТК',\n midnight: 'түн ортасында',\n noon: 'түс',\n morning: 'таң',\n afternoon: 'күн',\n evening: 'кеш',\n night: 'түн'\n },\n wide: {\n am: 'ТД',\n pm: 'ТК',\n midnight: 'түн ортасында',\n noon: 'түсте',\n morning: 'таңертең',\n afternoon: 'күндіз',\n evening: 'кеште',\n night: 'түнде'\n }\n};\nvar suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n var mod10 = number % 10;\n var b = number >= 100 ? 100 : null;\n var suffix = suffixes[number] || suffixes[mod10] || b && suffixes[b] || '';\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'any',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","var formatDistanceLocale = {\n lessThanXSeconds: 'តិចជាង {{count}} វិនាទី',\n xSeconds: '{{count}} វិនាទី',\n halfAMinute: 'កន្លះនាទី',\n lessThanXMinutes: 'តិចជាង {{count}} នាទី',\n xMinutes: '{{count}} នាទី',\n aboutXHours: 'ប្រហែល {{count}} ម៉ោង',\n xHours: '{{count}} ម៉ោង',\n xDays: '{{count}} ថ្ងៃ',\n aboutXWeeks: 'ប្រហែល {{count}} សប្តាហ៍',\n xWeeks: '{{count}} សប្តាហ៍',\n aboutXMonths: 'ប្រហែល {{count}} ខែ',\n xMonths: '{{count}} ខែ',\n aboutXYears: 'ប្រហែល {{count}} ឆ្នាំ',\n xYears: '{{count}} ឆ្នាំ',\n overXYears: 'ជាង {{count}} ឆ្នាំ',\n almostXYears: 'ជិត {{count}} ឆ្នាំ'\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var tokenValue = formatDistanceLocale[token];\n var result = tokenValue;\n\n if (typeof count === 'number') {\n result = result.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'ក្នុងរយៈពេល ' + result;\n } else {\n return result + 'មុន';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(ші|шы))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((б )?з\\.?\\s?д\\.?)/i,\n abbreviated: /^((б )?з\\.?\\s?д\\.?)/i,\n wide: /^(біздің заманымызға дейін|біздің заманымыз|біздің заманымыздан)/i\n};\nvar parseEraPatterns = {\n any: [/^б/i, /^з/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?ші)? тоқ.?/i,\n wide: /^[1234](-?ші)? тоқсан/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(қ|а|н|с|м|мау|ш|т|қыр|қаз|қар|ж)/i,\n abbreviated: /^(қаң|ақп|нау|сәу|мам|мау|шіл|там|қыр|қаз|қар|жел)/i,\n wide: /^(қаңтар|ақпан|наурыз|сәуір|мамыр|маусым|шілде|тамыз|қыркүйек|қазан|қараша|желтоқсан)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^қ/i, /^а/i, /^н/i, /^с/i, /^м/i, /^м/i, /^ш/i, /^т/i, /^қ/i, /^қ/i, /^қ/i, /^ж/i],\n abbreviated: [/^қаң/i, /^ақп/i, /^нау/i, /^сәу/i, /^мам/i, /^мау/i, /^шіл/i, /^там/i, /^қыр/i, /^қаз/i, /^қар/i, /^жел/i],\n any: [/^қ/i, /^а/i, /^н/i, /^с/i, /^м/i, /^м/i, /^ш/i, /^т/i, /^қ/i, /^қ/i, /^қ/i, /^ж/i]\n};\nvar matchDayPatterns = {\n narrow: /^(ж|д|с|с|б|ж|с)/i,\n short: /^(жс|дс|сс|ср|бс|жм|сб)/i,\n wide: /^(жексенбі|дүйсенбі|сейсенбі|сәрсенбі|бейсенбі|жұма|сенбі)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ж/i, /^д/i, /^с/i, /^с/i, /^б/i, /^ж/i, /^с/i],\n short: [/^жс/i, /^дс/i, /^сс/i, /^ср/i, /^бс/i, /^жм/i, /^сб/i],\n any: [/^ж[ек]/i, /^д[үй]/i, /^сe[й]/i, /^сә[р]/i, /^б[ей]/i, /^ж[ұм]/i, /^се[н]/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^Т\\.?\\s?[ДК]\\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\\.?)/i,\n wide: /^Т\\.?\\s?[ДК]\\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\\.?)/i,\n any: /^Т\\.?\\s?[ДК]\\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\\.?)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ТД/i,\n pm: /^ТК/i,\n midnight: /^түн орта/i,\n noon: /^күндіз/i,\n morning: /таң/i,\n afternoon: /түс/i,\n evening: /кеш/i,\n night: /түн/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE do MMMM y',\n long: 'do MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a',\n long: 'h:mm:ss a',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'ម៉ោង' {{time}}\",\n long: \"{{date}} 'ម៉ោង' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'ថ្ងៃ'eeee'ស​ប្តា​ហ៍​មុនម៉ោង' p\",\n yesterday: \"'ម្សិលមិញនៅម៉ោង' p\",\n today: \"'ថ្ងៃនេះម៉ោង' p\",\n tomorrow: \"'ថ្ងៃស្អែកម៉ោង' p\",\n nextWeek: \"'ថ្ងៃ'eeee'ស​ប្តា​ហ៍​ក្រោយម៉ោង' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","// note: no implementation for weeks\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: {\n default: '1 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ',\n future: '1 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ',\n past: '1 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ'\n },\n other: {\n default: '{{count}} ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ',\n future: '{{count}} ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ',\n past: '{{count}} ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ'\n }\n },\n xSeconds: {\n one: {\n default: '1 ಸೆಕೆಂಡ್',\n future: '1 ಸೆಕೆಂಡ್‌ನಲ್ಲಿ',\n past: '1 ಸೆಕೆಂಡ್ ಹಿಂದೆ'\n },\n other: {\n default: '{{count}} ಸೆಕೆಂಡುಗಳು',\n future: '{{count}} ಸೆಕೆಂಡ್‌ಗಳಲ್ಲಿ',\n past: '{{count}} ಸೆಕೆಂಡ್ ಹಿಂದೆ'\n }\n },\n halfAMinute: {\n other: {\n default: 'ಅರ್ಧ ನಿಮಿಷ',\n future: 'ಅರ್ಧ ನಿಮಿಷದಲ್ಲಿ',\n past: 'ಅರ್ಧ ನಿಮಿಷದ ಹಿಂದೆ'\n }\n },\n lessThanXMinutes: {\n one: {\n default: '1 ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ',\n future: '1 ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ',\n past: '1 ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ'\n },\n other: {\n default: '{{count}} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ',\n future: '{{count}} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ',\n past: '{{count}} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ'\n }\n },\n xMinutes: {\n one: {\n default: '1 ನಿಮಿಷ',\n future: '1 ನಿಮಿಷದಲ್ಲಿ',\n past: '1 ನಿಮಿಷದ ಹಿಂದೆ'\n },\n other: {\n default: '{{count}} ನಿಮಿಷಗಳು',\n future: '{{count}} ನಿಮಿಷಗಳಲ್ಲಿ',\n past: '{{count}} ನಿಮಿಷಗಳ ಹಿಂದೆ'\n }\n },\n aboutXHours: {\n one: {\n default: 'ಸುಮಾರು 1 ಗಂಟೆ',\n future: 'ಸುಮಾರು 1 ಗಂಟೆಯಲ್ಲಿ',\n past: 'ಸುಮಾರು 1 ಗಂಟೆ ಹಿಂದೆ'\n },\n other: {\n default: 'ಸುಮಾರು {{count}} ಗಂಟೆಗಳು',\n future: 'ಸುಮಾರು {{count}} ಗಂಟೆಗಳಲ್ಲಿ',\n past: 'ಸುಮಾರು {{count}} ಗಂಟೆಗಳ ಹಿಂದೆ'\n }\n },\n xHours: {\n one: {\n default: '1 ಗಂಟೆ',\n future: '1 ಗಂಟೆಯಲ್ಲಿ',\n past: '1 ಗಂಟೆ ಹಿಂದೆ'\n },\n other: {\n default: '{{count}} ಗಂಟೆಗಳು',\n future: '{{count}} ಗಂಟೆಗಳಲ್ಲಿ',\n past: '{{count}} ಗಂಟೆಗಳ ಹಿಂದೆ'\n }\n },\n xDays: {\n one: {\n default: '1 ದಿನ',\n future: '1 ದಿನದಲ್ಲಿ',\n past: '1 ದಿನದ ಹಿಂದೆ'\n },\n other: {\n default: '{{count}} ದಿನಗಳು',\n future: '{{count}} ದಿನಗಳಲ್ಲಿ',\n past: '{{count}} ದಿನಗಳ ಹಿಂದೆ'\n }\n },\n // TODO\n // aboutXWeeks: {},\n // TODO\n // xWeeks: {},\n aboutXMonths: {\n one: {\n default: 'ಸುಮಾರು 1 ತಿಂಗಳು',\n future: 'ಸುಮಾರು 1 ತಿಂಗಳಲ್ಲಿ',\n past: 'ಸುಮಾರು 1 ತಿಂಗಳ ಹಿಂದೆ'\n },\n other: {\n default: 'ಸುಮಾರು {{count}} ತಿಂಗಳು',\n future: 'ಸುಮಾರು {{count}} ತಿಂಗಳುಗಳಲ್ಲಿ',\n past: 'ಸುಮಾರು {{count}} ತಿಂಗಳುಗಳ ಹಿಂದೆ'\n }\n },\n xMonths: {\n one: {\n default: '1 ತಿಂಗಳು',\n future: '1 ತಿಂಗಳಲ್ಲಿ',\n past: '1 ತಿಂಗಳ ಹಿಂದೆ'\n },\n other: {\n default: '{{count}} ತಿಂಗಳು',\n future: '{{count}} ತಿಂಗಳುಗಳಲ್ಲಿ',\n past: '{{count}} ತಿಂಗಳುಗಳ ಹಿಂದೆ'\n }\n },\n aboutXYears: {\n one: {\n default: 'ಸುಮಾರು 1 ವರ್ಷ',\n future: 'ಸುಮಾರು 1 ವರ್ಷದಲ್ಲಿ',\n past: 'ಸುಮಾರು 1 ವರ್ಷದ ಹಿಂದೆ'\n },\n other: {\n default: 'ಸುಮಾರು {{count}} ವರ್ಷಗಳು',\n future: 'ಸುಮಾರು {{count}} ವರ್ಷಗಳಲ್ಲಿ',\n past: 'ಸುಮಾರು {{count}} ವರ್ಷಗಳ ಹಿಂದೆ'\n }\n },\n xYears: {\n one: {\n default: '1 ವರ್ಷ',\n future: '1 ವರ್ಷದಲ್ಲಿ',\n past: '1 ವರ್ಷದ ಹಿಂದೆ'\n },\n other: {\n default: '{{count}} ವರ್ಷಗಳು',\n future: '{{count}} ವರ್ಷಗಳಲ್ಲಿ',\n past: '{{count}} ವರ್ಷಗಳ ಹಿಂದೆ'\n }\n },\n overXYears: {\n one: {\n default: '1 ವರ್ಷದ ಮೇಲೆ',\n future: '1 ವರ್ಷದ ಮೇಲೆ',\n past: '1 ವರ್ಷದ ಮೇಲೆ'\n },\n other: {\n default: '{{count}} ವರ್ಷಗಳ ಮೇಲೆ',\n future: '{{count}} ವರ್ಷಗಳ ಮೇಲೆ',\n past: '{{count}} ವರ್ಷಗಳ ಮೇಲೆ'\n }\n },\n almostXYears: {\n one: {\n default: 'ಬಹುತೇಕ 1 ವರ್ಷದಲ್ಲಿ',\n future: 'ಬಹುತೇಕ 1 ವರ್ಷದಲ್ಲಿ',\n past: 'ಬಹುತೇಕ 1 ವರ್ಷದಲ್ಲಿ'\n },\n other: {\n default: 'ಬಹುತೇಕ {{count}} ವರ್ಷಗಳಲ್ಲಿ',\n future: 'ಬಹುತೇಕ {{count}} ವರ್ಷಗಳಲ್ಲಿ',\n past: 'ಬಹುತೇಕ {{count}} ವರ್ಷಗಳಲ್ಲಿ'\n }\n }\n};\n\nfunction getResultByTense(parentToken, options) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return parentToken.future;\n } else {\n return parentToken.past;\n }\n }\n\n return parentToken.default;\n}\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (tokenValue.one && count === 1) {\n result = getResultByTense(tokenValue.one, options);\n } else {\n result = getResultByTense(tokenValue.other, options);\n }\n\n return result.replace('{{count}}', String(count));\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ម.គស', 'គស'],\n abbreviated: ['មុនគ.ស', 'គ.ស'],\n wide: ['មុនគ្រិស្តសករាជ', 'នៃគ្រិស្តសករាជ']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['ត្រីមាសទី 1', 'ត្រីមាសទី 2', 'ត្រីមាសទី 3', 'ត្រីមាសទី 4']\n};\nvar monthValues = {\n narrow: ['ម.ក', 'ក.ម', 'មិ', 'ម.ស', 'ឧ.ស', 'ម.ថ', 'ក.ដ', 'សី', 'កញ', 'តុ', 'វិ', 'ធ'],\n abbreviated: ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'],\n wide: ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ']\n};\nvar dayValues = {\n narrow: ['អា', 'ច', 'អ', 'ព', 'ព្រ', 'សុ', 'ស'],\n short: ['អា', 'ច', 'អ', 'ព', 'ព្រ', 'សុ', 'ស'],\n abbreviated: ['អា', 'ច', 'អ', 'ព', 'ព្រ', 'សុ', 'ស'],\n wide: ['អាទិត្យ', 'ចន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ព្រឹក',\n pm: 'ល្ងាច',\n midnight: '​ពេលកណ្ដាលអធ្រាត្រ',\n noon: 'ពេលថ្ងៃត្រង់',\n morning: 'ពេលព្រឹក',\n afternoon: 'ពេលរសៀល',\n evening: 'ពេលល្ងាច',\n night: 'ពេលយប់'\n },\n abbreviated: {\n am: 'ព្រឹក',\n pm: 'ល្ងាច',\n midnight: '​ពេលកណ្ដាលអធ្រាត្រ',\n noon: 'ពេលថ្ងៃត្រង់',\n morning: 'ពេលព្រឹក',\n afternoon: 'ពេលរសៀល',\n evening: 'ពេលល្ងាច',\n night: 'ពេលយប់'\n },\n wide: {\n am: 'ព្រឹក',\n pm: 'ល្ងាច',\n midnight: '​ពេលកណ្ដាលអធ្រាត្រ',\n noon: 'ពេលថ្ងៃត្រង់',\n morning: 'ពេលព្រឹក',\n afternoon: 'ពេលរសៀល',\n evening: 'ពេលល្ងាច',\n night: 'ពេលយប់'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ព្រឹក',\n pm: 'ល្ងាច',\n midnight: '​ពេលកណ្ដាលអធ្រាត្រ',\n noon: 'ពេលថ្ងៃត្រង់',\n morning: 'ពេលព្រឹក',\n afternoon: 'ពេលរសៀល',\n evening: 'ពេលល្ងាច',\n night: 'ពេលយប់'\n },\n abbreviated: {\n am: 'ព្រឹក',\n pm: 'ល្ងាច',\n midnight: '​ពេលកណ្ដាលអធ្រាត្រ',\n noon: 'ពេលថ្ងៃត្រង់',\n morning: 'ពេលព្រឹក',\n afternoon: 'ពេលរសៀល',\n evening: 'ពេលល្ងាច',\n night: 'ពេលយប់'\n },\n wide: {\n am: 'ព្រឹក',\n pm: 'ល្ងាច',\n midnight: '​ពេលកណ្ដាលអធ្រាត្រ',\n noon: 'ពេលថ្ងៃត្រង់',\n morning: 'ពេលព្រឹក',\n afternoon: 'ពេលរសៀល',\n evening: 'ពេលល្ងាច',\n night: 'ពេលយប់'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _) {\n var number = Number(dirtyNumber);\n return number.toString();\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ម\\.)?គស/i,\n abbreviated: /^(មុន)?គ\\.ស/i,\n wide: /^(មុន|នៃ)គ្រិស្តសករាជ/i\n};\nvar parseEraPatterns = {\n any: [/^(ម|មុន)គ\\.?ស/i, /^(នៃ)?គ\\.?ស/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^(ត្រីមាស)(ទី)?\\s?[1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(ម\\.ក|ក\\.ម|មិ|ម\\.ស|ឧ\\.ស|ម\\.ថ|ក\\.ដ|សី|កញ|តុ|វិ|ធ)/i,\n abbreviated: /^(មករា|កុម្ភៈ|មីនា|មេសា|ឧសភា|មិថុនា|កក្កដា|សីហា|កញ្ញា|តុលា|វិច្ឆិកា|ធ្នូ)/i,\n wide: /^(មករា|កុម្ភៈ|មីនា|មេសា|ឧសភា|មិថុនា|កក្កដា|សីហា|កញ្ញា|តុលា|វិច្ឆិកា|ធ្នូ)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ម\\.ក/i, /^ក\\.ម/i, /^មិ/i, /^ម\\.ស/i, /^ឧ\\.ស/i, /^ម\\.ថ/i, /^ក\\.ដ/i, /^សី/i, /^កញ/i, /^តុ/i, /^វិ/i, /^ធ/i],\n any: [/^មក/i, /^កុ/i, /^មីន/i, /^មេ/i, /^ឧស/i, /^មិថ/i, /^កក/i, /^សី/i, /^កញ/i, /^តុ/i, /^វិច/i, /^ធ/i]\n};\nvar matchDayPatterns = {\n narrow: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i,\n short: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i,\n abbreviated: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i,\n wide: /^(អាទិត្យ|ចន្ទ|អង្គារ|ពុធ|ព្រហស្បតិ៍|សុក្រ|សៅរ៍)/i\n};\nvar parseDayPatterns = {\n narrow: [/^អា/i, /^ច/i, /^អ/i, /^ព/i, /^ព្រ/i, /^សុ/i, /^ស/i],\n any: [/^អា/i, /^ច/i, /^អ/i, /^ព/i, /^ព្រ/i, /^សុ/i, /^សៅ/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ព្រឹក|ល្ងាច|ពេលព្រឹក|ពេលថ្ងៃត្រង់|ពេលល្ងាច|ពេលរសៀល|ពេលយប់|ពេលកណ្ដាលអធ្រាត្រ)/i,\n any: /^(ព្រឹក|ល្ងាច|ពេលព្រឹក|ពេលថ្ងៃត្រង់|ពេលល្ងាច|ពេលរសៀល|ពេលយប់|ពេលកណ្ដាលអធ្រាត្រ)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ព្រឹក/i,\n pm: /^ល្ងាច/i,\n midnight: /^ពេលកណ្ដាលអធ្រាត្រ/i,\n noon: /^ពេលថ្ងៃត្រង់/i,\n morning: /ពេលព្រឹក/i,\n afternoon: /ពេលរសៀល/i,\n evening: /ពេលល្ងាច/i,\n night: /ពេលយប់/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\"; // Reference: https://www.unicode.org/cldr/charts/32/summary/kn.html\n\nvar dateFormats = {\n full: 'EEEE, MMMM d, y',\n // CLDR 1816\n long: 'MMMM d, y',\n // CLDR 1817\n medium: 'MMM d, y',\n // CLDR 1818\n short: 'd/M/yy' // CLDR 1819\n\n};\nvar timeFormats = {\n full: 'hh:mm:ss a zzzz',\n // CLDR 1820\n long: 'hh:mm:ss a z',\n // CLDR 1821\n medium: 'hh:mm:ss a',\n // CLDR 1822\n short: 'hh:mm a' // CLDR 1823\n\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n // CLDR 1824\n long: '{{date}} {{time}}',\n // CLDR 1825\n medium: '{{date}} {{time}}',\n // CLDR 1826\n short: '{{date}} {{time}}' // CLDR 1827\n\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'ಕಳೆದ' eeee p 'ಕ್ಕೆ'\",\n yesterday: \"'ನಿನ್ನೆ' p 'ಕ್ಕೆ'\",\n today: \"'ಇಂದು' p 'ಕ್ಕೆ'\",\n tomorrow: \"'ನಾಳೆ' p 'ಕ್ಕೆ'\",\n nextWeek: \"eeee p 'ಕ್ಕೆ'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '1초 미만',\n other: '{{count}}초 미만'\n },\n xSeconds: {\n one: '1초',\n other: '{{count}}초'\n },\n halfAMinute: '30초',\n lessThanXMinutes: {\n one: '1분 미만',\n other: '{{count}}분 미만'\n },\n xMinutes: {\n one: '1분',\n other: '{{count}}분'\n },\n aboutXHours: {\n one: '약 1시간',\n other: '약 {{count}}시간'\n },\n xHours: {\n one: '1시간',\n other: '{{count}}시간'\n },\n xDays: {\n one: '1일',\n other: '{{count}}일'\n },\n aboutXWeeks: {\n one: '약 1주',\n other: '약 {{count}}주'\n },\n xWeeks: {\n one: '1주',\n other: '{{count}}주'\n },\n aboutXMonths: {\n one: '약 1개월',\n other: '약 {{count}}개월'\n },\n xMonths: {\n one: '1개월',\n other: '{{count}}개월'\n },\n aboutXYears: {\n one: '약 1년',\n other: '약 {{count}}년'\n },\n xYears: {\n one: '1년',\n other: '{{count}}년'\n },\n overXYears: {\n one: '1년 이상',\n other: '{{count}}년 이상'\n },\n almostXYears: {\n one: '거의 1년',\n other: '거의 {{count}}년'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' 후';\n } else {\n return result + ' 전';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // Reference: https://www.unicode.org/cldr/charts/32/summary/kn.html\n\nvar eraValues = {\n narrow: ['ಕ್ರಿ.ಪೂ', 'ಕ್ರಿ.ಶ'],\n abbreviated: ['ಕ್ರಿ.ಪೂ', 'ಕ್ರಿ.ಶ'],\n // CLDR #1618, #1620\n wide: ['ಕ್ರಿಸ್ತ ಪೂರ್ವ', 'ಕ್ರಿಸ್ತ ಶಕ'] // CLDR #1614, #1616\n\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['ತ್ರೈ 1', 'ತ್ರೈ 2', 'ತ್ರೈ 3', 'ತ್ರೈ 4'],\n // CLDR #1630 - #1638\n wide: ['1ನೇ ತ್ರೈಮಾಸಿಕ', '2ನೇ ತ್ರೈಮಾಸಿಕ', '3ನೇ ತ್ರೈಮಾಸಿಕ', '4ನೇ ತ್ರೈಮಾಸಿಕ'] // CLDR #1622 - #1629\n\n}; // CLDR #1646 - #1717\n\nvar monthValues = {\n narrow: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಏ', 'ಮೇ', 'ಜೂ', 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'],\n abbreviated: ['ಜನ', 'ಫೆಬ್ರ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿ', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗ', 'ಸೆಪ್ಟೆಂ', 'ಅಕ್ಟೋ', 'ನವೆಂ', 'ಡಿಸೆಂ'],\n wide: ['ಜನವರಿ', 'ಫೆಬ್ರವರಿ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸೆಪ್ಟೆಂಬರ್', 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', 'ಡಿಸೆಂಬರ್']\n}; // CLDR #1718 - #1773\n\nvar dayValues = {\n narrow: ['ಭಾ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'],\n short: ['ಭಾನು', 'ಸೋಮ', 'ಮಂಗಳ', 'ಬುಧ', 'ಗುರು', 'ಶುಕ್ರ', 'ಶನಿ'],\n abbreviated: ['ಭಾನು', 'ಸೋಮ', 'ಮಂಗಳ', 'ಬುಧ', 'ಗುರು', 'ಶುಕ್ರ', 'ಶನಿ'],\n wide: ['ಭಾನುವಾರ', 'ಸೋಮವಾರ', 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ']\n}; // CLDR #1774 - #1815\n\nvar dayPeriodValues = {\n narrow: {\n am: 'ಪೂರ್ವಾಹ್ನ',\n pm: 'ಅಪರಾಹ್ನ',\n midnight: 'ಮಧ್ಯರಾತ್ರಿ',\n noon: 'ಮಧ್ಯಾಹ್ನ',\n morning: 'ಬೆಳಗ್ಗೆ',\n afternoon: 'ಮಧ್ಯಾಹ್ನ',\n evening: 'ಸಂಜೆ',\n night: 'ರಾತ್ರಿ'\n },\n abbreviated: {\n am: 'ಪೂರ್ವಾಹ್ನ',\n pm: 'ಅಪರಾಹ್ನ',\n midnight: 'ಮಧ್ಯರಾತ್ರಿ',\n noon: 'ಮಧ್ಯಾನ್ಹ',\n morning: 'ಬೆಳಗ್ಗೆ',\n afternoon: 'ಮಧ್ಯಾನ್ಹ',\n evening: 'ಸಂಜೆ',\n night: 'ರಾತ್ರಿ'\n },\n wide: {\n am: 'ಪೂರ್ವಾಹ್ನ',\n pm: 'ಅಪರಾಹ್ನ',\n midnight: 'ಮಧ್ಯರಾತ್ರಿ',\n noon: 'ಮಧ್ಯಾನ್ಹ',\n morning: 'ಬೆಳಗ್ಗೆ',\n afternoon: 'ಮಧ್ಯಾನ್ಹ',\n evening: 'ಸಂಜೆ',\n night: 'ರಾತ್ರಿ'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ಪೂ',\n pm: 'ಅ',\n midnight: 'ಮಧ್ಯರಾತ್ರಿ',\n noon: 'ಮಧ್ಯಾನ್ಹ',\n morning: 'ಬೆಳಗ್ಗೆ',\n afternoon: 'ಮಧ್ಯಾನ್ಹ',\n evening: 'ಸಂಜೆ',\n night: 'ರಾತ್ರಿ'\n },\n abbreviated: {\n am: 'ಪೂರ್ವಾಹ್ನ',\n pm: 'ಅಪರಾಹ್ನ',\n midnight: 'ಮಧ್ಯ ರಾತ್ರಿ',\n noon: 'ಮಧ್ಯಾನ್ಹ',\n morning: 'ಬೆಳಗ್ಗೆ',\n afternoon: 'ಮಧ್ಯಾನ್ಹ',\n evening: 'ಸಂಜೆ',\n night: 'ರಾತ್ರಿ'\n },\n wide: {\n am: 'ಪೂರ್ವಾಹ್ನ',\n pm: 'ಅಪರಾಹ್ನ',\n midnight: 'ಮಧ್ಯ ರಾತ್ರಿ',\n noon: 'ಮಧ್ಯಾನ್ಹ',\n morning: 'ಬೆಳಗ್ಗೆ',\n afternoon: 'ಮಧ್ಯಾನ್ಹ',\n evening: 'ಸಂಜೆ',\n night: 'ರಾತ್ರಿ'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'ನೇ';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ನೇ|ನೆ)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ಕ್ರಿ.ಪೂ|ಕ್ರಿ.ಶ)/i,\n abbreviated: /^(ಕ್ರಿ\\.?\\s?ಪೂ\\.?|ಕ್ರಿ\\.?\\s?ಶ\\.?|ಪ್ರ\\.?\\s?ಶ\\.?)/i,\n wide: /^(ಕ್ರಿಸ್ತ ಪೂರ್ವ|ಕ್ರಿಸ್ತ ಶಕ|ಪ್ರಸಕ್ತ ಶಕ)/i\n};\nvar parseEraPatterns = {\n any: [/^ಪೂ/i, /^(ಶ|ಪ್ರ)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^ತ್ರೈ[1234]|ತ್ರೈ [1234]| [1234]ತ್ರೈ/i,\n wide: /^[1234](ನೇ)? ತ್ರೈಮಾಸಿಕ/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(ಜೂ|ಜು|ಜ|ಫೆ|ಮಾ|ಏ|ಮೇ|ಆ|ಸೆ|ಅ|ನ|ಡಿ)/i,\n abbreviated: /^(ಜನ|ಫೆಬ್ರ|ಮಾರ್ಚ್|ಏಪ್ರಿ|ಮೇ|ಜೂನ್|ಜುಲೈ|ಆಗ|ಸೆಪ್ಟೆಂ|ಅಕ್ಟೋ|ನವೆಂ|ಡಿಸೆಂ)/i,\n wide: /^(ಜನವರಿ|ಫೆಬ್ರವರಿ|ಮಾರ್ಚ್|ಏಪ್ರಿಲ್|ಮೇ|ಜೂನ್|ಜುಲೈ|ಆಗಸ್ಟ್|ಸೆಪ್ಟೆಂಬರ್|ಅಕ್ಟೋಬರ್|ನವೆಂಬರ್|ಡಿಸೆಂಬರ್)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ಜ$/i, /^ಫೆ/i, /^ಮಾ/i, /^ಏ/i, /^ಮೇ/i, /^ಜೂ/i, /^ಜು$/i, /^ಆ/i, /^ಸೆ/i, /^ಅ/i, /^ನ/i, /^ಡಿ/i],\n any: [/^ಜನ/i, /^ಫೆ/i, /^ಮಾ/i, /^ಏ/i, /^ಮೇ/i, /^ಜೂನ್/i, /^ಜುಲೈ/i, /^ಆ/i, /^ಸೆ/i, /^ಅ/i, /^ನ/i, /^ಡಿ/i]\n};\nvar matchDayPatterns = {\n narrow: /^(ಭಾ|ಸೋ|ಮ|ಬು|ಗು|ಶು|ಶ)/i,\n short: /^(ಭಾನು|ಸೋಮ|ಮಂಗಳ|ಬುಧ|ಗುರು|ಶುಕ್ರ|ಶನಿ)/i,\n abbreviated: /^(ಭಾನು|ಸೋಮ|ಮಂಗಳ|ಬುಧ|ಗುರು|ಶುಕ್ರ|ಶನಿ)/i,\n wide: /^(ಭಾನುವಾರ|ಸೋಮವಾರ|ಮಂಗಳವಾರ|ಬುಧವಾರ|ಗುರುವಾರ|ಶುಕ್ರವಾರ|ಶನಿವಾರ)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ಭಾ/i, /^ಸೋ/i, /^ಮ/i, /^ಬು/i, /^ಗು/i, /^ಶು/i, /^ಶ/i],\n any: [/^ಭಾ/i, /^ಸೋ/i, /^ಮ/i, /^ಬು/i, /^ಗು/i, /^ಶು/i, /^ಶ/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ಪೂ|ಅ|ಮಧ್ಯರಾತ್ರಿ|ಮಧ್ಯಾನ್ಹ|ಬೆಳಗ್ಗೆ|ಸಂಜೆ|ರಾತ್ರಿ)/i,\n any: /^(ಪೂರ್ವಾಹ್ನ|ಅಪರಾಹ್ನ|ಮಧ್ಯರಾತ್ರಿ|ಮಧ್ಯಾನ್ಹ|ಬೆಳಗ್ಗೆ|ಸಂಜೆ|ರಾತ್ರಿ)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ಪೂ/i,\n pm: /^ಅ/i,\n midnight: /ಮಧ್ಯರಾತ್ರಿ/i,\n noon: /ಮಧ್ಯಾನ್ಹ/i,\n morning: /ಬೆಳಗ್ಗೆ/i,\n afternoon: /ಮಧ್ಯಾನ್ಹ/i,\n evening: /ಸಂಜೆ/i,\n night: /ರಾತ್ರಿ/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'y년 M월 d일 EEEE',\n long: 'y년 M월 d일',\n medium: 'y.MM.dd',\n short: 'y.MM.dd'\n};\nvar timeFormats = {\n full: 'a H시 mm분 ss초 zzzz',\n long: 'a H:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'지난' eeee p\",\n yesterday: \"'어제' p\",\n today: \"'오늘' p\",\n tomorrow: \"'내일' p\",\n nextWeek: \"'다음' eeee p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n standalone: {\n one: 'manner wéi eng Sekonn',\n other: 'manner wéi {{count}} Sekonnen'\n },\n withPreposition: {\n one: 'manner wéi enger Sekonn',\n other: 'manner wéi {{count}} Sekonnen'\n }\n },\n xSeconds: {\n standalone: {\n one: 'eng Sekonn',\n other: '{{count}} Sekonnen'\n },\n withPreposition: {\n one: 'enger Sekonn',\n other: '{{count}} Sekonnen'\n }\n },\n halfAMinute: {\n standalone: 'eng hallef Minutt',\n withPreposition: 'enger hallwer Minutt'\n },\n lessThanXMinutes: {\n standalone: {\n one: 'manner wéi eng Minutt',\n other: 'manner wéi {{count}} Minutten'\n },\n withPreposition: {\n one: 'manner wéi enger Minutt',\n other: 'manner wéi {{count}} Minutten'\n }\n },\n xMinutes: {\n standalone: {\n one: 'eng Minutt',\n other: '{{count}} Minutten'\n },\n withPreposition: {\n one: 'enger Minutt',\n other: '{{count}} Minutten'\n }\n },\n aboutXHours: {\n standalone: {\n one: 'ongeféier eng Stonn',\n other: 'ongeféier {{count}} Stonnen'\n },\n withPreposition: {\n one: 'ongeféier enger Stonn',\n other: 'ongeféier {{count}} Stonnen'\n }\n },\n xHours: {\n standalone: {\n one: 'eng Stonn',\n other: '{{count}} Stonnen'\n },\n withPreposition: {\n one: 'enger Stonn',\n other: '{{count}} Stonnen'\n }\n },\n xDays: {\n standalone: {\n one: 'een Dag',\n other: '{{count}} Deeg'\n },\n withPreposition: {\n one: 'engem Dag',\n other: '{{count}} Deeg'\n }\n },\n aboutXWeeks: {\n standalone: {\n one: 'ongeféier eng Woch',\n other: 'ongeféier {{count}} Wochen'\n },\n withPreposition: {\n one: 'ongeféier enger Woche',\n other: 'ongeféier {{count}} Wochen'\n }\n },\n xWeeks: {\n standalone: {\n one: 'eng Woch',\n other: '{{count}} Wochen'\n },\n withPreposition: {\n one: 'enger Woch',\n other: '{{count}} Wochen'\n }\n },\n aboutXMonths: {\n standalone: {\n one: 'ongeféier ee Mount',\n other: 'ongeféier {{count}} Méint'\n },\n withPreposition: {\n one: 'ongeféier engem Mount',\n other: 'ongeféier {{count}} Méint'\n }\n },\n xMonths: {\n standalone: {\n one: 'ee Mount',\n other: '{{count}} Méint'\n },\n withPreposition: {\n one: 'engem Mount',\n other: '{{count}} Méint'\n }\n },\n aboutXYears: {\n standalone: {\n one: 'ongeféier ee Joer',\n other: 'ongeféier {{count}} Joer'\n },\n withPreposition: {\n one: 'ongeféier engem Joer',\n other: 'ongeféier {{count}} Joer'\n }\n },\n xYears: {\n standalone: {\n one: 'ee Joer',\n other: '{{count}} Joer'\n },\n withPreposition: {\n one: 'engem Joer',\n other: '{{count}} Joer'\n }\n },\n overXYears: {\n standalone: {\n one: 'méi wéi ee Joer',\n other: 'méi wéi {{count}} Joer'\n },\n withPreposition: {\n one: 'méi wéi engem Joer',\n other: 'méi wéi {{count}} Joer'\n }\n },\n almostXYears: {\n standalone: {\n one: 'bal ee Joer',\n other: 'bal {{count}} Joer'\n },\n withPreposition: {\n one: 'bal engem Joer',\n other: 'bal {{count}} Joer'\n }\n }\n};\nvar EXCEPTION_CONSONANTS = ['d', 'h', 'n', 't', 'z'];\nvar VOWELS = ['a,', 'e', 'i', 'o', 'u'];\nvar DIGITS_SPOKEN_N_NEEDED = [0, 1, 2, 3, 8, 9];\nvar FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED = [40, 50, 60, 70]; // Eifeler Regel\n\nfunction isFinalNNeeded(nextWords) {\n var firstLetter = nextWords.charAt(0).toLowerCase();\n\n if (VOWELS.indexOf(firstLetter) != -1 || EXCEPTION_CONSONANTS.indexOf(firstLetter) != -1) {\n return true;\n } // Numbers would need to converted into words for checking.\n // Therefore, I have listed the digits that require a preceeding n with a few exceptions.\n\n\n var firstWord = nextWords.split(' ')[0];\n var number = parseInt(firstWord);\n\n if (!isNaN(number) && DIGITS_SPOKEN_N_NEEDED.indexOf(number % 10) != -1 && FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED.indexOf(parseInt(firstWord.substring(0, 2))) == -1) {\n return true;\n } // Omit other checks as they are not expected here.\n\n\n return false;\n}\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n var usageGroup = options !== null && options !== void 0 && options.addSuffix ? tokenValue.withPreposition : tokenValue.standalone;\n\n if (typeof usageGroup === 'string') {\n result = usageGroup;\n } else if (count === 1) {\n result = usageGroup.one;\n } else {\n result = usageGroup.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'a' + (isFinalNNeeded(result) ? 'n' : '') + ' ' + result;\n } else {\n return 'viru' + (isFinalNNeeded(result) ? 'n' : '') + ' ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['BC', 'AD'],\n abbreviated: ['BC', 'AD'],\n wide: ['기원전', '서기']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1분기', '2분기', '3분기', '4분기']\n};\nvar monthValues = {\n narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n abbreviated: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],\n wide: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월']\n};\nvar dayValues = {\n narrow: ['일', '월', '화', '수', '목', '금', '토'],\n short: ['일', '월', '화', '수', '목', '금', '토'],\n abbreviated: ['일', '월', '화', '수', '목', '금', '토'],\n wide: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일']\n};\nvar dayPeriodValues = {\n narrow: {\n am: '오전',\n pm: '오후',\n midnight: '자정',\n noon: '정오',\n morning: '아침',\n afternoon: '오후',\n evening: '저녁',\n night: '밤'\n },\n abbreviated: {\n am: '오전',\n pm: '오후',\n midnight: '자정',\n noon: '정오',\n morning: '아침',\n afternoon: '오후',\n evening: '저녁',\n night: '밤'\n },\n wide: {\n am: '오전',\n pm: '오후',\n midnight: '자정',\n noon: '정오',\n morning: '아침',\n afternoon: '오후',\n evening: '저녁',\n night: '밤'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: '오전',\n pm: '오후',\n midnight: '자정',\n noon: '정오',\n morning: '아침',\n afternoon: '오후',\n evening: '저녁',\n night: '밤'\n },\n abbreviated: {\n am: '오전',\n pm: '오후',\n midnight: '자정',\n noon: '정오',\n morning: '아침',\n afternoon: '오후',\n evening: '저녁',\n night: '밤'\n },\n wide: {\n am: '오전',\n pm: '오후',\n midnight: '자정',\n noon: '정오',\n morning: '아침',\n afternoon: '오후',\n evening: '저녁',\n night: '밤'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n\n switch (unit) {\n case 'minute':\n case 'second':\n return String(number);\n\n case 'date':\n return number + '일';\n\n default:\n return number + '번째';\n }\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(일|번째)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(기원전|서기)/i\n};\nvar parseEraPatterns = {\n any: [/^(bc|기원전)/i, /^(ad|서기)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234]사?분기/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(1[012]|[123456789])/,\n abbreviated: /^(1[012]|[123456789])월/i,\n wide: /^(1[012]|[123456789])월/i\n};\nvar parseMonthPatterns = {\n any: [/^1월?$/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n narrow: /^[일월화수목금토]/,\n short: /^[일월화수목금토]/,\n abbreviated: /^[일월화수목금토]/,\n wide: /^[일월화수목금토]요일/\n};\nvar parseDayPatterns = {\n any: [/^일/, /^월/, /^화/, /^수/, /^목/, /^금/, /^토/]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^(am|오전)/i,\n pm: /^(pm|오후)/i,\n midnight: /^자정/i,\n noon: /^정오/i,\n morning: /^아침/i,\n afternoon: /^오후/i,\n evening: /^저녁/i,\n night: /^밤/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\"; // DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\n\nvar dateFormats = {\n full: 'EEEE, do MMMM y',\n // Méindeg, 7. Januar 2018\n long: 'do MMMM y',\n // 7. Januar 2018\n medium: 'do MMM y',\n // 7. Jan 2018\n short: 'dd.MM.yy' // 07.01.18\n\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'um' {{time}}\",\n long: \"{{date}} 'um' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n var day = date.getUTCDay();\n var result = \"'läschte\";\n\n if (day === 2 || day === 4) {\n // Eifeler Regel: Add an n before the consonant d; Here \"Dënschdeg\" \"and Donneschde\".\n result += 'n';\n }\n\n result += \"' eeee 'um' p\";\n return result;\n },\n yesterday: \"'gëschter um' p\",\n today: \"'haut um' p\",\n tomorrow: \"'moien um' p\",\n nextWeek: \"eeee 'um' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var translations = {\n xseconds_other: 'sekundė_sekundžių_sekundes',\n xminutes_one: 'minutė_minutės_minutę',\n xminutes_other: 'minutės_minučių_minutes',\n xhours_one: 'valanda_valandos_valandą',\n xhours_other: 'valandos_valandų_valandas',\n xdays_one: 'diena_dienos_dieną',\n xdays_other: 'dienos_dienų_dienas',\n xweeks_one: 'savaitė_savaitės_savaitę',\n xweeks_other: 'savaitės_savaičių_savaites',\n xmonths_one: 'mėnuo_mėnesio_mėnesį',\n xmonths_other: 'mėnesiai_mėnesių_mėnesius',\n xyears_one: 'metai_metų_metus',\n xyears_other: 'metai_metų_metus',\n about: 'apie',\n over: 'daugiau nei',\n almost: 'beveik',\n lessthan: 'mažiau nei'\n};\n\nvar translateSeconds = function translateSeconds(_number, addSuffix, _key, isFuture) {\n if (!addSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n};\n\nvar translateSingular = function translateSingular(_number, addSuffix, key, isFuture) {\n return !addSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];\n};\n\nvar translate = function translate(number, addSuffix, key, isFuture) {\n var result = number + ' ';\n\n if (number === 1) {\n return result + translateSingular(number, addSuffix, key, isFuture);\n } else if (!addSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n};\n\nfunction special(number) {\n return number % 10 === 0 || number > 10 && number < 20;\n}\n\nfunction forms(key) {\n return translations[key].split('_');\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: translateSeconds,\n other: translate\n },\n xSeconds: {\n one: translateSeconds,\n other: translate\n },\n halfAMinute: 'pusė minutės',\n lessThanXMinutes: {\n one: translateSingular,\n other: translate\n },\n xMinutes: {\n one: translateSingular,\n other: translate\n },\n aboutXHours: {\n one: translateSingular,\n other: translate\n },\n xHours: {\n one: translateSingular,\n other: translate\n },\n xDays: {\n one: translateSingular,\n other: translate\n },\n aboutXWeeks: {\n one: translateSingular,\n other: translate\n },\n xWeeks: {\n one: translateSingular,\n other: translate\n },\n aboutXMonths: {\n one: translateSingular,\n other: translate\n },\n xMonths: {\n one: translateSingular,\n other: translate\n },\n aboutXYears: {\n one: translateSingular,\n other: translate\n },\n xYears: {\n one: translateSingular,\n other: translate\n },\n overXYears: {\n one: translateSingular,\n other: translate\n },\n almostXYears: {\n one: translateSingular,\n other: translate\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var adverb = token.match(/about|over|almost|lessthan/i);\n var unit = adverb ? token.replace(adverb[0], '') : token;\n var isFuture = (options === null || options === void 0 ? void 0 : options.comparison) !== undefined && options.comparison > 0;\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one(count, (options === null || options === void 0 ? void 0 : options.addSuffix) === true, unit.toLowerCase() + '_one', isFuture);\n } else {\n result = tokenValue.other(count, (options === null || options === void 0 ? void 0 : options.addSuffix) === true, unit.toLowerCase() + '_other', isFuture);\n }\n\n if (adverb) {\n var _key2 = adverb[0].toLowerCase();\n\n result = translations[_key2] + ' ' + result;\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'po ' + result;\n } else {\n return 'prieš ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['v.Chr.', 'n.Chr.'],\n abbreviated: ['v.Chr.', 'n.Chr.'],\n wide: ['viru Christus', 'no Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mäe', 'Abr', 'Mee', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n wide: ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n short: ['So', 'Mé', 'Dë', 'Më', 'Do', 'Fr', 'Sa'],\n abbreviated: ['So.', 'Mé.', 'Dë.', 'Më.', 'Do.', 'Fr.', 'Sa.'],\n wide: ['Sonndeg', 'Méindeg', 'Dënschdeg', 'Mëttwoch', 'Donneschdeg', 'Freideg', 'Samschdeg']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'mo.',\n pm: 'nomë.',\n midnight: 'Mëtternuecht',\n noon: 'Mëtteg',\n morning: 'Moien',\n afternoon: 'Nomëtteg',\n evening: 'Owend',\n night: 'Nuecht'\n },\n abbreviated: {\n am: 'moies',\n pm: 'nomëttes',\n midnight: 'Mëtternuecht',\n noon: 'Mëtteg',\n morning: 'Moien',\n afternoon: 'Nomëtteg',\n evening: 'Owend',\n night: 'Nuecht'\n },\n wide: {\n am: 'moies',\n pm: 'nomëttes',\n midnight: 'Mëtternuecht',\n noon: 'Mëtteg',\n morning: 'Moien',\n afternoon: 'Nomëtteg',\n evening: 'Owend',\n night: 'Nuecht'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'mo.',\n pm: 'nom.',\n midnight: 'Mëtternuecht',\n noon: 'mëttes',\n morning: 'moies',\n afternoon: 'nomëttes',\n evening: 'owes',\n night: 'nuets'\n },\n abbreviated: {\n am: 'moies',\n pm: 'nomëttes',\n midnight: 'Mëtternuecht',\n noon: 'mëttes',\n morning: 'moies',\n afternoon: 'nomëttes',\n evening: 'owes',\n night: 'nuets'\n },\n wide: {\n am: 'moies',\n pm: 'nomëttes',\n midnight: 'Mëtternuecht',\n noon: 'mëttes',\n morning: 'moies',\n afternoon: 'nomëttes',\n evening: 'owes',\n night: 'nuets'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n wide: /^(viru Christus|virun eiser Zäitrechnung|no Christus|eiser Zäitrechnung)/i\n};\nvar parseEraPatterns = {\n any: [/^v/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? Quartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mäe|abr|mee|jun|jul|aug|sep|okt|nov|dez)/i,\n wide: /^(januar|februar|mäerz|abrëll|mee|juni|juli|august|september|oktober|november|dezember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mä/i, /^ab/i, /^me/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smdf]/i,\n short: /^(so|mé|dë|më|do|fr|sa)/i,\n abbreviated: /^(son?|méi?|dën?|mët?|don?|fre?|sam?)\\.?/i,\n wide: /^(sonndeg|méindeg|dënschdeg|mëttwoch|donneschdeg|freideg|samschdeg)/i\n};\nvar parseDayPatterns = {\n any: [/^so/i, /^mé/i, /^dë/i, /^më/i, /^do/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(mo\\.?|nomë\\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i,\n abbreviated: /^(moi\\.?|nomët\\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i,\n wide: /^(moies|nomëttes|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^m/i,\n pm: /^n/i,\n midnight: /^Mëtter/i,\n noon: /^mëttes/i,\n morning: /moies/i,\n afternoon: /nomëttes/i,\n // will never be matched. Afternoon is matched by `pm`\n evening: /owes/i,\n night: /nuets/i // will never be matched. Night is matched by `pm`\n\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"y 'm'. MMMM d 'd'., EEEE\",\n long: \"y 'm'. MMMM d 'd'.\",\n medium: 'y-MM-dd',\n short: 'y-MM-dd'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'Praėjusį' eeee p\",\n yesterday: \"'Vakar' p\",\n today: \"'Šiandien' p\",\n tomorrow: \"'Rytoj' p\",\n nextWeek: 'eeee p',\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['pr. Kr.', 'po Kr.'],\n abbreviated: ['pr. Kr.', 'po Kr.'],\n wide: ['prieš Kristų', 'po Kristaus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['I ketv.', 'II ketv.', 'III ketv.', 'IV ketv.'],\n wide: ['I ketvirtis', 'II ketvirtis', 'III ketvirtis', 'IV ketvirtis']\n};\nvar formattingQuarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['I k.', 'II k.', 'III k.', 'IV k.'],\n wide: ['I ketvirtis', 'II ketvirtis', 'III ketvirtis', 'IV ketvirtis']\n};\nvar monthValues = {\n narrow: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', 'L', 'G'],\n abbreviated: ['saus.', 'vas.', 'kov.', 'bal.', 'geg.', 'birž.', 'liep.', 'rugp.', 'rugs.', 'spal.', 'lapkr.', 'gruod.'],\n wide: ['sausis', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis', 'gruodis']\n};\nvar formattingMonthValues = {\n narrow: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', 'L', 'G'],\n abbreviated: ['saus.', 'vas.', 'kov.', 'bal.', 'geg.', 'birž.', 'liep.', 'rugp.', 'rugs.', 'spal.', 'lapkr.', 'gruod.'],\n wide: ['sausio', 'vasario', 'kovo', 'balandžio', 'gegužės', 'birželio', 'liepos', 'rugpjūčio', 'rugsėjo', 'spalio', 'lapkričio', 'gruodžio']\n};\nvar dayValues = {\n narrow: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'],\n short: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'],\n abbreviated: ['sk', 'pr', 'an', 'tr', 'kt', 'pn', 'št'],\n wide: ['sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis']\n};\nvar formattingDayValues = {\n narrow: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'],\n short: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'],\n abbreviated: ['sk', 'pr', 'an', 'tr', 'kt', 'pn', 'št'],\n wide: ['sekmadienį', 'pirmadienį', 'antradienį', 'trečiadienį', 'ketvirtadienį', 'penktadienį', 'šeštadienį']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'pr. p.',\n pm: 'pop.',\n midnight: 'vidurnaktis',\n noon: 'vidurdienis',\n morning: 'rytas',\n afternoon: 'diena',\n evening: 'vakaras',\n night: 'naktis'\n },\n abbreviated: {\n am: 'priešpiet',\n pm: 'popiet',\n midnight: 'vidurnaktis',\n noon: 'vidurdienis',\n morning: 'rytas',\n afternoon: 'diena',\n evening: 'vakaras',\n night: 'naktis'\n },\n wide: {\n am: 'priešpiet',\n pm: 'popiet',\n midnight: 'vidurnaktis',\n noon: 'vidurdienis',\n morning: 'rytas',\n afternoon: 'diena',\n evening: 'vakaras',\n night: 'naktis'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'pr. p.',\n pm: 'pop.',\n midnight: 'vidurnaktis',\n noon: 'perpiet',\n morning: 'rytas',\n afternoon: 'popietė',\n evening: 'vakaras',\n night: 'naktis'\n },\n abbreviated: {\n am: 'priešpiet',\n pm: 'popiet',\n midnight: 'vidurnaktis',\n noon: 'perpiet',\n morning: 'rytas',\n afternoon: 'popietė',\n evening: 'vakaras',\n night: 'naktis'\n },\n wide: {\n am: 'priešpiet',\n pm: 'popiet',\n midnight: 'vidurnaktis',\n noon: 'perpiet',\n morning: 'rytas',\n afternoon: 'popietė',\n evening: 'vakaras',\n night: 'naktis'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '-oji';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n formattingValues: formattingQuarterValues,\n defaultFormattingWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayValues,\n defaultFormattingWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-oji)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^p(r|o)\\.?\\s?(kr\\.?|me)/i,\n abbreviated: /^(pr\\.\\s?(kr\\.|m\\.\\s?e\\.)|po\\s?kr\\.|mūsų eroje)/i,\n wide: /^(prieš Kristų|prieš mūsų erą|po Kristaus|mūsų eroje)/i\n};\nvar parseEraPatterns = {\n wide: [/prieš/i, /(po|mūsų)/i],\n any: [/^pr/i, /^(po|m)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^([1234])/i,\n abbreviated: /^(I|II|III|IV)\\s?ketv?\\.?/i,\n wide: /^(I|II|III|IV)\\s?ketvirtis/i\n};\nvar parseQuarterPatterns = {\n narrow: [/1/i, /2/i, /3/i, /4/i],\n any: [/I$/i, /II$/i, /III/i, /IV/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[svkbglr]/i,\n abbreviated: /^(saus\\.|vas\\.|kov\\.|bal\\.|geg\\.|birž\\.|liep\\.|rugp\\.|rugs\\.|spal\\.|lapkr\\.|gruod\\.)/i,\n wide: /^(sausi(s|o)|vasari(s|o)|kov(a|o)s|balandž?i(s|o)|gegužės?|birželi(s|o)|liep(a|os)|rugpjū(t|č)i(s|o)|rugsėj(is|o)|spali(s|o)|lapkri(t|č)i(s|o)|gruodž?i(s|o))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^s/i, /^v/i, /^k/i, /^b/i, /^g/i, /^b/i, /^l/i, /^r/i, /^r/i, /^s/i, /^l/i, /^g/i],\n any: [/^saus/i, /^vas/i, /^kov/i, /^bal/i, /^geg/i, /^birž/i, /^liep/i, /^rugp/i, /^rugs/i, /^spal/i, /^lapkr/i, /^gruod/i]\n};\nvar matchDayPatterns = {\n narrow: /^[spatkš]/i,\n short: /^(sk|pr|an|tr|kt|pn|št)/i,\n abbreviated: /^(sk|pr|an|tr|kt|pn|št)/i,\n wide: /^(sekmadien(is|į)|pirmadien(is|į)|antradien(is|į)|trečiadien(is|į)|ketvirtadien(is|į)|penktadien(is|į)|šeštadien(is|į))/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^p/i, /^a/i, /^t/i, /^k/i, /^p/i, /^š/i],\n wide: [/^se/i, /^pi/i, /^an/i, /^tr/i, /^ke/i, /^pe/i, /^še/i],\n any: [/^sk/i, /^pr/i, /^an/i, /^tr/i, /^kt/i, /^pn/i, /^št/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(pr.\\s?p.|pop.|vidurnaktis|(vidurdienis|perpiet)|rytas|(diena|popietė)|vakaras|naktis)/i,\n any: /^(priešpiet|popiet$|vidurnaktis|(vidurdienis|perpiet)|rytas|(diena|popietė)|vakaras|naktis)/i\n};\nvar parseDayPeriodPatterns = {\n narrow: {\n am: /^pr/i,\n pm: /^pop./i,\n midnight: /^vidurnaktis/i,\n noon: /^(vidurdienis|perp)/i,\n morning: /rytas/i,\n afternoon: /(die|popietė)/i,\n evening: /vakaras/i,\n night: /naktis/i\n },\n any: {\n am: /^pr/i,\n pm: /^popiet$/i,\n midnight: /^vidurnaktis/i,\n noon: /^(vidurdienis|perp)/i,\n morning: /rytas/i,\n afternoon: /(die|popietė)/i,\n evening: /vakaras/i,\n night: /naktis/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function buildLocalizeTokenFn(schema) {\n return function (count, options) {\n if (count === 1) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n return schema.one[0].replace('{{time}}', schema.one[2]);\n } else {\n return schema.one[0].replace('{{time}}', schema.one[1]);\n }\n } else {\n var rem = count % 10 === 1 && count % 100 !== 11;\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n return schema.other[0].replace('{{time}}', rem ? schema.other[3] : schema.other[4]).replace('{{count}}', String(count));\n } else {\n return schema.other[0].replace('{{time}}', rem ? schema.other[1] : schema.other[2]).replace('{{count}}', String(count));\n }\n }\n };\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n one: ['mazāk par {{time}}', 'sekundi', 'sekundi'],\n other: ['mazāk nekā {{count}} {{time}}', 'sekunde', 'sekundes', 'sekundes', 'sekundēm']\n }),\n xSeconds: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'sekunde', 'sekundes'],\n other: ['{{count}} {{time}}', 'sekunde', 'sekundes', 'sekundes', 'sekundēm']\n }),\n halfAMinute: function halfAMinute(_count, options) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n return 'pusminūtes';\n } else {\n return 'pusminūte';\n }\n },\n lessThanXMinutes: buildLocalizeTokenFn({\n one: ['mazāk par {{time}}', 'minūti', 'minūti'],\n other: ['mazāk nekā {{count}} {{time}}', 'minūte', 'minūtes', 'minūtes', 'minūtēm']\n }),\n xMinutes: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'minūte', 'minūtes'],\n other: ['{{count}} {{time}}', 'minūte', 'minūtes', 'minūtes', 'minūtēm']\n }),\n aboutXHours: buildLocalizeTokenFn({\n one: ['apmēram 1 {{time}}', 'stunda', 'stundas'],\n other: ['apmēram {{count}} {{time}}', 'stunda', 'stundas', 'stundas', 'stundām']\n }),\n xHours: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'stunda', 'stundas'],\n other: ['{{count}} {{time}}', 'stunda', 'stundas', 'stundas', 'stundām']\n }),\n xDays: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'diena', 'dienas'],\n other: ['{{count}} {{time}}', 'diena', 'dienas', 'dienas', 'dienām']\n }),\n aboutXWeeks: buildLocalizeTokenFn({\n one: ['apmēram 1 {{time}}', 'nedēļa', 'nedēļas'],\n other: ['apmēram {{count}} {{time}}', 'nedēļa', 'nedēļu', 'nedēļas', 'nedēļām']\n }),\n xWeeks: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'nedēļa', 'nedēļas'],\n other: ['{{count}} {{time}}', // TODO\n 'nedēļa', 'nedēļu', 'nedēļas', 'nedēļām']\n }),\n aboutXMonths: buildLocalizeTokenFn({\n one: ['apmēram 1 {{time}}', 'mēnesis', 'mēneša'],\n other: ['apmēram {{count}} {{time}}', 'mēnesis', 'mēneši', 'mēneša', 'mēnešiem']\n }),\n xMonths: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'mēnesis', 'mēneša'],\n other: ['{{count}} {{time}}', 'mēnesis', 'mēneši', 'mēneša', 'mēnešiem']\n }),\n aboutXYears: buildLocalizeTokenFn({\n one: ['apmēram 1 {{time}}', 'gads', 'gada'],\n other: ['apmēram {{count}} {{time}}', 'gads', 'gadi', 'gada', 'gadiem']\n }),\n xYears: buildLocalizeTokenFn({\n one: ['1 {{time}}', 'gads', 'gada'],\n other: ['{{count}} {{time}}', 'gads', 'gadi', 'gada', 'gadiem']\n }),\n overXYears: buildLocalizeTokenFn({\n one: ['ilgāk par 1 {{time}}', 'gadu', 'gadu'],\n other: ['vairāk nekā {{count}} {{time}}', 'gads', 'gadi', 'gada', 'gadiem']\n }),\n almostXYears: buildLocalizeTokenFn({\n one: ['gandrīz 1 {{time}}', 'gads', 'gada'],\n other: ['vairāk nekā {{count}} {{time}}', 'gads', 'gadi', 'gada', 'gadiem']\n })\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result = formatDistanceLocale[token](count, options);\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'pēc ' + result;\n } else {\n return 'pirms ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, y. 'gada' d. MMMM\",\n long: \"y. 'gada' d. MMMM\",\n medium: 'dd.MM.y.',\n short: 'dd.MM.y.'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'plkst.' {{time}}\",\n long: \"{{date}} 'plkst.' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar weekdays = ['svētdienā', 'pirmdienā', 'otrdienā', 'trešdienā', 'ceturtdienā', 'piektdienā', 'sestdienā'];\nvar formatRelativeLocale = {\n lastWeek: function lastWeek(date, baseDate, options) {\n if (isSameUTCWeek(date, baseDate, options)) {\n return \"eeee 'plkst.' p\";\n }\n\n var weekday = weekdays[date.getUTCDay()];\n return \"'Pagājušā \" + weekday + \" plkst.' p\";\n },\n yesterday: \"'Vakar plkst.' p\",\n today: \"'Šodien plkst.' p\",\n tomorrow: \"'Rīt plkst.' p\",\n nextWeek: function nextWeek(date, baseDate, options) {\n if (isSameUTCWeek(date, baseDate, options)) {\n return \"eeee 'plkst.' p\";\n }\n\n var weekday = weekdays[date.getUTCDay()];\n return \"'Nākamajā \" + weekday + \" plkst.' p\";\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['p.m.ē', 'm.ē'],\n abbreviated: ['p. m. ē.', 'm. ē.'],\n wide: ['pirms mūsu ēras', 'mūsu ērā']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1. cet.', '2. cet.', '3. cet.', '4. cet.'],\n wide: ['pirmais ceturksnis', 'otrais ceturksnis', 'trešais ceturksnis', 'ceturtais ceturksnis']\n};\nvar formattingQuarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1. cet.', '2. cet.', '3. cet.', '4. cet.'],\n wide: ['pirmajā ceturksnī', 'otrajā ceturksnī', 'trešajā ceturksnī', 'ceturtajā ceturksnī']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'],\n wide: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', 'decembris']\n};\nvar formattingMonthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['janv.', 'febr.', 'martā', 'apr.', 'maijs', 'jūn.', 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'],\n wide: ['janvārī', 'februārī', 'martā', 'aprīlī', 'maijā', 'jūnijā', 'jūlijā', 'augustā', 'septembrī', 'oktobrī', 'novembrī', 'decembrī']\n};\nvar dayValues = {\n narrow: ['S', 'P', 'O', 'T', 'C', 'P', 'S'],\n short: ['Sv', 'P', 'O', 'T', 'C', 'Pk', 'S'],\n abbreviated: ['svētd.', 'pirmd.', 'otrd.', 'trešd.', 'ceturtd.', 'piektd.', 'sestd.'],\n wide: ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', 'ceturtdiena', 'piektdiena', 'sestdiena']\n};\nvar formattingDayValues = {\n narrow: ['S', 'P', 'O', 'T', 'C', 'P', 'S'],\n short: ['Sv', 'P', 'O', 'T', 'C', 'Pk', 'S'],\n abbreviated: ['svētd.', 'pirmd.', 'otrd.', 'trešd.', 'ceturtd.', 'piektd.', 'sestd.'],\n wide: ['svētdienā', 'pirmdienā', 'otrdienā', 'trešdienā', 'ceturtdienā', 'piektdienā', 'sestdienā']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'pusn.',\n noon: 'pusd.',\n morning: 'rīts',\n afternoon: 'diena',\n evening: 'vakars',\n night: 'nakts'\n },\n abbreviated: {\n am: 'am',\n pm: 'pm',\n midnight: 'pusn.',\n noon: 'pusd.',\n morning: 'rīts',\n afternoon: 'pēcpusd.',\n evening: 'vakars',\n night: 'nakts'\n },\n wide: {\n am: 'am',\n pm: 'pm',\n midnight: 'pusnakts',\n noon: 'pusdienlaiks',\n morning: 'rīts',\n afternoon: 'pēcpusdiena',\n evening: 'vakars',\n night: 'nakts'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'pusn.',\n noon: 'pusd.',\n morning: 'rītā',\n afternoon: 'dienā',\n evening: 'vakarā',\n night: 'naktī'\n },\n abbreviated: {\n am: 'am',\n pm: 'pm',\n midnight: 'pusn.',\n noon: 'pusd.',\n morning: 'rītā',\n afternoon: 'pēcpusd.',\n evening: 'vakarā',\n night: 'naktī'\n },\n wide: {\n am: 'am',\n pm: 'pm',\n midnight: 'pusnaktī',\n noon: 'pusdienlaikā',\n morning: 'rītā',\n afternoon: 'pēcpusdienā',\n evening: 'vakarā',\n night: 'naktī'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n formattingValues: formattingQuarterValues,\n defaultFormattingWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayValues,\n defaultFormattingWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(p\\.m\\.ē|m\\.ē)/i,\n abbreviated: /^(p\\. m\\. ē\\.|m\\. ē\\.)/i,\n wide: /^(pirms mūsu ēras|mūsu ērā)/i\n};\nvar parseEraPatterns = {\n any: [/^p/i, /^m/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](\\. cet\\.)/i,\n wide: /^(pirma(is|jā)|otra(is|jā)|treša(is|jā)|ceturta(is|jā)) ceturksn(is|ī)/i\n};\nvar parseQuarterPatterns = {\n narrow: [/^1/i, /^2/i, /^3/i, /^4/i],\n abbreviated: [/^1/i, /^2/i, /^3/i, /^4/i],\n wide: [/^p/i, /^o/i, /^t/i, /^c/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(janv\\.|febr\\.|marts|apr\\.|maijs|jūn\\.|jūl\\.|aug\\.|sept\\.|okt\\.|nov\\.|dec\\.)/i,\n wide: /^(janvār(is|ī)|februār(is|ī)|mart[sā]|aprīl(is|ī)|maij[sā]|jūnij[sā]|jūlij[sā]|august[sā]|septembr(is|ī)|oktobr(is|ī)|novembr(is|ī)|decembr(is|ī))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^jūn/i, /^jūl/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[spotc]/i,\n short: /^(sv|pi|o|t|c|pk|s)/i,\n abbreviated: /^(svētd\\.|pirmd\\.|otrd.\\|trešd\\.|ceturtd\\.|piektd\\.|sestd\\.)/i,\n wide: /^(svētdien(a|ā)|pirmdien(a|ā)|otrdien(a|ā)|trešdien(a|ā)|ceturtdien(a|ā)|piektdien(a|ā)|sestdien(a|ā))/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^p/i, /^o/i, /^t/i, /^c/i, /^p/i, /^s/i],\n any: [/^sv/i, /^pi/i, /^o/i, /^t/i, /^c/i, /^p/i, /^se/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(am|pm|pusn\\.|pusd\\.|rīt(s|ā)|dien(a|ā)|vakar(s|ā)|nakt(s|ī))/,\n abbreviated: /^(am|pm|pusn\\.|pusd\\.|rīt(s|ā)|pēcpusd\\.|vakar(s|ā)|nakt(s|ī))/,\n wide: /^(am|pm|pusnakt(s|ī)|pusdienlaik(s|ā)|rīt(s|ā)|pēcpusdien(a|ā)|vakar(s|ā)|nakt(s|ī))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^am/i,\n pm: /^pm/i,\n midnight: /^pusn/i,\n noon: /^pusd/i,\n morning: /^r/i,\n afternoon: /^(d|pēc)/i,\n evening: /^v/i,\n night: /^n/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'wide',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, dd MMMM yyyy',\n long: 'dd MMMM yyyy',\n medium: 'dd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['пр.н.е.', 'н.е.'],\n abbreviated: ['пред н. е.', 'н. е.'],\n wide: ['пред нашата ера', 'нашата ера']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-ви кв.', '2-ри кв.', '3-ти кв.', '4-ти кв.'],\n wide: ['1-ви квартал', '2-ри квартал', '3-ти квартал', '4-ти квартал']\n};\nvar monthValues = {\n abbreviated: ['јан', 'фев', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'септ', 'окт', 'ноем', 'дек'],\n wide: ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември']\n};\nvar dayValues = {\n narrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n short: ['не', 'по', 'вт', 'ср', 'че', 'пе', 'са'],\n abbreviated: ['нед', 'пон', 'вто', 'сре', 'чет', 'пет', 'саб'],\n wide: ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота']\n};\nvar dayPeriodValues = {\n wide: {\n am: 'претпладне',\n pm: 'попладне',\n midnight: 'полноќ',\n noon: 'напладне',\n morning: 'наутро',\n afternoon: 'попладне',\n evening: 'навечер',\n night: 'ноќе'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + '-ви';\n\n case 2:\n return number + '-ри';\n\n case 7:\n case 8:\n return number + '-ми';\n }\n }\n\n return number + '-ти';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?[врмт][и])?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((пр)?н\\.?\\s?е\\.?)/i,\n abbreviated: /^((пр)?н\\.?\\s?е\\.?)/i,\n wide: /^(пред нашата ера|нашата ера)/i\n};\nvar parseEraPatterns = {\n any: [/^п/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[врт]?и?)? кв.?/i,\n wide: /^[1234](-?[врт]?и?)? квартал/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchDayPatterns = {\n narrow: /^[нпвсч]/i,\n short: /^(не|по|вт|ср|че|пе|са)/i,\n abbreviated: /^(нед|пон|вто|сре|чет|пет|саб)/i,\n wide: /^(недела|понеделник|вторник|среда|четврток|петок|сабота)/i\n};\nvar parseDayPatterns = {\n narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[аб]/i]\n};\nvar matchMonthPatterns = {\n abbreviated: /^(јан|фев|мар|апр|мај|јун|јул|авг|сеп|окт|ноем|дек)/i,\n wide: /^(јануари|февруари|март|април|мај|јуни|јули|август|септември|октомври|ноември|декември)/i\n};\nvar parseMonthPatterns = {\n any: [/^ја/i, /^Ф/i, /^мар/i, /^ап/i, /^мај/i, /^јун/i, /^јул/i, /^ав/i, /^се/i, /^окт/i, /^но/i, /^де/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(претп|попл|полноќ|утро|пладне|вечер|ноќ)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /претпладне/i,\n pm: /попладне/i,\n midnight: /полноќ/i,\n noon: /напладне/i,\n morning: /наутро/i,\n afternoon: /попладне/i,\n evening: /навечер/i,\n night: /ноќе/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"y 'оны' MMMM'ын' d, EEEE 'гараг'\",\n long: \"y 'оны' MMMM'ын' d\",\n medium: \"y 'оны' MMM'ын' d\",\n short: 'y.MM.dd'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['НТӨ', 'НТ'],\n abbreviated: ['НТӨ', 'НТ'],\n wide: ['нийтийн тооллын өмнөх', 'нийтийн тооллын']\n};\nvar quarterValues = {\n narrow: ['I', 'II', 'III', 'IV'],\n abbreviated: ['I улирал', 'II улирал', 'III улирал', 'IV улирал'],\n wide: ['1-р улирал', '2-р улирал', '3-р улирал', '4-р улирал']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII'],\n abbreviated: ['1-р сар', '2-р сар', '3-р сар', '4-р сар', '5-р сар', '6-р сар', '7-р сар', '8-р сар', '9-р сар', '10-р сар', '11-р сар', '12-р сар'],\n wide: ['Нэгдүгээр сар', 'Хоёрдугаар сар', 'Гуравдугаар сар', 'Дөрөвдүгээр сар', 'Тавдугаар сар', 'Зургаадугаар сар', 'Долоодугаар сар', 'Наймдугаар сар', 'Есдүгээр сар', 'Аравдугаар сар', 'Арваннэгдүгээр сар', 'Арван хоёрдугаар сар']\n};\nvar formattingMonthValues = {\n narrow: ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII'],\n abbreviated: ['1-р сар', '2-р сар', '3-р сар', '4-р сар', '5-р сар', '6-р сар', '7-р сар', '8-р сар', '9-р сар', '10-р сар', '11-р сар', '12-р сар'],\n wide: ['нэгдүгээр сар', 'хоёрдугаар сар', 'гуравдугаар сар', 'дөрөвдүгээр сар', 'тавдугаар сар', 'зургаадугаар сар', 'долоодугаар сар', 'наймдугаар сар', 'есдүгээр сар', 'аравдугаар сар', 'арваннэгдүгээр сар', 'арван хоёрдугаар сар']\n};\nvar dayValues = {\n narrow: ['Н', 'Д', 'М', 'Л', 'П', 'Б', 'Б'],\n short: ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'],\n abbreviated: ['Ням', 'Дав', 'Мяг', 'Лха', 'Пүр', 'Баа', 'Бям'],\n wide: ['Ням', 'Даваа', 'Мягмар', 'Лхагва', 'Пүрэв', 'Баасан', 'Бямба']\n};\nvar formattingDayValues = {\n narrow: ['Н', 'Д', 'М', 'Л', 'П', 'Б', 'Б'],\n short: ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'],\n abbreviated: ['Ням', 'Дав', 'Мяг', 'Лха', 'Пүр', 'Баа', 'Бям'],\n wide: ['ням', 'даваа', 'мягмар', 'лхагва', 'пүрэв', 'баасан', 'бямба']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ү.ө.',\n pm: 'ү.х.',\n midnight: 'шөнө дунд',\n noon: 'үд дунд',\n morning: 'өглөө',\n afternoon: 'өдөр',\n evening: 'орой',\n night: 'шөнө'\n },\n abbreviated: {\n am: 'ү.ө.',\n pm: 'ү.х.',\n midnight: 'шөнө дунд',\n noon: 'үд дунд',\n morning: 'өглөө',\n afternoon: 'өдөр',\n evening: 'орой',\n night: 'шөнө'\n },\n wide: {\n am: 'ү.ө.',\n pm: 'ү.х.',\n midnight: 'шөнө дунд',\n noon: 'үд дунд',\n morning: 'өглөө',\n afternoon: 'өдөр',\n evening: 'орой',\n night: 'шөнө'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayValues,\n defaultFormattingWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /\\d+/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(нтө|нт)/i,\n abbreviated: /^(нтө|нт)/i,\n wide: /^(нийтийн тооллын өмнө|нийтийн тооллын)/i\n};\nvar parseEraPatterns = {\n any: [/^(нтө|нийтийн тооллын өмнө)/i, /^(нт|нийтийн тооллын)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^(iv|iii|ii|i)/i,\n abbreviated: /^(iv|iii|ii|i) улирал/i,\n wide: /^[1-4]-р улирал/i\n};\nvar parseQuarterPatterns = {\n any: [/^(i(\\s|$)|1)/i, /^(ii(\\s|$)|2)/i, /^(iii(\\s|$)|3)/i, /^(iv(\\s|$)|4)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(xii|xi|x|ix|viii|vii|vi|v|iv|iii|ii|i)/i,\n abbreviated: /^(1-р сар|2-р сар|3-р сар|4-р сар|5-р сар|6-р сар|7-р сар|8-р сар|9-р сар|10-р сар|11-р сар|12-р сар)/i,\n wide: /^(нэгдүгээр сар|хоёрдугаар сар|гуравдугаар сар|дөрөвдүгээр сар|тавдугаар сар|зургаадугаар сар|долоодугаар сар|наймдугаар сар|есдүгээр сар|аравдугаар сар|арван нэгдүгээр сар|арван хоёрдугаар сар)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^i$/i, /^ii$/i, /^iii$/i, /^iv$/i, /^v$/i, /^vi$/i, /^vii$/i, /^viii$/i, /^ix$/i, /^x$/i, /^xi$/i, /^xii$/i],\n any: [/^(1|нэгдүгээр)/i, /^(2|хоёрдугаар)/i, /^(3|гуравдугаар)/i, /^(4|дөрөвдүгээр)/i, /^(5|тавдугаар)/i, /^(6|зургаадугаар)/i, /^(7|долоодугаар)/i, /^(8|наймдугаар)/i, /^(9|есдүгээр)/i, /^(10|аравдугаар)/i, /^(11|арван нэгдүгээр)/i, /^(12|арван хоёрдугаар)/i]\n};\nvar matchDayPatterns = {\n narrow: /^[ндмлпбб]/i,\n short: /^(ня|да|мя|лх|пү|ба|бя)/i,\n abbreviated: /^(ням|дав|мяг|лха|пүр|баа|бям)/i,\n wide: /^(ням|даваа|мягмар|лхагва|пүрэв|баасан|бямба)/i\n};\nvar parseDayPatterns = {\n narrow: [/^н/i, /^д/i, /^м/i, /^л/i, /^п/i, /^б/i, /^б/i],\n any: [/^ня/i, /^да/i, /^мя/i, /^лх/i, /^пү/i, /^ба/i, /^бя/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ү\\.ө\\.|ү\\.х\\.|шөнө дунд|үд дунд|өглөө|өдөр|орой|шөнө)/i,\n any: /^(ү\\.ө\\.|ү\\.х\\.|шөнө дунд|үд дунд|өглөө|өдөр|орой|шөнө)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ү\\.ө\\./i,\n pm: /^ү\\.х\\./i,\n midnight: /^шөнө дунд/i,\n noon: /^үд дунд/i,\n morning: /өглөө/i,\n afternoon: /өдөр/i,\n evening: /орой/i,\n night: /шөнө/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'd/M/yyyy'\n};\nvar timeFormats = {\n full: 'HH.mm.ss',\n long: 'HH.mm.ss',\n medium: 'HH.mm',\n short: 'HH.mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'pukul' {{time}}\",\n long: \"{{date}} 'pukul' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // Most data for localization are taken from this page\n// https://www.unicode.org/cldr/charts/32/summary/ms.html\n\nvar eraValues = {\n narrow: ['SM', 'M'],\n abbreviated: ['SM', 'M'],\n wide: ['Sebelum Masihi', 'Masihi']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['S1', 'S2', 'S3', 'S4'],\n wide: ['Suku pertama', 'Suku kedua', 'Suku ketiga', 'Suku keempat']\n}; // Note: in Malay, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'],\n wide: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember']\n};\nvar dayValues = {\n narrow: ['A', 'I', 'S', 'R', 'K', 'J', 'S'],\n short: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],\n abbreviated: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],\n wide: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'tgh malam',\n noon: 'tgh hari',\n morning: 'pagi',\n afternoon: 'tengah hari',\n evening: 'petang',\n night: 'malam'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'tengah hari',\n evening: 'petang',\n night: 'malam'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'tengah hari',\n evening: 'petang',\n night: 'malam'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'tengah hari',\n evening: 'petang',\n night: 'malam'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'tengah hari',\n evening: 'petang',\n night: 'malam'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'tengah malam',\n noon: 'tengah hari',\n morning: 'pagi',\n afternoon: 'tengah hari',\n evening: 'petang',\n night: 'malam'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n // Can't use \"pertama\", \"kedua\" because can't be parsed\n return 'ke-' + Number(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^ke-(\\d+)?/i;\nvar parseOrdinalNumberPattern = /petama|\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(sm|m)/i,\n abbreviated: /^(s\\.?\\s?m\\.?|m\\.?)/i,\n wide: /^(sebelum masihi|masihi)/i\n};\nvar parseEraPatterns = {\n any: [/^s/i, /^(m)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^S[1234]/i,\n wide: /Suku (pertama|kedua|ketiga|keempat)/i\n};\nvar parseQuarterPatterns = {\n any: [/pertama|1/i, /kedua|2/i, /ketiga|3/i, /keempat|4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mac|apr|mei|jun|jul|ogo|sep|okt|nov|dis)/i,\n wide: /^(januari|februari|mac|april|mei|jun|julai|ogos|september|oktober|november|disember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^o/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^ma/i, /^ap/i, /^me/i, /^jun/i, /^jul/i, /^og/i, /^s/i, /^ok/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[aisrkj]/i,\n short: /^(ahd|isn|sel|rab|kha|jum|sab)/i,\n abbreviated: /^(ahd|isn|sel|rab|kha|jum|sab)/i,\n wide: /^(ahad|isnin|selasa|rabu|khamis|jumaat|sabtu)/i\n};\nvar parseDayPatterns = {\n narrow: [/^a/i, /^i/i, /^s/i, /^r/i, /^k/i, /^j/i, /^s/i],\n any: [/^a/i, /^i/i, /^se/i, /^r/i, /^k/i, /^j/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(am|pm|tengah malam|tengah hari|pagi|petang|malam)/i,\n any: /^([ap]\\.?\\s?m\\.?|tengah malam|tengah hari|pagi|petang|malam)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^pm/i,\n midnight: /^tengah m/i,\n noon: /^tengah h/i,\n morning: /pa/i,\n afternoon: /tengah h/i,\n evening: /pe/i,\n night: /m/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar weekdays = ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота'];\n\nfunction _lastWeek(day) {\n var weekday = weekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 6:\n return \"'минатата \" + weekday + \" во' p\";\n\n case 1:\n case 2:\n case 4:\n case 5:\n return \"'минатиот \" + weekday + \" во' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = weekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 6:\n return \"'ова \" + weekday + \" вo' p\";\n\n case 1:\n case 2:\n case 4:\n case 5:\n return \"'овој \" + weekday + \" вo' p\";\n }\n}\n\nfunction _nextWeek(day) {\n var weekday = weekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 6:\n return \"'следната \" + weekday + \" вo' p\";\n\n case 1:\n case 2:\n case 4:\n case 5:\n return \"'следниот \" + weekday + \" вo' p\";\n }\n}\n\nvar formatRelativeLocale = {\n lastWeek: function lastWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _lastWeek(day);\n }\n },\n yesterday: \"'вчера во' p\",\n today: \"'денес во' p\",\n tomorrow: \"'утре во' p\",\n nextWeek: function nextWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _nextWeek(day);\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'inqas minn sekonda',\n other: 'inqas minn {{count}} sekondi'\n },\n xSeconds: {\n one: 'sekonda',\n other: '{{count}} sekondi'\n },\n halfAMinute: 'nofs minuta',\n lessThanXMinutes: {\n one: 'inqas minn minuta',\n other: 'inqas minn {{count}} minuti'\n },\n xMinutes: {\n one: 'minuta',\n other: '{{count}} minuti'\n },\n aboutXHours: {\n one: 'madwar siegħa',\n other: 'madwar {{count}} siegħat'\n },\n xHours: {\n one: 'siegħa',\n other: '{{count}} siegħat'\n },\n xDays: {\n one: 'ġurnata',\n other: '{{count}} ġranet'\n },\n aboutXWeeks: {\n one: 'madwar ġimgħa',\n other: 'madwar {{count}} ġimgħat'\n },\n xWeeks: {\n one: 'ġimgħa',\n other: '{{count}} ġimgħat'\n },\n aboutXMonths: {\n one: 'madwar xahar',\n other: 'madwar {{count}} xhur'\n },\n xMonths: {\n one: 'xahar',\n other: '{{count}} xhur'\n },\n aboutXYears: {\n one: 'madwar sena',\n two: 'madwar sentejn',\n other: 'madwar {{count}} snin'\n },\n xYears: {\n one: 'sena',\n two: 'sentejn',\n other: '{{count}} snin'\n },\n overXYears: {\n one: 'aktar minn sena',\n two: 'aktar minn sentejn',\n other: 'aktar minn {{count}} snin'\n },\n almostXYears: {\n one: 'kważi sena',\n two: 'kważi sentejn',\n other: 'kważi {{count}} snin'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else if (count === 2 && tokenValue.two) {\n result = tokenValue.two;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"f'\" + result;\n } else {\n return result + ' ilu';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'li għadda' 'fil-'p\",\n yesterday: \"'Il-bieraħ fil-'p\",\n today: \"'Illum fil-'p\",\n tomorrow: \"'Għada fil-'p\",\n nextWeek: \"eeee 'fil-'p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'mindre enn ett sekund',\n other: 'mindre enn {{count}} sekunder'\n },\n xSeconds: {\n one: 'ett sekund',\n other: '{{count}} sekunder'\n },\n halfAMinute: 'et halvt minutt',\n lessThanXMinutes: {\n one: 'mindre enn ett minutt',\n other: 'mindre enn {{count}} minutter'\n },\n xMinutes: {\n one: 'ett minutt',\n other: '{{count}} minutter'\n },\n aboutXHours: {\n one: 'omtrent en time',\n other: 'omtrent {{count}} timer'\n },\n xHours: {\n one: 'en time',\n other: '{{count}} timer'\n },\n xDays: {\n one: 'en dag',\n other: '{{count}} dager'\n },\n aboutXWeeks: {\n one: 'omtrent en uke',\n other: 'omtrent {{count}} uker'\n },\n xWeeks: {\n one: 'en uke',\n other: '{{count}} uker'\n },\n aboutXMonths: {\n one: 'omtrent en måned',\n other: 'omtrent {{count}} måneder'\n },\n xMonths: {\n one: 'en måned',\n other: '{{count}} måneder'\n },\n aboutXYears: {\n one: 'omtrent ett år',\n other: 'omtrent {{count}} år'\n },\n xYears: {\n one: 'ett år',\n other: '{{count}} år'\n },\n overXYears: {\n one: 'over ett år',\n other: 'over {{count}} år'\n },\n almostXYears: {\n one: 'nesten ett år',\n other: 'nesten {{count}} år'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'om ' + result;\n } else {\n return result + ' siden';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['Q', 'W'],\n abbreviated: ['QK', 'WK'],\n wide: ['qabel Kristu', 'wara Kristu']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1. kwart', '2. kwart', '3. kwart', '4. kwart']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'],\n wide: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru']\n};\nvar dayValues = {\n narrow: ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'],\n short: ['Ħa', 'Tn', 'Tl', 'Er', 'Ħa', 'Ġi', 'Si'],\n abbreviated: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'],\n wide: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'nofsillejl',\n noon: 'nofsinhar',\n morning: 'għodwa',\n afternoon: 'wara nofsinhar',\n evening: 'filgħaxija',\n night: 'lejl'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'nofsillejl',\n noon: 'nofsinhar',\n morning: 'għodwa',\n afternoon: 'wara nofsinhar',\n evening: 'filgħaxija',\n night: 'lejl'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'nofsillejl',\n noon: 'nofsinhar',\n morning: 'għodwa',\n afternoon: 'wara nofsinhar',\n evening: 'filgħaxija',\n night: 'lejl'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: \"f'nofsillejl\",\n noon: \"f'nofsinhar\",\n morning: 'filgħodu',\n afternoon: 'wara nofsinhar',\n evening: 'filgħaxija',\n night: 'billejl'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: \"f'nofsillejl\",\n noon: \"f'nofsinhar\",\n morning: 'filgħodu',\n afternoon: 'wara nofsinhar',\n evening: 'filgħaxija',\n night: 'billejl'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: \"f'nofsillejl\",\n noon: \"f'nofsinhar\",\n morning: 'filgħodu',\n afternoon: 'wara nofsinhar',\n evening: 'filgħaxija',\n night: 'billejl'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'º';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(q|w)/i,\n abbreviated: /^(q\\.?\\s?k\\.?|b\\.?\\s?c\\.?\\s?e\\.?|w\\.?\\s?k\\.?)/i,\n wide: /^(qabel kristu|before common era|wara kristu|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^(q|b)/i, /^(w|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^k[1234]/i,\n wide: /^[1234](\\.)? kwart/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmaglsond]/i,\n abbreviated: /^(jan|fra|mar|apr|mej|ġun|lul|aww|set|ott|nov|diċ)/i,\n wide: /^(jannar|frar|marzu|april|mejju|ġunju|lulju|awwissu|settembru|ottubru|novembru|diċembru)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^ġ/i, /^l/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mej/i, /^ġ/i, /^l/i, /^aw/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[ħteġs]/i,\n short: /^(ħa|tn|tl|er|ħa|ġi|si)/i,\n abbreviated: /^(ħad|tne|tli|erb|ħam|ġim|sib)/i,\n wide: /^(il-ħadd|it-tnejn|it-tlieta|l-erbgħa|il-ħamis|il-ġimgħa|is-sibt)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ħ/i, /^t/i, /^t/i, /^e/i, /^ħ/i, /^ġ/i, /^s/i],\n any: [/^(il-)?ħad/i, /^(it-)?tn/i, /^(it-)?tl/i, /^(l-)?er/i, /^(il-)?ham/i, /^(il-)?ġi/i, /^(is-)?si/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|f'nofsillejl|f'nofsinhar|(ta') (għodwa|wara nofsinhar|filgħaxija|lejl))/i,\n any: /^([ap]\\.?\\s?m\\.?|f'nofsillejl|f'nofsinhar|(ta') (għodwa|wara nofsinhar|filgħaxija|lejl))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^f'nofsillejl/i,\n noon: /^f'nofsinhar/i,\n morning: /għodwa/i,\n afternoon: /wara(\\s.*)nofsinhar/i,\n evening: /filgħaxija/i,\n night: /lejl/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d. MMMM y',\n long: 'd. MMMM y',\n medium: 'd. MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: \"'kl'. HH:mm:ss zzzz\",\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'kl.' {{time}}\",\n long: \"{{date}} 'kl.' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'forrige' eeee 'kl.' p\",\n yesterday: \"'i går kl.' p\",\n today: \"'i dag kl.' p\",\n tomorrow: \"'i morgen kl.' p\",\n nextWeek: \"EEEE 'kl.' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'minder dan een seconde',\n other: 'minder dan {{count}} seconden'\n },\n xSeconds: {\n one: '1 seconde',\n other: '{{count}} seconden'\n },\n halfAMinute: 'een halve minuut',\n lessThanXMinutes: {\n one: 'minder dan een minuut',\n other: 'minder dan {{count}} minuten'\n },\n xMinutes: {\n one: 'een minuut',\n other: '{{count}} minuten'\n },\n aboutXHours: {\n one: 'ongeveer 1 uur',\n other: 'ongeveer {{count}} uur'\n },\n xHours: {\n one: '1 uur',\n other: '{{count}} uur'\n },\n xDays: {\n one: '1 dag',\n other: '{{count}} dagen'\n },\n aboutXWeeks: {\n one: 'ongeveer 1 week',\n other: 'ongeveer {{count}} weken'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weken'\n },\n aboutXMonths: {\n one: 'ongeveer 1 maand',\n other: 'ongeveer {{count}} maanden'\n },\n xMonths: {\n one: '1 maand',\n other: '{{count}} maanden'\n },\n aboutXYears: {\n one: 'ongeveer 1 jaar',\n other: 'ongeveer {{count}} jaar'\n },\n xYears: {\n one: '1 jaar',\n other: '{{count}} jaar'\n },\n overXYears: {\n one: 'meer dan 1 jaar',\n other: 'meer dan {{count}} jaar'\n },\n almostXYears: {\n one: 'bijna 1 jaar',\n other: 'bijna {{count}} jaar'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'over ' + result;\n } else {\n return result + ' geleden';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['f.Kr.', 'e.Kr.'],\n abbreviated: ['f.Kr.', 'e.Kr.'],\n wide: ['før Kristus', 'etter Kristus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'],\n wide: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n short: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],\n abbreviated: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],\n wide: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morg.',\n afternoon: 'på etterm.',\n evening: 'på kvelden',\n night: 'på natten'\n },\n abbreviated: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morg.',\n afternoon: 'på etterm.',\n evening: 'på kvelden',\n night: 'på natten'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morgenen',\n afternoon: 'på ettermiddagen',\n evening: 'på kvelden',\n night: 'på natten'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n any: [/^f/i, /^e/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^aug/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtofl]/i,\n short: /^(sø|ma|ti|on|to|fr|lø)/i,\n abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i\n};\nvar parseDayPatterns = {\n any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,\n any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a(\\.?\\s?m\\.?)?$/i,\n pm: /^p(\\.?\\s?m\\.?)?$/i,\n midnight: /^midn/i,\n noon: /^midd/i,\n morning: /morgen/i,\n afternoon: /ettermiddag/i,\n evening: /kveld/i,\n night: /natt/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd-MM-y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'om' {{time}}\",\n long: \"{{date}} 'om' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'afgelopen' eeee 'om' p\",\n yesterday: \"'gisteren om' p\",\n today: \"'vandaag om' p\",\n tomorrow: \"'morgen om' p\",\n nextWeek: \"eeee 'om' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'minder dan een seconde',\n other: 'minder dan {{count}} seconden'\n },\n xSeconds: {\n one: '1 seconde',\n other: '{{count}} seconden'\n },\n halfAMinute: 'een halve minuut',\n lessThanXMinutes: {\n one: 'minder dan een minuut',\n other: 'minder dan {{count}} minuten'\n },\n xMinutes: {\n one: 'een minuut',\n other: '{{count}} minuten'\n },\n aboutXHours: {\n one: 'ongeveer 1 uur',\n other: 'ongeveer {{count}} uur'\n },\n xHours: {\n one: '1 uur',\n other: '{{count}} uur'\n },\n xDays: {\n one: '1 dag',\n other: '{{count}} dagen'\n },\n aboutXWeeks: {\n one: 'ongeveer 1 week',\n other: 'ongeveer {{count}} weken'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weken'\n },\n aboutXMonths: {\n one: 'ongeveer 1 maand',\n other: 'ongeveer {{count}} maanden'\n },\n xMonths: {\n one: '1 maand',\n other: '{{count}} maanden'\n },\n aboutXYears: {\n one: 'ongeveer 1 jaar',\n other: 'ongeveer {{count}} jaar'\n },\n xYears: {\n one: '1 jaar',\n other: '{{count}} jaar'\n },\n overXYears: {\n one: 'meer dan 1 jaar',\n other: 'meer dan {{count}} jaar'\n },\n almostXYears: {\n one: 'bijna 1 jaar',\n other: 'bijna {{count}} jaar'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'over ' + result;\n } else {\n return result + ' geleden';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['v.C.', 'n.C.'],\n abbreviated: ['v.Chr.', 'n.Chr.'],\n wide: ['voor Christus', 'na Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n wide: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december']\n};\nvar dayValues = {\n narrow: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'],\n short: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n abbreviated: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],\n wide: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'het middaguur',\n morning: \"'s ochtends\",\n afternoon: \"'s middags\",\n evening: \"'s avonds\",\n night: \"'s nachts\"\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'het middaguur',\n morning: \"'s ochtends\",\n afternoon: \"'s middags\",\n evening: \"'s avonds\",\n night: \"'s nachts\"\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'het middaguur',\n morning: \"'s ochtends\",\n afternoon: \"'s middags\",\n evening: \"'s avonds\",\n night: \"'s nachts\"\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'e';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)e?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^([vn]\\.? ?C\\.?)/,\n abbreviated: /^([vn]\\. ?Chr\\.?)/,\n wide: /^((voor|na) Christus)/\n};\nvar parseEraPatterns = {\n any: [/^v/, /^n/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^K[1234]/i,\n wide: /^[1234]e kwartaal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^jan/i, /^feb/i, /^m(r|a)/i, /^apr/i, /^mei/i, /^jun/i, /^jul/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]\n};\nvar matchDayPatterns = {\n narrow: /^[zmdwv]/i,\n short: /^(zo|ma|di|wo|do|vr|za)/i,\n abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i,\n wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i\n};\nvar parseDayPatterns = {\n narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i],\n any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^am/i,\n pm: /^pm/i,\n midnight: /^middernacht/i,\n noon: /^het middaguur/i,\n morning: /ochtend/i,\n afternoon: /middag/i,\n evening: /avond/i,\n night: /nacht/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'om' {{time}}\",\n long: \"{{date}} 'om' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'vorige' eeee 'om' p\",\n yesterday: \"'gisteren om' p\",\n today: \"'vandaag om' p\",\n tomorrow: \"'morgen om' p\",\n nextWeek: \"eeee 'om' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'mindre enn eitt sekund',\n other: 'mindre enn {{count}} sekund'\n },\n xSeconds: {\n one: 'eitt sekund',\n other: '{{count}} sekund'\n },\n halfAMinute: 'eit halvt minutt',\n lessThanXMinutes: {\n one: 'mindre enn eitt minutt',\n other: 'mindre enn {{count}} minutt'\n },\n xMinutes: {\n one: 'eitt minutt',\n other: '{{count}} minutt'\n },\n aboutXHours: {\n one: 'omtrent ein time',\n other: 'omtrent {{count}} timar'\n },\n xHours: {\n one: 'ein time',\n other: '{{count}} timar'\n },\n xDays: {\n one: 'ein dag',\n other: '{{count}} dagar'\n },\n aboutXWeeks: {\n one: 'omtrent ei veke',\n other: 'omtrent {{count}} veker'\n },\n xWeeks: {\n one: 'ei veke',\n other: '{{count}} veker'\n },\n aboutXMonths: {\n one: 'omtrent ein månad',\n other: 'omtrent {{count}} månader'\n },\n xMonths: {\n one: 'ein månad',\n other: '{{count}} månader'\n },\n aboutXYears: {\n one: 'omtrent eitt år',\n other: 'omtrent {{count}} år'\n },\n xYears: {\n one: 'eitt år',\n other: '{{count}} år'\n },\n overXYears: {\n one: 'over eitt år',\n other: 'over {{count}} år'\n },\n almostXYears: {\n one: 'nesten eitt år',\n other: 'nesten {{count}} år'\n }\n};\nvar wordMapping = ['null', 'ein', 'to', 'tre', 'fire', 'fem', 'seks', 'sju', 'åtte', 'ni', 'ti', 'elleve', 'tolv'];\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n if (options && options.onlyNumeric) {\n result = tokenValue.other.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', count < 13 ? wordMapping[count] : String(count));\n }\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'om ' + result;\n } else {\n return result + ' sidan';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['v.C.', 'n.C.'],\n abbreviated: ['v.Chr.', 'n.Chr.'],\n wide: ['voor Christus', 'na Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['K1', 'K2', 'K3', 'K4'],\n wide: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n wide: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december']\n};\nvar dayValues = {\n narrow: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'],\n short: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n abbreviated: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],\n wide: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'het middag',\n morning: \"'s ochtends\",\n afternoon: \"'s namiddags\",\n evening: \"'s avonds\",\n night: \"'s nachts\"\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'het middag',\n morning: \"'s ochtends\",\n afternoon: \"'s namiddags\",\n evening: \"'s avonds\",\n night: \"'s nachts\"\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'middernacht',\n noon: 'het middag',\n morning: \"'s ochtends\",\n afternoon: \"'s namiddags\",\n evening: \"'s avonds\",\n night: \"'s nachts\"\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'e';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)e?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^([vn]\\.? ?C\\.?)/,\n abbreviated: /^([vn]\\. ?Chr\\.?)/,\n wide: /^((voor|na) Christus)/\n};\nvar parseEraPatterns = {\n any: [/^v/, /^n/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^K[1234]/i,\n wide: /^[1234]e kwartaal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^jan/i, /^feb/i, /^m(r|a)/i, /^apr/i, /^mei/i, /^jun/i, /^jul/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]\n};\nvar matchDayPatterns = {\n narrow: /^[zmdwv]/i,\n short: /^(zo|ma|di|wo|do|vr|za)/i,\n abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i,\n wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i\n};\nvar parseDayPatterns = {\n narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i],\n any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^am/i,\n pm: /^pm/i,\n midnight: /^middernacht/i,\n noon: /^het middaguur/i,\n morning: /ochtend/i,\n afternoon: /middag/i,\n evening: /avond/i,\n night: /nacht/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d. MMMM y',\n long: 'd. MMMM y',\n medium: 'd. MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: \"'kl'. HH:mm:ss zzzz\",\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'kl.' {{time}}\",\n long: \"{{date}} 'kl.' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'førre' eeee 'kl.' p\",\n yesterday: \"'i går kl.' p\",\n today: \"'i dag kl.' p\",\n tomorrow: \"'i morgon kl.' p\",\n nextWeek: \"EEEE 'kl.' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'mens d’una segonda',\n other: 'mens de {{count}} segondas'\n },\n xSeconds: {\n one: '1 segonda',\n other: '{{count}} segondas'\n },\n halfAMinute: '30 segondas',\n lessThanXMinutes: {\n one: 'mens d’una minuta',\n other: 'mens de {{count}} minutas'\n },\n xMinutes: {\n one: '1 minuta',\n other: '{{count}} minutas'\n },\n aboutXHours: {\n one: 'environ 1 ora',\n other: 'environ {{count}} oras'\n },\n xHours: {\n one: '1 ora',\n other: '{{count}} oras'\n },\n xDays: {\n one: '1 jorn',\n other: '{{count}} jorns'\n },\n aboutXWeeks: {\n one: 'environ 1 setmana',\n other: 'environ {{count}} setmanas'\n },\n xWeeks: {\n one: '1 setmana',\n other: '{{count}} setmanas'\n },\n aboutXMonths: {\n one: 'environ 1 mes',\n other: 'environ {{count}} meses'\n },\n xMonths: {\n one: '1 mes',\n other: '{{count}} meses'\n },\n aboutXYears: {\n one: 'environ 1 an',\n other: 'environ {{count}} ans'\n },\n xYears: {\n one: '1 an',\n other: '{{count}} ans'\n },\n overXYears: {\n one: 'mai d’un an',\n other: 'mai de {{count}} ans'\n },\n almostXYears: {\n one: 'gaireben un an',\n other: 'gaireben {{count}} ans'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'd’aquí ' + result;\n } else {\n return 'fa ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['f.Kr.', 'e.Kr.'],\n abbreviated: ['f.Kr.', 'e.Kr.'],\n wide: ['før Kristus', 'etter Kristus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'],\n wide: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n short: ['su', 'må', 'ty', 'on', 'to', 'fr', 'lau'],\n abbreviated: ['sun', 'mån', 'tys', 'ons', 'tor', 'fre', 'laur'],\n wide: ['sundag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morg.',\n afternoon: 'på etterm.',\n evening: 'på kvelden',\n night: 'på natta'\n },\n abbreviated: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morg.',\n afternoon: 'på etterm.',\n evening: 'på kvelden',\n night: 'på natta'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morgonen',\n afternoon: 'på ettermiddagen',\n evening: 'på kvelden',\n night: 'på natta'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n any: [/^f/i, /^e/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^aug/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtofl]/i,\n short: /^(su|må|ty|on|to|fr|la)/i,\n abbreviated: /^(sun|mån|tys|ons|tor|fre|laur)/i,\n wide: /^(sundag|måndag|tysdag|onsdag|torsdag|fredag|laurdag)/i\n};\nvar parseDayPatterns = {\n any: [/^s/i, /^m/i, /^ty/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta)|[ap])/i,\n any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a(\\.?\\s?m\\.?)?$/i,\n pm: /^p(\\.?\\s?m\\.?)?$/i,\n midnight: /^midn/i,\n noon: /^midd/i,\n morning: /morgon/i,\n afternoon: /ettermiddag/i,\n evening: /kveld/i,\n night: /natt/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE d 'de' MMMM y\",\n long: \"d 'de' MMMM y\",\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'a' {{time}}\",\n long: \"{{date}} 'a' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'passat a' p\",\n yesterday: \"'ièr a' p\",\n today: \"'uèi a' p\",\n tomorrow: \"'deman a' p\",\n nextWeek: \"eeee 'a' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: {\n regular: 'mniej niż sekunda',\n past: 'mniej niż sekundę',\n future: 'mniej niż sekundę'\n },\n twoFour: 'mniej niż {{count}} sekundy',\n other: 'mniej niż {{count}} sekund'\n },\n xSeconds: {\n one: {\n regular: 'sekunda',\n past: 'sekundę',\n future: 'sekundę'\n },\n twoFour: '{{count}} sekundy',\n other: '{{count}} sekund'\n },\n halfAMinute: {\n one: 'pół minuty',\n twoFour: 'pół minuty',\n other: 'pół minuty'\n },\n lessThanXMinutes: {\n one: {\n regular: 'mniej niż minuta',\n past: 'mniej niż minutę',\n future: 'mniej niż minutę'\n },\n twoFour: 'mniej niż {{count}} minuty',\n other: 'mniej niż {{count}} minut'\n },\n xMinutes: {\n one: {\n regular: 'minuta',\n past: 'minutę',\n future: 'minutę'\n },\n twoFour: '{{count}} minuty',\n other: '{{count}} minut'\n },\n aboutXHours: {\n one: {\n regular: 'około godziny',\n past: 'około godziny',\n future: 'około godzinę'\n },\n twoFour: 'około {{count}} godziny',\n other: 'około {{count}} godzin'\n },\n xHours: {\n one: {\n regular: 'godzina',\n past: 'godzinę',\n future: 'godzinę'\n },\n twoFour: '{{count}} godziny',\n other: '{{count}} godzin'\n },\n xDays: {\n one: {\n regular: 'dzień',\n past: 'dzień',\n future: '1 dzień'\n },\n twoFour: '{{count}} dni',\n other: '{{count}} dni'\n },\n aboutXWeeks: {\n one: 'około tygodnia',\n twoFour: 'około {{count}} tygodni',\n other: 'około {{count}} tygodni'\n },\n xWeeks: {\n one: 'tydzień',\n twoFour: '{{count}} tygodnie',\n other: '{{count}} tygodni'\n },\n aboutXMonths: {\n one: 'około miesiąc',\n twoFour: 'około {{count}} miesiące',\n other: 'około {{count}} miesięcy'\n },\n xMonths: {\n one: 'miesiąc',\n twoFour: '{{count}} miesiące',\n other: '{{count}} miesięcy'\n },\n aboutXYears: {\n one: 'około rok',\n twoFour: 'około {{count}} lata',\n other: 'około {{count}} lat'\n },\n xYears: {\n one: 'rok',\n twoFour: '{{count}} lata',\n other: '{{count}} lat'\n },\n overXYears: {\n one: 'ponad rok',\n twoFour: 'ponad {{count}} lata',\n other: 'ponad {{count}} lat'\n },\n almostXYears: {\n one: 'prawie rok',\n twoFour: 'prawie {{count}} lata',\n other: 'prawie {{count}} lat'\n }\n};\n\nfunction declensionGroup(scheme, count) {\n if (count === 1) {\n return scheme.one;\n }\n\n var rem100 = count % 100; // ends with 11-20\n\n if (rem100 <= 20 && rem100 > 10) {\n return scheme.other;\n }\n\n var rem10 = rem100 % 10; // ends with 2, 3, 4\n\n if (rem10 >= 2 && rem10 <= 4) {\n return scheme.twoFour;\n }\n\n return scheme.other;\n}\n\nfunction declension(scheme, count, time) {\n var group = declensionGroup(scheme, count);\n var finalText = typeof group === 'string' ? group : group[time];\n return finalText.replace('{{count}}', String(count));\n}\n\nvar formatDistance = function formatDistance(token, count, options) {\n var scheme = formatDistanceLocale[token];\n\n if (!(options !== null && options !== void 0 && options.addSuffix)) {\n return declension(scheme, count, 'regular');\n }\n\n if (options.comparison && options.comparison > 0) {\n return 'za ' + declension(scheme, count, 'future');\n } else {\n return declension(scheme, count, 'past') + ' temu';\n }\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ab. J.C.', 'apr. J.C.'],\n abbreviated: ['ab. J.C.', 'apr. J.C.'],\n wide: ['abans Jèsus-Crist', 'après Jèsus-Crist']\n};\nvar quarterValues = {\n narrow: ['T1', 'T2', 'T3', 'T4'],\n abbreviated: ['1èr trim.', '2nd trim.', '3en trim.', '4en trim.'],\n wide: ['1èr trimèstre', '2nd trimèstre', '3en trimèstre', '4en trimèstre']\n};\nvar monthValues = {\n narrow: ['GN', 'FB', 'MÇ', 'AB', 'MA', 'JN', 'JL', 'AG', 'ST', 'OC', 'NV', 'DC'],\n abbreviated: ['gen.', 'febr.', 'març', 'abr.', 'mai', 'junh', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'dec.'],\n wide: ['genièr', 'febrièr', 'març', 'abril', 'mai', 'junh', 'julhet', 'agost', 'setembre', 'octòbre', 'novembre', 'decembre']\n};\nvar dayValues = {\n narrow: ['dg.', 'dl.', 'dm.', 'dc.', 'dj.', 'dv.', 'ds.'],\n short: ['dg.', 'dl.', 'dm.', 'dc.', 'dj.', 'dv.', 'ds.'],\n abbreviated: ['dg.', 'dl.', 'dm.', 'dc.', 'dj.', 'dv.', 'ds.'],\n wide: ['dimenge', 'diluns', 'dimars', 'dimècres', 'dijòus', 'divendres', 'dissabte']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'mièjanuèch',\n noon: 'miègjorn',\n morning: 'matin',\n afternoon: 'aprèp-miègjorn',\n evening: 'vèspre',\n night: 'nuèch'\n },\n abbreviated: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'mièjanuèch',\n noon: 'miègjorn',\n morning: 'matin',\n afternoon: 'aprèp-miègjorn',\n evening: 'vèspre',\n night: 'nuèch'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'mièjanuèch',\n noon: 'miègjorn',\n morning: 'matin',\n afternoon: 'aprèp-miègjorn',\n evening: 'vèspre',\n night: 'nuèch'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'mièjanuèch',\n noon: 'miègjorn',\n morning: 'del matin',\n afternoon: 'de l’aprèp-miègjorn',\n evening: 'del ser',\n night: 'de la nuèch'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'mièjanuèch',\n noon: 'miègjorn',\n morning: 'del matin',\n afternoon: 'de l’aprèp-miègjorn',\n evening: 'del ser',\n night: 'de la nuèch'\n },\n wide: {\n am: 'ante meridiem',\n pm: 'post meridiem',\n midnight: 'mièjanuèch',\n noon: 'miègjorn',\n morning: 'del matin',\n afternoon: 'de l’aprèp-miègjorn',\n evening: 'del ser',\n night: 'de la nuèch'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n var ordinal;\n\n switch (number) {\n case 1:\n ordinal = 'èr';\n break;\n\n case 2:\n ordinal = 'nd';\n break;\n\n default:\n ordinal = 'en';\n } // feminine for year, week, hour, minute, second\n\n\n if (unit === 'year' || unit === 'week' || unit === 'hour' || unit === 'minute' || unit === 'second') {\n ordinal += 'a';\n }\n\n return number + ordinal;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(èr|nd|en)?[a]?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ab\\.J\\.C|apr\\.J\\.C|apr\\.J\\.-C)/i,\n abbreviated: /^(ab\\.J\\.-C|ab\\.J-C|apr\\.J\\.-C|apr\\.J-C|ap\\.J-C)/i,\n wide: /^(abans Jèsus-Crist|après Jèsus-Crist)/i\n};\nvar parseEraPatterns = {\n any: [/^ab/i, /^ap/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^T[1234]/i,\n abbreviated: /^[1234](èr|nd|en)? trim\\.?/i,\n wide: /^[1234](èr|nd|en)? trimèstre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(GN|FB|MÇ|AB|MA|JN|JL|AG|ST|OC|NV|DC)/i,\n abbreviated: /^(gen|febr|març|abr|mai|junh|jul|ag|set|oct|nov|dec)\\.?/i,\n wide: /^(genièr|febrièr|març|abril|mai|junh|julhet|agost|setembre|octòbre|novembre|decembre)/i\n};\nvar parseMonthPatterns = {\n any: [/^g/i, /^f/i, /^ma[r?]|MÇ/i, /^ab/i, /^ma[i?]/i, /^ju[n?]|JN/i, /^ju[l?]|JL/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^d[glmcjvs]\\.?/i,\n short: /^d[glmcjvs]\\.?/i,\n abbreviated: /^d[glmcjvs]\\.?/i,\n wide: /^(dimenge|diluns|dimars|dimècres|dijòus|divendres|dissabte)/i\n};\nvar parseDayPatterns = {\n narrow: [/^dg/i, /^dl/i, /^dm/i, /^dc/i, /^dj/i, /^dv/i, /^ds/i],\n short: [/^dg/i, /^dl/i, /^dm/i, /^dc/i, /^dj/i, /^dv/i, /^ds/i],\n abbreviated: [/^dg/i, /^dl/i, /^dm/i, /^dc/i, /^dj/i, /^dv/i, /^ds/i],\n any: [/^dg|dime/i, /^dl|dil/i, /^dm|dima/i, /^dc|dimè/i, /^dj|dij/i, /^dv|div/i, /^ds|dis/i]\n};\nvar matchDayPeriodPatterns = {\n any: /(^(a\\.?m|p\\.?m))|(ante meridiem|post meridiem)|((del |de la |de l’)(matin|aprèp-miègjorn|vèspre|ser|nuèch))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /(^a)|ante meridiem/i,\n pm: /(^p)|post meridiem/i,\n midnight: /^mièj/i,\n noon: /^mièg/i,\n morning: /matin/i,\n afternoon: /aprèp-miègjorn/i,\n evening: /vèspre|ser/i,\n night: /nuèch/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, do MMMM y',\n long: 'do MMMM y',\n medium: 'do MMM y',\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar adjectivesLastWeek = {\n masculine: 'ostatni',\n feminine: 'ostatnia'\n};\nvar adjectivesThisWeek = {\n masculine: 'ten',\n feminine: 'ta'\n};\nvar adjectivesNextWeek = {\n masculine: 'następny',\n feminine: 'następna'\n};\nvar dayGrammaticalGender = {\n 0: 'feminine',\n 1: 'masculine',\n 2: 'masculine',\n 3: 'feminine',\n 4: 'masculine',\n 5: 'masculine',\n 6: 'feminine'\n};\n\nfunction dayAndTimeWithAdjective(token, date, baseDate, options) {\n var adjectives;\n\n if (isSameUTCWeek(date, baseDate, options)) {\n adjectives = adjectivesThisWeek;\n } else if (token === 'lastWeek') {\n adjectives = adjectivesLastWeek;\n } else if (token === 'nextWeek') {\n adjectives = adjectivesNextWeek;\n } else {\n throw new Error(\"Cannot determine adjectives for token \".concat(token));\n }\n\n var day = date.getUTCDay();\n var grammaticalGender = dayGrammaticalGender[day];\n var adjective = adjectives[grammaticalGender];\n return \"'\".concat(adjective, \"' eeee 'o' p\");\n}\n\nvar formatRelativeLocale = {\n lastWeek: dayAndTimeWithAdjective,\n yesterday: \"'wczoraj o' p\",\n today: \"'dzisiaj o' p\",\n tomorrow: \"'jutro o' p\",\n nextWeek: dayAndTimeWithAdjective,\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(token, date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'menos de um segundo',\n other: 'menos de {{count}} segundos'\n },\n xSeconds: {\n one: '1 segundo',\n other: '{{count}} segundos'\n },\n halfAMinute: 'meio minuto',\n lessThanXMinutes: {\n one: 'menos de um minuto',\n other: 'menos de {{count}} minutos'\n },\n xMinutes: {\n one: '1 minuto',\n other: '{{count}} minutos'\n },\n aboutXHours: {\n one: 'aproximadamente 1 hora',\n other: 'aproximadamente {{count}} horas'\n },\n xHours: {\n one: '1 hora',\n other: '{{count}} horas'\n },\n xDays: {\n one: '1 dia',\n other: '{{count}} dias'\n },\n aboutXWeeks: {\n one: 'aproximadamente 1 semana',\n other: 'aproximadamente {{count}} semanas'\n },\n xWeeks: {\n one: '1 semana',\n other: '{{count}} semanas'\n },\n aboutXMonths: {\n one: 'aproximadamente 1 mês',\n other: 'aproximadamente {{count}} meses'\n },\n xMonths: {\n one: '1 mês',\n other: '{{count}} meses'\n },\n aboutXYears: {\n one: 'aproximadamente 1 ano',\n other: 'aproximadamente {{count}} anos'\n },\n xYears: {\n one: '1 ano',\n other: '{{count}} anos'\n },\n overXYears: {\n one: 'mais de 1 ano',\n other: 'mais de {{count}} anos'\n },\n almostXYears: {\n one: 'quase 1 ano',\n other: 'quase {{count}} anos'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'daqui a ' + result;\n } else {\n return 'há ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['p.n.e.', 'n.e.'],\n abbreviated: ['p.n.e.', 'n.e.'],\n wide: ['przed naszą erą', 'naszej ery']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['I kw.', 'II kw.', 'III kw.', 'IV kw.'],\n wide: ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał']\n};\nvar monthValues = {\n narrow: ['S', 'L', 'M', 'K', 'M', 'C', 'L', 'S', 'W', 'P', 'L', 'G'],\n abbreviated: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],\n wide: ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień']\n};\nvar monthFormattingValues = {\n narrow: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', 'l', 'g'],\n abbreviated: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],\n wide: ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia']\n};\nvar dayValues = {\n narrow: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'],\n short: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],\n abbreviated: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'],\n wide: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']\n};\nvar dayFormattingValues = {\n narrow: ['n', 'p', 'w', 'ś', 'c', 'p', 's'],\n short: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],\n abbreviated: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'],\n wide: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'półn.',\n noon: 'poł',\n morning: 'rano',\n afternoon: 'popoł.',\n evening: 'wiecz.',\n night: 'noc'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'północ',\n noon: 'południe',\n morning: 'rano',\n afternoon: 'popołudnie',\n evening: 'wieczór',\n night: 'noc'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'północ',\n noon: 'południe',\n morning: 'rano',\n afternoon: 'popołudnie',\n evening: 'wieczór',\n night: 'noc'\n }\n};\nvar dayPeriodFormattingValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'o półn.',\n noon: 'w poł.',\n morning: 'rano',\n afternoon: 'po poł.',\n evening: 'wiecz.',\n night: 'w nocy'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'o północy',\n noon: 'w południe',\n morning: 'rano',\n afternoon: 'po południu',\n evening: 'wieczorem',\n night: 'w nocy'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'o północy',\n noon: 'w południe',\n morning: 'rano',\n afternoon: 'po południu',\n evening: 'wieczorem',\n night: 'w nocy'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: monthFormattingValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide',\n formattingValues: dayFormattingValues,\n defaultFormattingWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: dayPeriodFormattingValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n abbreviated: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n wide: /^(przed\\s*nasz(ą|a)\\s*er(ą|a)|naszej\\s*ery)/i\n};\nvar parseEraPatterns = {\n any: [/^p/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^(I|II|III|IV)\\s*kw\\.?/i,\n wide: /^(I|II|III|IV)\\s*kwarta(ł|l)/i\n};\nvar parseQuarterPatterns = {\n narrow: [/1/i, /2/i, /3/i, /4/i],\n any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[slmkcwpg]/i,\n abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,\n wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^s/i, /^l/i, /^m/i, /^k/i, /^m/i, /^c/i, /^l/i, /^s/i, /^w/i, /^p/i, /^l/i, /^g/i],\n any: [/^st/i, /^lu/i, /^mar/i, /^k/i, /^maj/i, /^c/i, /^lip/i, /^si/i, /^w/i, /^p/i, /^lis/i, /^g/i]\n};\nvar matchDayPatterns = {\n narrow: /^[npwścs]/i,\n short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,\n abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\\.?/i,\n wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i\n};\nvar parseDayPatterns = {\n narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i],\n abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i],\n any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(^a$|^p$|pó(ł|l)n\\.?|o\\s*pó(ł|l)n\\.?|po(ł|l)\\.?|w\\s*po(ł|l)\\.?|po\\s*po(ł|l)\\.?|rano|wiecz\\.?|noc|w\\s*nocy)/i,\n any: /^(am|pm|pó(ł|l)noc|o\\s*pó(ł|l)nocy|po(ł|l)udnie|w\\s*po(ł|l)udnie|popo(ł|l)udnie|po\\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\\s*nocy)/i\n};\nvar parseDayPeriodPatterns = {\n narrow: {\n am: /^a$/i,\n pm: /^p$/i,\n midnight: /pó(ł|l)n/i,\n noon: /po(ł|l)/i,\n morning: /rano/i,\n afternoon: /po\\s*po(ł|l)/i,\n evening: /wiecz/i,\n night: /noc/i\n },\n any: {\n am: /^am/i,\n pm: /^pm/i,\n midnight: /pó(ł|l)n/i,\n noon: /po(ł|l)/i,\n morning: /rano/i,\n afternoon: /po\\s*po(ł|l)/i,\n evening: /wiecz/i,\n night: /noc/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: \"d 'de' MMM 'de' y\",\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'às' {{time}}\",\n long: \"{{date}} 'às' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n var weekday = date.getUTCDay();\n var last = weekday === 0 || weekday === 6 ? 'último' : 'última';\n return \"'\" + last + \"' eeee 'às' p\";\n },\n yesterday: \"'ontem às' p\",\n today: \"'hoje às' p\",\n tomorrow: \"'amanhã às' p\",\n nextWeek: \"eeee 'às' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'menos de um segundo',\n other: 'menos de {{count}} segundos'\n },\n xSeconds: {\n one: '1 segundo',\n other: '{{count}} segundos'\n },\n halfAMinute: 'meio minuto',\n lessThanXMinutes: {\n one: 'menos de um minuto',\n other: 'menos de {{count}} minutos'\n },\n xMinutes: {\n one: '1 minuto',\n other: '{{count}} minutos'\n },\n aboutXHours: {\n one: 'cerca de 1 hora',\n other: 'cerca de {{count}} horas'\n },\n xHours: {\n one: '1 hora',\n other: '{{count}} horas'\n },\n xDays: {\n one: '1 dia',\n other: '{{count}} dias'\n },\n aboutXWeeks: {\n one: 'cerca de 1 semana',\n other: 'cerca de {{count}} semanas'\n },\n xWeeks: {\n one: '1 semana',\n other: '{{count}} semanas'\n },\n aboutXMonths: {\n one: 'cerca de 1 mês',\n other: 'cerca de {{count}} meses'\n },\n xMonths: {\n one: '1 mês',\n other: '{{count}} meses'\n },\n aboutXYears: {\n one: 'cerca de 1 ano',\n other: 'cerca de {{count}} anos'\n },\n xYears: {\n one: '1 ano',\n other: '{{count}} anos'\n },\n overXYears: {\n one: 'mais de 1 ano',\n other: 'mais de {{count}} anos'\n },\n almostXYears: {\n one: 'quase 1 ano',\n other: 'quase {{count}} anos'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'em ' + result;\n } else {\n return 'há ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['aC', 'dC'],\n abbreviated: ['a.C.', 'd.C.'],\n wide: ['antes de Cristo', 'depois de Cristo']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],\n wide: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro']\n};\nvar dayValues = {\n narrow: ['d', 's', 't', 'q', 'q', 's', 's'],\n short: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],\n abbreviated: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],\n wide: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'manhã',\n afternoon: 'tarde',\n evening: 'noite',\n night: 'madrugada'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'manhã',\n afternoon: 'tarde',\n evening: 'noite',\n night: 'madrugada'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'manhã',\n afternoon: 'tarde',\n evening: 'noite',\n night: 'madrugada'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'da manhã',\n afternoon: 'da tarde',\n evening: 'da noite',\n night: 'da madrugada'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'da manhã',\n afternoon: 'da tarde',\n evening: 'da noite',\n night: 'da madrugada'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'da manhã',\n afternoon: 'da tarde',\n evening: 'da noite',\n night: 'da madrugada'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'º';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º|ª)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|antes da era comum|depois de cristo|era comum)/i\n};\nvar parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^(antes de cristo|antes da era comum)/i, /^(depois de cristo|era comum)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º|ª)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ab/i, /^mai/i, /^jun/i, /^jul/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dstq]/i,\n short: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,\n abbreviated: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,\n wide: /^(domingo|segunda-?\\s?feira|terça-?\\s?feira|quarta-?\\s?feira|quinta-?\\s?feira|sexta-?\\s?feira|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^s/i, /^t/i, /^q/i, /^q/i, /^s/i, /^s/i],\n any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[áa]/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|meia-?\\s?noite|meio-?\\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,\n any: /^([ap]\\.?\\s?m\\.?|meia-?\\s?noite|meio-?\\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^meia/i,\n noon: /^meio/i,\n morning: /manh[ãa]/i,\n afternoon: /tarde/i,\n evening: /noite/i,\n night: /madrugada/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: 'd MMM y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'às' {{time}}\",\n long: \"{{date}} 'às' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n var weekday = date.getUTCDay();\n var last = weekday === 0 || weekday === 6 ? 'último' : 'última';\n return \"'\" + last + \"' eeee 'às' p\";\n },\n yesterday: \"'ontem às' p\",\n today: \"'hoje às' p\",\n tomorrow: \"'amanhã às' p\",\n nextWeek: \"eeee 'às' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'mai puțin de o secundă',\n other: 'mai puțin de {{count}} secunde'\n },\n xSeconds: {\n one: '1 secundă',\n other: '{{count}} secunde'\n },\n halfAMinute: 'jumătate de minut',\n lessThanXMinutes: {\n one: 'mai puțin de un minut',\n other: 'mai puțin de {{count}} minute'\n },\n xMinutes: {\n one: '1 minut',\n other: '{{count}} minute'\n },\n aboutXHours: {\n one: 'circa 1 oră',\n other: 'circa {{count}} ore'\n },\n xHours: {\n one: '1 oră',\n other: '{{count}} ore'\n },\n xDays: {\n one: '1 zi',\n other: '{{count}} zile'\n },\n aboutXWeeks: {\n one: 'circa o săptămână',\n other: 'circa {{count}} săptămâni'\n },\n xWeeks: {\n one: '1 săptămână',\n other: '{{count}} săptămâni'\n },\n aboutXMonths: {\n one: 'circa 1 lună',\n other: 'circa {{count}} luni'\n },\n xMonths: {\n one: '1 lună',\n other: '{{count}} luni'\n },\n aboutXYears: {\n one: 'circa 1 an',\n other: 'circa {{count}} ani'\n },\n xYears: {\n one: '1 an',\n other: '{{count}} ani'\n },\n overXYears: {\n one: 'peste 1 an',\n other: 'peste {{count}} ani'\n },\n almostXYears: {\n one: 'aproape 1 an',\n other: 'aproape {{count}} ani'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'în ' + result;\n } else {\n return result + ' în urmă';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['AC', 'DC'],\n abbreviated: ['AC', 'DC'],\n wide: ['antes de cristo', 'depois de cristo']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],\n wide: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro']\n};\nvar dayValues = {\n narrow: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],\n short: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab'],\n abbreviated: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n wide: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'manhã',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noite'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'manhã',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noite'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'manhã',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noite'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'da manhã',\n afternoon: 'da tarde',\n evening: 'da tarde',\n night: 'da noite'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'da manhã',\n afternoon: 'da tarde',\n evening: 'da tarde',\n night: 'da noite'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'meia-noite',\n noon: 'meio-dia',\n morning: 'da manhã',\n afternoon: 'da tarde',\n evening: 'da tarde',\n night: 'da noite'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n\n if ((options === null || options === void 0 ? void 0 : options.unit) === 'week') {\n return number + 'ª';\n }\n\n return number + 'º';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|depois de cristo)/i\n};\nvar parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^antes de cristo/i, /^depois de cristo/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmajsond]/i,\n abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^fev/i, /^mar/i, /^abr/i, /^mai/i, /^jun/i, /^jul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dez/i]\n};\nvar matchDayPatterns = {\n narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n short: /^(dom|[23456]ª?|s[aá]b)/i,\n abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i\n};\nvar parseDayPatterns = {\n short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn|^meia[-\\s]noite/i,\n noon: /^md|^meio[-\\s]dia/i,\n morning: /manhã/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noite/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d MMMM yyyy',\n long: 'd MMMM yyyy',\n medium: 'd MMM yyyy',\n short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'la' {{time}}\",\n long: \"{{date}} 'la' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'trecută la' p\",\n yesterday: \"'ieri la' p\",\n today: \"'astăzi la' p\",\n tomorrow: \"'mâine la' p\",\n nextWeek: \"eeee 'viitoare la' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['Î', 'D'],\n abbreviated: ['Î.d.C.', 'D.C.'],\n wide: ['Înainte de Cristos', 'După Cristos']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['primul trimestru', 'al doilea trimestru', 'al treilea trimestru', 'al patrulea trimestru']\n};\nvar monthValues = {\n narrow: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['ian', 'feb', 'mar', 'apr', 'mai', 'iun', 'iul', 'aug', 'sep', 'oct', 'noi', 'dec'],\n wide: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie']\n};\nvar dayValues = {\n narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],\n short: ['du', 'lu', 'ma', 'mi', 'jo', 'vi', 'sâ'],\n abbreviated: ['dum', 'lun', 'mar', 'mie', 'joi', 'vin', 'sâm'],\n wide: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'ami',\n morning: 'dim',\n afternoon: 'da',\n evening: 's',\n night: 'n'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'miezul nopții',\n noon: 'amiază',\n morning: 'dimineață',\n afternoon: 'după-amiază',\n evening: 'seară',\n night: 'noapte'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'miezul nopții',\n noon: 'amiază',\n morning: 'dimineață',\n afternoon: 'după-amiază',\n evening: 'seară',\n night: 'noapte'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'amiază',\n morning: 'dimineață',\n afternoon: 'după-amiază',\n evening: 'seară',\n night: 'noapte'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'miezul nopții',\n noon: 'amiază',\n morning: 'dimineață',\n afternoon: 'după-amiază',\n evening: 'seară',\n night: 'noapte'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'miezul nopții',\n noon: 'amiază',\n morning: 'dimineață',\n afternoon: 'după-amiază',\n evening: 'seară',\n night: 'noapte'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(Î|D)/i,\n abbreviated: /^(Î\\.?\\s?d\\.?\\s?C\\.?|Î\\.?\\s?e\\.?\\s?n\\.?|D\\.?\\s?C\\.?|e\\.?\\s?n\\.?)/i,\n wide: /^(Înainte de Cristos|Înaintea erei noastre|După Cristos|Era noastră)/i\n};\nvar parseEraPatterns = {\n any: [/^ÎC/i, /^DC/i],\n wide: [/^(Înainte de Cristos|Înaintea erei noastre)/i, /^(După Cristos|Era noastră)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^trimestrul [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[ifmaasond]/i,\n abbreviated: /^(ian|feb|mar|apr|mai|iun|iul|aug|sep|oct|noi|dec)/i,\n wide: /^(ianuarie|februarie|martie|aprilie|mai|iunie|iulie|august|septembrie|octombrie|noiembrie|decembrie)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^i/i, /^f/i, /^m/i, /^a/i, /^m/i, /^i/i, /^i/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ia/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^iun/i, /^iul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmjvs]/i,\n short: /^(d|l|ma|mi|j|v|s)/i,\n abbreviated: /^(dum|lun|mar|mie|jo|vi|sâ)/i,\n wide: /^(duminica|luni|marţi|miercuri|joi|vineri|sâmbătă)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^d/i, /^l/i, /^ma/i, /^mi/i, /^j/i, /^v/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|a|(dimineaţa|după-amiaza|seara|noaptea))/i,\n any: /^([ap]\\.?\\s?m\\.?|miezul nopții|amiaza|(dimineaţa|după-amiaza|seara|noaptea))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /amiaza/i,\n morning: /dimineaţa/i,\n afternoon: /după-amiaza/i,\n evening: /seara/i,\n night: /noaptea/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n var rem10 = count % 10;\n var rem100 = count % 100; // 1, 21, 31, ...\n\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace('{{count}}', String(count)); // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace('{{count}}', String(count)); // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace('{{count}}', String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return function (count, options) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return 'через ' + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + ' назад';\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: 'меньше секунды',\n singularNominative: 'меньше {{count}} секунды',\n singularGenitive: 'меньше {{count}} секунд',\n pluralGenitive: 'меньше {{count}} секунд'\n },\n future: {\n one: 'меньше, чем через секунду',\n singularNominative: 'меньше, чем через {{count}} секунду',\n singularGenitive: 'меньше, чем через {{count}} секунды',\n pluralGenitive: 'меньше, чем через {{count}} секунд'\n }\n }),\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} секунда',\n singularGenitive: '{{count}} секунды',\n pluralGenitive: '{{count}} секунд'\n },\n past: {\n singularNominative: '{{count}} секунду назад',\n singularGenitive: '{{count}} секунды назад',\n pluralGenitive: '{{count}} секунд назад'\n },\n future: {\n singularNominative: 'через {{count}} секунду',\n singularGenitive: 'через {{count}} секунды',\n pluralGenitive: 'через {{count}} секунд'\n }\n }),\n halfAMinute: function halfAMinute(_count, options) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'через полминуты';\n } else {\n return 'полминуты назад';\n }\n }\n\n return 'полминуты';\n },\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: 'меньше минуты',\n singularNominative: 'меньше {{count}} минуты',\n singularGenitive: 'меньше {{count}} минут',\n pluralGenitive: 'меньше {{count}} минут'\n },\n future: {\n one: 'меньше, чем через минуту',\n singularNominative: 'меньше, чем через {{count}} минуту',\n singularGenitive: 'меньше, чем через {{count}} минуты',\n pluralGenitive: 'меньше, чем через {{count}} минут'\n }\n }),\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} минута',\n singularGenitive: '{{count}} минуты',\n pluralGenitive: '{{count}} минут'\n },\n past: {\n singularNominative: '{{count}} минуту назад',\n singularGenitive: '{{count}} минуты назад',\n pluralGenitive: '{{count}} минут назад'\n },\n future: {\n singularNominative: 'через {{count}} минуту',\n singularGenitive: 'через {{count}} минуты',\n pluralGenitive: 'через {{count}} минут'\n }\n }),\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'около {{count}} часа',\n singularGenitive: 'около {{count}} часов',\n pluralGenitive: 'около {{count}} часов'\n },\n future: {\n singularNominative: 'приблизительно через {{count}} час',\n singularGenitive: 'приблизительно через {{count}} часа',\n pluralGenitive: 'приблизительно через {{count}} часов'\n }\n }),\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} час',\n singularGenitive: '{{count}} часа',\n pluralGenitive: '{{count}} часов'\n }\n }),\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} день',\n singularGenitive: '{{count}} дня',\n pluralGenitive: '{{count}} дней'\n }\n }),\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'около {{count}} недели',\n singularGenitive: 'около {{count}} недель',\n pluralGenitive: 'около {{count}} недель'\n },\n future: {\n singularNominative: 'приблизительно через {{count}} неделю',\n singularGenitive: 'приблизительно через {{count}} недели',\n pluralGenitive: 'приблизительно через {{count}} недель'\n }\n }),\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} неделя',\n singularGenitive: '{{count}} недели',\n pluralGenitive: '{{count}} недель'\n }\n }),\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'около {{count}} месяца',\n singularGenitive: 'около {{count}} месяцев',\n pluralGenitive: 'около {{count}} месяцев'\n },\n future: {\n singularNominative: 'приблизительно через {{count}} месяц',\n singularGenitive: 'приблизительно через {{count}} месяца',\n pluralGenitive: 'приблизительно через {{count}} месяцев'\n }\n }),\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} месяц',\n singularGenitive: '{{count}} месяца',\n pluralGenitive: '{{count}} месяцев'\n }\n }),\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'около {{count}} года',\n singularGenitive: 'около {{count}} лет',\n pluralGenitive: 'около {{count}} лет'\n },\n future: {\n singularNominative: 'приблизительно через {{count}} год',\n singularGenitive: 'приблизительно через {{count}} года',\n pluralGenitive: 'приблизительно через {{count}} лет'\n }\n }),\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} год',\n singularGenitive: '{{count}} года',\n pluralGenitive: '{{count}} лет'\n }\n }),\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'больше {{count}} года',\n singularGenitive: 'больше {{count}} лет',\n pluralGenitive: 'больше {{count}} лет'\n },\n future: {\n singularNominative: 'больше, чем через {{count}} год',\n singularGenitive: 'больше, чем через {{count}} года',\n pluralGenitive: 'больше, чем через {{count}} лет'\n }\n }),\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'почти {{count}} год',\n singularGenitive: 'почти {{count}} года',\n pluralGenitive: 'почти {{count}} лет'\n },\n future: {\n singularNominative: 'почти через {{count}} год',\n singularGenitive: 'почти через {{count}} года',\n pluralGenitive: 'почти через {{count}} лет'\n }\n })\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n return formatDistanceLocale[token](count, options);\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['воскресенье', 'понедельник', 'вторник', 'среду', 'четверг', 'пятницу', 'субботу'];\n\nfunction _lastWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в прошлое \" + weekday + \" в' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'в прошлый \" + weekday + \" в' p\";\n\n case 3:\n case 5:\n case 6:\n return \"'в прошлую \" + weekday + \" в' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n if (day === 2\n /* Tue */\n ) {\n return \"'во \" + weekday + \" в' p\";\n } else {\n return \"'в \" + weekday + \" в' p\";\n }\n}\n\nfunction _nextWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в следующее \" + weekday + \" в' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'в следующий \" + weekday + \" в' p\";\n\n case 3:\n case 5:\n case 6:\n return \"'в следующую \" + weekday + \" в' p\";\n }\n}\n\nvar formatRelativeLocale = {\n lastWeek: function lastWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _lastWeek(day);\n }\n },\n yesterday: \"'вчера в' p\",\n today: \"'сегодня в' p\",\n tomorrow: \"'завтра в' p\",\n nextWeek: function nextWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _nextWeek(day);\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'ru',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['до н.э.', 'н.э.'],\n abbreviated: ['до н. э.', 'н. э.'],\n wide: ['до нашей эры', 'нашей эры']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'],\n wide: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал']\n};\nvar monthValues = {\n narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n abbreviated: ['янв.', 'фев.', 'март', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],\n wide: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']\n};\nvar formattingMonthValues = {\n narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n abbreviated: ['янв.', 'фев.', 'мар.', 'апр.', 'мая', 'июн.', 'июл.', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],\n wide: ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']\n};\nvar dayValues = {\n narrow: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n short: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n abbreviated: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'суб'],\n wide: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'полн.',\n noon: 'полд.',\n morning: 'утро',\n afternoon: 'день',\n evening: 'веч.',\n night: 'ночь'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'полн.',\n noon: 'полд.',\n morning: 'утро',\n afternoon: 'день',\n evening: 'веч.',\n night: 'ночь'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'полночь',\n noon: 'полдень',\n morning: 'утро',\n afternoon: 'день',\n evening: 'вечер',\n night: 'ночь'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'полн.',\n noon: 'полд.',\n morning: 'утра',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночи'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'полн.',\n noon: 'полд.',\n morning: 'утра',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночи'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'полночь',\n noon: 'полдень',\n morning: 'утра',\n afternoon: 'дня',\n evening: 'вечера',\n night: 'ночи'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n var suffix;\n\n if (unit === 'date') {\n suffix = '-е';\n } else if (unit === 'week' || unit === 'minute' || unit === 'second') {\n suffix = '-я';\n } else {\n suffix = '-й';\n }\n\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'any',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n wide: /^(до нашей эры|нашей эры|наша эра)/i\n};\nvar parseEraPatterns = {\n any: [/^д/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n wide: /^[1234](-?[ыои]?й?)? квартал/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[яфмаисонд]/i,\n abbreviated: /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i\n};\nvar parseMonthPatterns = {\n narrow: [/^я/i, /^ф/i, /^м/i, /^а/i, /^м/i, /^и/i, /^и/i, /^а/i, /^с/i, /^о/i, /^н/i, /^я/i],\n any: [/^я/i, /^ф/i, /^мар/i, /^ап/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^ав/i, /^с/i, /^о/i, /^н/i, /^д/i]\n};\nvar matchDayPatterns = {\n narrow: /^[впсч]/i,\n short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i\n};\nvar parseDayPatterns = {\n narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^полн/i,\n noon: /^полд/i,\n morning: /^у/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function declensionGroup(scheme, count) {\n if (count === 1 && scheme.one) {\n return scheme.one;\n }\n\n if (count >= 2 && count <= 4 && scheme.twoFour) {\n return scheme.twoFour;\n } // if count === null || count === 0 || count >= 5\n\n\n return scheme.other;\n}\n\nfunction declension(scheme, count, time) {\n var group = declensionGroup(scheme, count);\n var finalText = group[time];\n return finalText.replace('{{count}}', String(count));\n}\n\nfunction extractPreposition(token) {\n var result = ['lessThan', 'about', 'over', 'almost'].filter(function (preposition) {\n return !!token.match(new RegExp('^' + preposition));\n });\n return result[0];\n}\n\nfunction prefixPreposition(preposition) {\n var translation = '';\n\n if (preposition === 'almost') {\n translation = 'takmer';\n }\n\n if (preposition === 'about') {\n translation = 'približne';\n }\n\n return translation.length > 0 ? translation + ' ' : '';\n}\n\nfunction suffixPreposition(preposition) {\n var translation = '';\n\n if (preposition === 'lessThan') {\n translation = 'menej než';\n }\n\n if (preposition === 'over') {\n translation = 'viac než';\n }\n\n return translation.length > 0 ? translation + ' ' : '';\n}\n\nfunction lowercaseFirstLetter(string) {\n return string.charAt(0).toLowerCase() + string.slice(1);\n}\n\nvar formatDistanceLocale = {\n xSeconds: {\n one: {\n present: 'sekunda',\n past: 'sekundou',\n future: 'sekundu'\n },\n twoFour: {\n present: '{{count}} sekundy',\n past: '{{count}} sekundami',\n future: '{{count}} sekundy'\n },\n other: {\n present: '{{count}} sekúnd',\n past: '{{count}} sekundami',\n future: '{{count}} sekúnd'\n }\n },\n halfAMinute: {\n other: {\n present: 'pol minúty',\n past: 'pol minútou',\n future: 'pol minúty'\n }\n },\n xMinutes: {\n one: {\n present: 'minúta',\n past: 'minútou',\n future: 'minútu'\n },\n twoFour: {\n present: '{{count}} minúty',\n past: '{{count}} minútami',\n future: '{{count}} minúty'\n },\n other: {\n present: '{{count}} minút',\n past: '{{count}} minútami',\n future: '{{count}} minút'\n }\n },\n xHours: {\n one: {\n present: 'hodina',\n past: 'hodinou',\n future: 'hodinu'\n },\n twoFour: {\n present: '{{count}} hodiny',\n past: '{{count}} hodinami',\n future: '{{count}} hodiny'\n },\n other: {\n present: '{{count}} hodín',\n past: '{{count}} hodinami',\n future: '{{count}} hodín'\n }\n },\n xDays: {\n one: {\n present: 'deň',\n past: 'dňom',\n future: 'deň'\n },\n twoFour: {\n present: '{{count}} dni',\n past: '{{count}} dňami',\n future: '{{count}} dni'\n },\n other: {\n present: '{{count}} dní',\n past: '{{count}} dňami',\n future: '{{count}} dní'\n }\n },\n xWeeks: {\n one: {\n present: 'týždeň',\n past: 'týždňom',\n future: 'týždeň'\n },\n twoFour: {\n present: '{{count}} týždne',\n past: '{{count}} týždňami',\n future: '{{count}} týždne'\n },\n other: {\n present: '{{count}} týždňov',\n past: '{{count}} týždňami',\n future: '{{count}} týždňov'\n }\n },\n xMonths: {\n one: {\n present: 'mesiac',\n past: 'mesiacom',\n future: 'mesiac'\n },\n twoFour: {\n present: '{{count}} mesiace',\n past: '{{count}} mesiacmi',\n future: '{{count}} mesiace'\n },\n other: {\n present: '{{count}} mesiacov',\n past: '{{count}} mesiacmi',\n future: '{{count}} mesiacov'\n }\n },\n xYears: {\n one: {\n present: 'rok',\n past: 'rokom',\n future: 'rok'\n },\n twoFour: {\n present: '{{count}} roky',\n past: '{{count}} rokmi',\n future: '{{count}} roky'\n },\n other: {\n present: '{{count}} rokov',\n past: '{{count}} rokmi',\n future: '{{count}} rokov'\n }\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var preposition = extractPreposition(token) || '';\n var key = lowercaseFirstLetter(token.substring(preposition.length));\n var scheme = formatDistanceLocale[key];\n\n if (!(options !== null && options !== void 0 && options.addSuffix)) {\n return prefixPreposition(preposition) + suffixPreposition(preposition) + declension(scheme, count, 'present');\n }\n\n if (options.comparison && options.comparison > 0) {\n return prefixPreposition(preposition) + 'o ' + suffixPreposition(preposition) + declension(scheme, count, 'future');\n } else {\n return prefixPreposition(preposition) + 'pred ' + suffixPreposition(preposition) + declension(scheme, count, 'past');\n }\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\"; // https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1986\n\nvar dateFormats = {\n full: 'EEEE d. MMMM y',\n long: 'd. MMMM y',\n medium: 'd. M. y',\n short: 'd. M. y'\n}; // https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#2149\n\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n}; // https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1994\n\nvar dateTimeFormats = {\n full: '{{date}}, {{time}}',\n long: '{{date}}, {{time}}',\n medium: '{{date}}, {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\n// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1308\nvar accusativeWeekdays = ['nedeľu', 'pondelok', 'utorok', 'stredu', 'štvrtok', 'piatok', 'sobotu'];\n\nfunction _lastWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n /* Sun */\n\n case 3:\n /* Wed */\n\n case 6\n /* Sat */\n :\n return \"'minulú \" + weekday + \" o' p\";\n\n default:\n return \"'minulý' eeee 'o' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n if (day === 4\n /* Thu */\n ) {\n return \"'vo' eeee 'o' p\";\n } else {\n return \"'v \" + weekday + \" o' p\";\n }\n}\n\nfunction _nextWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n /* Sun */\n\n case 4:\n /* Wed */\n\n case 6\n /* Sat */\n :\n return \"'budúcu \" + weekday + \" o' p\";\n\n default:\n return \"'budúci' eeee 'o' p\";\n }\n}\n\nvar formatRelativeLocale = {\n lastWeek: function lastWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _lastWeek(day);\n }\n },\n yesterday: \"'včera o' p\",\n today: \"'dnes o' p\",\n tomorrow: \"'zajtra o' p\",\n nextWeek: function nextWeek(date, baseDate, options) {\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return _nextWeek(day);\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // https://www.unicode.org/cldr/charts/32/summary/sk.html#1772\n\nvar eraValues = {\n narrow: ['pred Kr.', 'po Kr.'],\n abbreviated: ['pred Kr.', 'po Kr.'],\n wide: ['pred Kristom', 'po Kristovi']\n}; // https://www.unicode.org/cldr/charts/32/summary/sk.html#1780\n\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. štvrťrok', '2. štvrťrok', '3. štvrťrok', '4. štvrťrok']\n}; // https://www.unicode.org/cldr/charts/32/summary/sk.html#1804\n\nvar monthValues = {\n narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec'],\n wide: ['január', 'február', 'marec', 'apríl', 'máj', 'jún', 'júl', 'august', 'september', 'október', 'november', 'december']\n};\nvar formattingMonthValues = {\n narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec'],\n wide: ['januára', 'februára', 'marca', 'apríla', 'mája', 'júna', 'júla', 'augusta', 'septembra', 'októbra', 'novembra', 'decembra']\n}; // https://www.unicode.org/cldr/charts/32/summary/sk.html#1876\n\nvar dayValues = {\n narrow: ['n', 'p', 'u', 's', 'š', 'p', 's'],\n short: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],\n abbreviated: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],\n wide: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota']\n}; // https://www.unicode.org/cldr/charts/32/summary/sk.html#1932\n\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'poln.',\n noon: 'pol.',\n morning: 'ráno',\n afternoon: 'pop.',\n evening: 'več.',\n night: 'noc'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'poln.',\n noon: 'pol.',\n morning: 'ráno',\n afternoon: 'popol.',\n evening: 'večer',\n night: 'noc'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'polnoc',\n noon: 'poludnie',\n morning: 'ráno',\n afternoon: 'popoludnie',\n evening: 'večer',\n night: 'noc'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'o poln.',\n noon: 'nap.',\n morning: 'ráno',\n afternoon: 'pop.',\n evening: 'več.',\n night: 'v n.'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'o poln.',\n noon: 'napol.',\n morning: 'ráno',\n afternoon: 'popol.',\n evening: 'večer',\n night: 'v noci'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'o polnoci',\n noon: 'napoludnie',\n morning: 'ráno',\n afternoon: 'popoludní',\n evening: 'večer',\n night: 'v noci'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(pred Kr\\.|pred n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n abbreviated: /^(pred Kr\\.|pred n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n wide: /^(pred Kristom|pred na[šs][íi]m letopo[čc]tom|po Kristovi|n[áa][šs]ho letopo[čc]tu)/i\n};\nvar parseEraPatterns = {\n any: [/^pr/i, /^(po|n)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234]\\. [šs]tvr[ťt]rok/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|m[áa]j|j[úu]n|j[úu]l|aug|sep|okt|nov|dec)/i,\n wide: /^(janu[áa]ra?|febru[áa]ra?|(marec|marca)|apr[íi]la?|m[áa]ja?|j[úu]na?|j[úu]la?|augusta?|(september|septembra)|(okt[óo]ber|okt[óo]bra)|(november|novembra)|(december|decembra))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^m[áa]j/i, /^j[úu]n/i, /^j[úu]l/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[npusšp]/i,\n short: /^(ne|po|ut|st|št|pi|so)/i,\n abbreviated: /^(ne|po|ut|st|št|pi|so)/i,\n wide: /^(nede[ľl]a|pondelok|utorok|streda|[šs]tvrtok|piatok|sobota])/i\n};\nvar parseDayPatterns = {\n narrow: [/^n/i, /^p/i, /^u/i, /^s/i, /^š/i, /^p/i, /^s/i],\n any: [/^n/i, /^po/i, /^u/i, /^st/i, /^(št|stv)/i, /^pi/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(am|pm|(o )?poln\\.?|(nap\\.?|pol\\.?)|r[áa]no|pop\\.?|ve[čc]\\.?|(v n\\.?|noc))/i,\n abbreviated: /^(am|pm|(o )?poln\\.?|(napol\\.?|pol\\.?)|r[áa]no|pop\\.?|ve[čc]er|(v )?noci?)/i,\n any: /^(am|pm|(o )?polnoci?|(na)?poludnie|r[áa]no|popoludn(ie|í|i)|ve[čc]er|(v )?noci?)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^am/i,\n pm: /^pm/i,\n midnight: /poln/i,\n noon: /^(nap|(na)?pol(\\.|u))/i,\n morning: /^r[áa]no/i,\n afternoon: /^pop/i,\n evening: /^ve[čc]/i,\n night: /^(noc|v n\\.)/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function isPluralType(val) {\n return val.one !== undefined;\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n present: {\n one: 'manj kot {{count}} sekunda',\n two: 'manj kot {{count}} sekundi',\n few: 'manj kot {{count}} sekunde',\n other: 'manj kot {{count}} sekund'\n },\n past: {\n one: 'manj kot {{count}} sekundo',\n two: 'manj kot {{count}} sekundama',\n few: 'manj kot {{count}} sekundami',\n other: 'manj kot {{count}} sekundami'\n },\n future: {\n one: 'manj kot {{count}} sekundo',\n two: 'manj kot {{count}} sekundi',\n few: 'manj kot {{count}} sekunde',\n other: 'manj kot {{count}} sekund'\n }\n },\n xSeconds: {\n present: {\n one: '{{count}} sekunda',\n two: '{{count}} sekundi',\n few: '{{count}} sekunde',\n other: '{{count}} sekund'\n },\n past: {\n one: '{{count}} sekundo',\n two: '{{count}} sekundama',\n few: '{{count}} sekundami',\n other: '{{count}} sekundami'\n },\n future: {\n one: '{{count}} sekundo',\n two: '{{count}} sekundi',\n few: '{{count}} sekunde',\n other: '{{count}} sekund'\n }\n },\n halfAMinute: 'pol minute',\n lessThanXMinutes: {\n present: {\n one: 'manj kot {{count}} minuta',\n two: 'manj kot {{count}} minuti',\n few: 'manj kot {{count}} minute',\n other: 'manj kot {{count}} minut'\n },\n past: {\n one: 'manj kot {{count}} minuto',\n two: 'manj kot {{count}} minutama',\n few: 'manj kot {{count}} minutami',\n other: 'manj kot {{count}} minutami'\n },\n future: {\n one: 'manj kot {{count}} minuto',\n two: 'manj kot {{count}} minuti',\n few: 'manj kot {{count}} minute',\n other: 'manj kot {{count}} minut'\n }\n },\n xMinutes: {\n present: {\n one: '{{count}} minuta',\n two: '{{count}} minuti',\n few: '{{count}} minute',\n other: '{{count}} minut'\n },\n past: {\n one: '{{count}} minuto',\n two: '{{count}} minutama',\n few: '{{count}} minutami',\n other: '{{count}} minutami'\n },\n future: {\n one: '{{count}} minuto',\n two: '{{count}} minuti',\n few: '{{count}} minute',\n other: '{{count}} minut'\n }\n },\n aboutXHours: {\n present: {\n one: 'približno {{count}} ura',\n two: 'približno {{count}} uri',\n few: 'približno {{count}} ure',\n other: 'približno {{count}} ur'\n },\n past: {\n one: 'približno {{count}} uro',\n two: 'približno {{count}} urama',\n few: 'približno {{count}} urami',\n other: 'približno {{count}} urami'\n },\n future: {\n one: 'približno {{count}} uro',\n two: 'približno {{count}} uri',\n few: 'približno {{count}} ure',\n other: 'približno {{count}} ur'\n }\n },\n xHours: {\n present: {\n one: '{{count}} ura',\n two: '{{count}} uri',\n few: '{{count}} ure',\n other: '{{count}} ur'\n },\n past: {\n one: '{{count}} uro',\n two: '{{count}} urama',\n few: '{{count}} urami',\n other: '{{count}} urami'\n },\n future: {\n one: '{{count}} uro',\n two: '{{count}} uri',\n few: '{{count}} ure',\n other: '{{count}} ur'\n }\n },\n xDays: {\n present: {\n one: '{{count}} dan',\n two: '{{count}} dni',\n few: '{{count}} dni',\n other: '{{count}} dni'\n },\n past: {\n one: '{{count}} dnem',\n two: '{{count}} dnevoma',\n few: '{{count}} dnevi',\n other: '{{count}} dnevi'\n },\n future: {\n one: '{{count}} dan',\n two: '{{count}} dni',\n few: '{{count}} dni',\n other: '{{count}} dni'\n }\n },\n // no tenses for weeks?\n aboutXWeeks: {\n one: 'približno {{count}} teden',\n two: 'približno {{count}} tedna',\n few: 'približno {{count}} tedne',\n other: 'približno {{count}} tednov'\n },\n // no tenses for weeks?\n xWeeks: {\n one: '{{count}} teden',\n two: '{{count}} tedna',\n few: '{{count}} tedne',\n other: '{{count}} tednov'\n },\n aboutXMonths: {\n present: {\n one: 'približno {{count}} mesec',\n two: 'približno {{count}} meseca',\n few: 'približno {{count}} mesece',\n other: 'približno {{count}} mesecev'\n },\n past: {\n one: 'približno {{count}} mesecem',\n two: 'približno {{count}} mesecema',\n few: 'približno {{count}} meseci',\n other: 'približno {{count}} meseci'\n },\n future: {\n one: 'približno {{count}} mesec',\n two: 'približno {{count}} meseca',\n few: 'približno {{count}} mesece',\n other: 'približno {{count}} mesecev'\n }\n },\n xMonths: {\n present: {\n one: '{{count}} mesec',\n two: '{{count}} meseca',\n few: '{{count}} meseci',\n other: '{{count}} mesecev'\n },\n past: {\n one: '{{count}} mesecem',\n two: '{{count}} mesecema',\n few: '{{count}} meseci',\n other: '{{count}} meseci'\n },\n future: {\n one: '{{count}} mesec',\n two: '{{count}} meseca',\n few: '{{count}} mesece',\n other: '{{count}} mesecev'\n }\n },\n aboutXYears: {\n present: {\n one: 'približno {{count}} leto',\n two: 'približno {{count}} leti',\n few: 'približno {{count}} leta',\n other: 'približno {{count}} let'\n },\n past: {\n one: 'približno {{count}} letom',\n two: 'približno {{count}} letoma',\n few: 'približno {{count}} leti',\n other: 'približno {{count}} leti'\n },\n future: {\n one: 'približno {{count}} leto',\n two: 'približno {{count}} leti',\n few: 'približno {{count}} leta',\n other: 'približno {{count}} let'\n }\n },\n xYears: {\n present: {\n one: '{{count}} leto',\n two: '{{count}} leti',\n few: '{{count}} leta',\n other: '{{count}} let'\n },\n past: {\n one: '{{count}} letom',\n two: '{{count}} letoma',\n few: '{{count}} leti',\n other: '{{count}} leti'\n },\n future: {\n one: '{{count}} leto',\n two: '{{count}} leti',\n few: '{{count}} leta',\n other: '{{count}} let'\n }\n },\n overXYears: {\n present: {\n one: 'več kot {{count}} leto',\n two: 'več kot {{count}} leti',\n few: 'več kot {{count}} leta',\n other: 'več kot {{count}} let'\n },\n past: {\n one: 'več kot {{count}} letom',\n two: 'več kot {{count}} letoma',\n few: 'več kot {{count}} leti',\n other: 'več kot {{count}} leti'\n },\n future: {\n one: 'več kot {{count}} leto',\n two: 'več kot {{count}} leti',\n few: 'več kot {{count}} leta',\n other: 'več kot {{count}} let'\n }\n },\n almostXYears: {\n present: {\n one: 'skoraj {{count}} leto',\n two: 'skoraj {{count}} leti',\n few: 'skoraj {{count}} leta',\n other: 'skoraj {{count}} let'\n },\n past: {\n one: 'skoraj {{count}} letom',\n two: 'skoraj {{count}} letoma',\n few: 'skoraj {{count}} leti',\n other: 'skoraj {{count}} leti'\n },\n future: {\n one: 'skoraj {{count}} leto',\n two: 'skoraj {{count}} leti',\n few: 'skoraj {{count}} leta',\n other: 'skoraj {{count}} let'\n }\n }\n};\n\nfunction getFormFromCount(count) {\n switch (count % 100) {\n case 1:\n return 'one';\n\n case 2:\n return 'two';\n\n case 3:\n case 4:\n return 'few';\n\n default:\n return 'other';\n }\n}\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result = '';\n var tense = 'present';\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n tense = 'future';\n result = 'čez ';\n } else {\n tense = 'past';\n result = 'pred ';\n }\n }\n\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result += tokenValue;\n } else {\n var form = getFormFromCount(count);\n\n if (isPluralType(tokenValue)) {\n result += tokenValue[form].replace('{{count}}', String(count));\n } else {\n result += tokenValue[tense][form].replace('{{count}}', String(count));\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, dd. MMMM y',\n long: 'dd. MMMM y',\n medium: 'd. MMM y',\n short: 'd. MM. yy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n var day = date.getUTCDay();\n\n switch (day) {\n case 0:\n return \"'prejšnjo nedeljo ob' p\";\n\n case 3:\n return \"'prejšnjo sredo ob' p\";\n\n case 6:\n return \"'prejšnjo soboto ob' p\";\n\n default:\n return \"'prejšnji' EEEE 'ob' p\";\n }\n },\n yesterday: \"'včeraj ob' p\",\n today: \"'danes ob' p\",\n tomorrow: \"'jutri ob' p\",\n nextWeek: function nextWeek(date) {\n var day = date.getUTCDay();\n\n switch (day) {\n case 0:\n return \"'naslednjo nedeljo ob' p\";\n\n case 3:\n return \"'naslednjo sredo ob' p\";\n\n case 6:\n return \"'naslednjo soboto ob' p\";\n\n default:\n return \"'naslednji' EEEE 'ob' p\";\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'më pak se një sekondë',\n other: 'më pak se {{count}} sekonda'\n },\n xSeconds: {\n one: '1 sekondë',\n other: '{{count}} sekonda'\n },\n halfAMinute: 'gjysëm minuti',\n lessThanXMinutes: {\n one: 'më pak se një minute',\n other: 'më pak se {{count}} minuta'\n },\n xMinutes: {\n one: '1 minutë',\n other: '{{count}} minuta'\n },\n aboutXHours: {\n one: 'rreth 1 orë',\n other: 'rreth {{count}} orë'\n },\n xHours: {\n one: '1 orë',\n other: '{{count}} orë'\n },\n xDays: {\n one: '1 ditë',\n other: '{{count}} ditë'\n },\n aboutXWeeks: {\n one: 'rreth 1 javë',\n other: 'rreth {{count}} javë'\n },\n xWeeks: {\n one: '1 javë',\n other: '{{count}} javë'\n },\n aboutXMonths: {\n one: 'rreth 1 muaj',\n other: 'rreth {{count}} muaj'\n },\n xMonths: {\n one: '1 muaj',\n other: '{{count}} muaj'\n },\n aboutXYears: {\n one: 'rreth 1 vit',\n other: 'rreth {{count}} vite'\n },\n xYears: {\n one: '1 vit',\n other: '{{count}} vite'\n },\n overXYears: {\n one: 'mbi 1 vit',\n other: 'mbi {{count}} vite'\n },\n almostXYears: {\n one: 'pothuajse 1 vit',\n other: 'pothuajse {{count}} vite'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'në ' + result;\n } else {\n return result + ' më parë';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['pr. n. št.', 'po n. št.'],\n abbreviated: ['pr. n. št.', 'po n. št.'],\n wide: ['pred našim štetjem', 'po našem štetju']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1. čet.', '2. čet.', '3. čet.', '4. čet.'],\n wide: ['1. četrtletje', '2. četrtletje', '3. četrtletje', '4. četrtletje']\n};\nvar monthValues = {\n narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'],\n wide: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december']\n};\nvar dayValues = {\n narrow: ['n', 'p', 't', 's', 'č', 'p', 's'],\n short: ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.', 'sob.'],\n abbreviated: ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.', 'sob.'],\n wide: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'd',\n pm: 'p',\n midnight: '24.00',\n noon: '12.00',\n morning: 'j',\n afternoon: 'p',\n evening: 'v',\n night: 'n'\n },\n abbreviated: {\n am: 'dop.',\n pm: 'pop.',\n midnight: 'poln.',\n noon: 'pold.',\n morning: 'jut.',\n afternoon: 'pop.',\n evening: 'več.',\n night: 'noč'\n },\n wide: {\n am: 'dop.',\n pm: 'pop.',\n midnight: 'polnoč',\n noon: 'poldne',\n morning: 'jutro',\n afternoon: 'popoldne',\n evening: 'večer',\n night: 'noč'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'd',\n pm: 'p',\n midnight: '24.00',\n noon: '12.00',\n morning: 'zj',\n afternoon: 'p',\n evening: 'zv',\n night: 'po'\n },\n abbreviated: {\n am: 'dop.',\n pm: 'pop.',\n midnight: 'opoln.',\n noon: 'opold.',\n morning: 'zjut.',\n afternoon: 'pop.',\n evening: 'zveč.',\n night: 'ponoči'\n },\n wide: {\n am: 'dop.',\n pm: 'pop.',\n midnight: 'opolnoči',\n noon: 'opoldne',\n morning: 'zjutraj',\n afternoon: 'popoldan',\n evening: 'zvečer',\n night: 'ponoči'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n abbreviated: /^(pr\\. n\\. št\\.|po n\\. št\\.)/i,\n wide: /^(pred Kristusom|pred na[sš]im [sš]tetjem|po Kristusu|po na[sš]em [sš]tetju|na[sš]ega [sš]tetja)/i\n};\nvar parseEraPatterns = {\n any: [/^pr/i, /^(po|na[sš]em)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]\\.\\s?[čc]et\\.?/i,\n wide: /^[1234]\\. [čc]etrtletje/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan\\.|feb\\.|mar\\.|apr\\.|maj|jun\\.|jul\\.|avg\\.|sep\\.|okt\\.|nov\\.|dec\\.)/i,\n wide: /^(januar|februar|marec|april|maj|junij|julij|avgust|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n abbreviated: [/^ja/i, /^fe/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^av/i, /^s/i, /^o/i, /^n/i, /^d/i],\n wide: [/^ja/i, /^fe/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^av/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[nptsčc]/i,\n short: /^(ned\\.|pon\\.|tor\\.|sre\\.|[cč]et\\.|pet\\.|sob\\.)/i,\n abbreviated: /^(ned\\.|pon\\.|tor\\.|sre\\.|[cč]et\\.|pet\\.|sob\\.)/i,\n wide: /^(nedelja|ponedeljek|torek|sreda|[cč]etrtek|petek|sobota)/i\n};\nvar parseDayPatterns = {\n narrow: [/^n/i, /^p/i, /^t/i, /^s/i, /^[cč]/i, /^p/i, /^s/i],\n any: [/^n/i, /^po/i, /^t/i, /^sr/i, /^[cč]/i, /^pe/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(d|po?|z?v|n|z?j|24\\.00|12\\.00)/i,\n any: /^(dop\\.|pop\\.|o?poln(\\.|o[cč]i?)|o?pold(\\.|ne)|z?ve[cč](\\.|er)|(po)?no[cč]i?|popold(ne|an)|jut(\\.|ro)|zjut(\\.|raj))/i\n};\nvar parseDayPeriodPatterns = {\n narrow: {\n am: /^d/i,\n pm: /^p/i,\n midnight: /^24/i,\n noon: /^12/i,\n morning: /^(z?j)/i,\n afternoon: /^p/i,\n evening: /^(z?v)/i,\n night: /^(n|po)/i\n },\n any: {\n am: /^dop\\./i,\n pm: /^pop\\./i,\n midnight: /^o?poln/i,\n noon: /^o?pold/i,\n morning: /j/i,\n afternoon: /^pop\\./i,\n evening: /^z?ve/i,\n night: /(po)?no/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'wide'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'në' {{time}}\",\n long: \"{{date}} 'në' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'të' eeee 'e shkuar në' p\",\n yesterday: \"'dje në' p\",\n today: \"'sot në' p\",\n tomorrow: \"'nesër në' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: {\n standalone: 'мање од 1 секунде',\n withPrepositionAgo: 'мање од 1 секунде',\n withPrepositionIn: 'мање од 1 секунду'\n },\n dual: 'мање од {{count}} секунде',\n other: 'мање од {{count}} секунди'\n },\n xSeconds: {\n one: {\n standalone: '1 секунда',\n withPrepositionAgo: '1 секунде',\n withPrepositionIn: '1 секунду'\n },\n dual: '{{count}} секунде',\n other: '{{count}} секунди'\n },\n halfAMinute: 'пола минуте',\n lessThanXMinutes: {\n one: {\n standalone: 'мање од 1 минуте',\n withPrepositionAgo: 'мање од 1 минуте',\n withPrepositionIn: 'мање од 1 минуту'\n },\n dual: 'мање од {{count}} минуте',\n other: 'мање од {{count}} минута'\n },\n xMinutes: {\n one: {\n standalone: '1 минута',\n withPrepositionAgo: '1 минуте',\n withPrepositionIn: '1 минуту'\n },\n dual: '{{count}} минуте',\n other: '{{count}} минута'\n },\n aboutXHours: {\n one: {\n standalone: 'око 1 сат',\n withPrepositionAgo: 'око 1 сат',\n withPrepositionIn: 'око 1 сат'\n },\n dual: 'око {{count}} сата',\n other: 'око {{count}} сати'\n },\n xHours: {\n one: {\n standalone: '1 сат',\n withPrepositionAgo: '1 сат',\n withPrepositionIn: '1 сат'\n },\n dual: '{{count}} сата',\n other: '{{count}} сати'\n },\n xDays: {\n one: {\n standalone: '1 дан',\n withPrepositionAgo: '1 дан',\n withPrepositionIn: '1 дан'\n },\n dual: '{{count}} дана',\n other: '{{count}} дана'\n },\n aboutXWeeks: {\n one: {\n standalone: 'око 1 недељу',\n withPrepositionAgo: 'око 1 недељу',\n withPrepositionIn: 'око 1 недељу'\n },\n dual: 'око {{count}} недеље',\n other: 'око {{count}} недеље'\n },\n xWeeks: {\n one: {\n standalone: '1 недељу',\n withPrepositionAgo: '1 недељу',\n withPrepositionIn: '1 недељу'\n },\n dual: '{{count}} недеље',\n other: '{{count}} недеље'\n },\n aboutXMonths: {\n one: {\n standalone: 'око 1 месец',\n withPrepositionAgo: 'око 1 месец',\n withPrepositionIn: 'око 1 месец'\n },\n dual: 'око {{count}} месеца',\n other: 'око {{count}} месеци'\n },\n xMonths: {\n one: {\n standalone: '1 месец',\n withPrepositionAgo: '1 месец',\n withPrepositionIn: '1 месец'\n },\n dual: '{{count}} месеца',\n other: '{{count}} месеци'\n },\n aboutXYears: {\n one: {\n standalone: 'око 1 годину',\n withPrepositionAgo: 'око 1 годину',\n withPrepositionIn: 'око 1 годину'\n },\n dual: 'око {{count}} године',\n other: 'око {{count}} година'\n },\n xYears: {\n one: {\n standalone: '1 година',\n withPrepositionAgo: '1 године',\n withPrepositionIn: '1 годину'\n },\n dual: '{{count}} године',\n other: '{{count}} година'\n },\n overXYears: {\n one: {\n standalone: 'преко 1 годину',\n withPrepositionAgo: 'преко 1 годину',\n withPrepositionIn: 'преко 1 годину'\n },\n dual: 'преко {{count}} године',\n other: 'преко {{count}} година'\n },\n almostXYears: {\n one: {\n standalone: 'готово 1 годину',\n withPrepositionAgo: 'готово 1 годину',\n withPrepositionIn: 'готово 1 годину'\n },\n dual: 'готово {{count}} године',\n other: 'готово {{count}} година'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n result = tokenValue.one.withPrepositionIn;\n } else {\n result = tokenValue.one.withPrepositionAgo;\n }\n } else {\n result = tokenValue.one.standalone;\n }\n } else if (count % 10 > 1 && count % 10 < 5 && // if last digit is between 2 and 4\n String(count).substr(-2, 1) !== '1' // unless the 2nd to last digit is \"1\"\n ) {\n result = tokenValue.dual.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'за ' + result;\n } else {\n return 'пре ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['P', 'M'],\n abbreviated: ['PK', 'MK'],\n wide: ['Para Krishtit', 'Mbas Krishtit']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['4-mujori I', '4-mujori II', '4-mujori III', '4-mujori IV']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', 'N', 'D'],\n abbreviated: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', 'Gus', 'Sht', 'Tet', 'Nën', 'Dhj'],\n wide: ['Janar', 'Shkurt', 'Mars', 'Prill', 'Maj', 'Qershor', 'Korrik', 'Gusht', 'Shtator', 'Tetor', 'Nëntor', 'Dhjetor']\n};\nvar dayValues = {\n narrow: ['D', 'H', 'M', 'M', 'E', 'P', 'S'],\n short: ['Di', 'Hë', 'Ma', 'Më', 'En', 'Pr', 'Sh'],\n abbreviated: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'],\n wide: ['Dielë', 'Hënë', 'Martë', 'Mërkurë', 'Enjte', 'Premte', 'Shtunë']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'p',\n pm: 'm',\n midnight: 'm',\n noon: 'd',\n morning: 'mëngjes',\n afternoon: 'dite',\n evening: 'mbrëmje',\n night: 'natë'\n },\n abbreviated: {\n am: 'PD',\n pm: 'MD',\n midnight: 'mesnëtë',\n noon: 'drek',\n morning: 'mëngjes',\n afternoon: 'mbasdite',\n evening: 'mbrëmje',\n night: 'natë'\n },\n wide: {\n am: 'p.d.',\n pm: 'm.d.',\n midnight: 'mesnëtë',\n noon: 'drek',\n morning: 'mëngjes',\n afternoon: 'mbasdite',\n evening: 'mbrëmje',\n night: 'natë'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'p',\n pm: 'm',\n midnight: 'm',\n noon: 'd',\n morning: 'në mëngjes',\n afternoon: 'në mbasdite',\n evening: 'në mbrëmje',\n night: 'në mesnatë'\n },\n abbreviated: {\n am: 'PD',\n pm: 'MD',\n midnight: 'mesnatë',\n noon: 'drek',\n morning: 'në mëngjes',\n afternoon: 'në mbasdite',\n evening: 'në mbrëmje',\n night: 'në mesnatë'\n },\n wide: {\n am: 'p.d.',\n pm: 'm.d.',\n midnight: 'mesnatë',\n noon: 'drek',\n morning: 'në mëngjes',\n afternoon: 'në mbasdite',\n evening: 'në mbrëmje',\n night: 'në mesnatë'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n if ((options === null || options === void 0 ? void 0 : options.unit) === 'hour') return String(number);\n if (number === 1) return number + '-rë';\n if (number === 4) return number + 't';\n return number + '-të';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-rë|-të|t|)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(p|m)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(para krishtit|mbas krishtit)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(p|m)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234]-mujori (i{1,3}|iv)/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jsmpqkftnd]/i,\n abbreviated: /^(jan|shk|mar|pri|maj|qer|kor|gus|sht|tet|nën|dhj)/i,\n wide: /^(janar|shkurt|mars|prill|maj|qershor|korrik|gusht|shtator|tetor|nëntor|dhjetor)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^s/i, /^m/i, /^p/i, /^m/i, /^q/i, /^k/i, /^g/i, /^s/i, /^t/i, /^n/i, /^d/i],\n any: [/^ja/i, /^shk/i, /^mar/i, /^pri/i, /^maj/i, /^qer/i, /^kor/i, /^gu/i, /^sht/i, /^tet/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dhmeps]/i,\n short: /^(di|hë|ma|më|en|pr|sh)/i,\n abbreviated: /^(die|hën|mar|mër|enj|pre|sht)/i,\n wide: /^(dielë|hënë|martë|mërkurë|enjte|premte|shtunë)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^h/i, /^m/i, /^m/i, /^e/i, /^p/i, /^s/i],\n any: [/^d/i, /^h/i, /^ma/i, /^më/i, /^e/i, /^p/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(p|m|me|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i,\n any: /^([pm]\\.?\\s?d\\.?|drek|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^p/i,\n pm: /^m/i,\n midnight: /^me/i,\n noon: /^dr/i,\n morning: /mëngjes/i,\n afternoon: /mbasdite/i,\n evening: /mbrëmje/i,\n night: /natë/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d. MMMM yyyy.',\n long: 'd. MMMM yyyy.',\n medium: 'd. MMM yy.',\n short: 'dd. MM. yy.'\n};\nvar timeFormats = {\n full: 'HH:mm:ss (zzzz)',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'у' {{time}}\",\n long: \"{{date}} 'у' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n var day = date.getUTCDay();\n\n switch (day) {\n case 0:\n return \"'прошле недеље у' p\";\n\n case 3:\n return \"'прошле среде у' p\";\n\n case 6:\n return \"'прошле суботе у' p\";\n\n default:\n return \"'прошли' EEEE 'у' p\";\n }\n },\n yesterday: \"'јуче у' p\",\n today: \"'данас у' p\",\n tomorrow: \"'сутра у' p\",\n nextWeek: function nextWeek(date) {\n var day = date.getUTCDay();\n\n switch (day) {\n case 0:\n return \"'следеће недеље у' p\";\n\n case 3:\n return \"'следећу среду у' p\";\n\n case 6:\n return \"'следећу суботу у' p\";\n\n default:\n return \"'следећи' EEEE 'у' p\";\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: {\n standalone: 'manje od 1 sekunde',\n withPrepositionAgo: 'manje od 1 sekunde',\n withPrepositionIn: 'manje od 1 sekundu'\n },\n dual: 'manje od {{count}} sekunde',\n other: 'manje od {{count}} sekundi'\n },\n xSeconds: {\n one: {\n standalone: '1 sekunda',\n withPrepositionAgo: '1 sekunde',\n withPrepositionIn: '1 sekundu'\n },\n dual: '{{count}} sekunde',\n other: '{{count}} sekundi'\n },\n halfAMinute: 'pola minute',\n lessThanXMinutes: {\n one: {\n standalone: 'manje od 1 minute',\n withPrepositionAgo: 'manje od 1 minute',\n withPrepositionIn: 'manje od 1 minutu'\n },\n dual: 'manje od {{count}} minute',\n other: 'manje od {{count}} minuta'\n },\n xMinutes: {\n one: {\n standalone: '1 minuta',\n withPrepositionAgo: '1 minute',\n withPrepositionIn: '1 minutu'\n },\n dual: '{{count}} minute',\n other: '{{count}} minuta'\n },\n aboutXHours: {\n one: {\n standalone: 'oko 1 sat',\n withPrepositionAgo: 'oko 1 sat',\n withPrepositionIn: 'oko 1 sat'\n },\n dual: 'oko {{count}} sata',\n other: 'oko {{count}} sati'\n },\n xHours: {\n one: {\n standalone: '1 sat',\n withPrepositionAgo: '1 sat',\n withPrepositionIn: '1 sat'\n },\n dual: '{{count}} sata',\n other: '{{count}} sati'\n },\n xDays: {\n one: {\n standalone: '1 dan',\n withPrepositionAgo: '1 dan',\n withPrepositionIn: '1 dan'\n },\n dual: '{{count}} dana',\n other: '{{count}} dana'\n },\n aboutXWeeks: {\n one: {\n standalone: 'oko 1 nedelju',\n withPrepositionAgo: 'oko 1 nedelju',\n withPrepositionIn: 'oko 1 nedelju'\n },\n dual: 'oko {{count}} nedelje',\n other: 'oko {{count}} nedelje'\n },\n xWeeks: {\n one: {\n standalone: '1 nedelju',\n withPrepositionAgo: '1 nedelju',\n withPrepositionIn: '1 nedelju'\n },\n dual: '{{count}} nedelje',\n other: '{{count}} nedelje'\n },\n aboutXMonths: {\n one: {\n standalone: 'oko 1 mesec',\n withPrepositionAgo: 'oko 1 mesec',\n withPrepositionIn: 'oko 1 mesec'\n },\n dual: 'oko {{count}} meseca',\n other: 'oko {{count}} meseci'\n },\n xMonths: {\n one: {\n standalone: '1 mesec',\n withPrepositionAgo: '1 mesec',\n withPrepositionIn: '1 mesec'\n },\n dual: '{{count}} meseca',\n other: '{{count}} meseci'\n },\n aboutXYears: {\n one: {\n standalone: 'oko 1 godinu',\n withPrepositionAgo: 'oko 1 godinu',\n withPrepositionIn: 'oko 1 godinu'\n },\n dual: 'oko {{count}} godine',\n other: 'oko {{count}} godina'\n },\n xYears: {\n one: {\n standalone: '1 godina',\n withPrepositionAgo: '1 godine',\n withPrepositionIn: '1 godinu'\n },\n dual: '{{count}} godine',\n other: '{{count}} godina'\n },\n overXYears: {\n one: {\n standalone: 'preko 1 godinu',\n withPrepositionAgo: 'preko 1 godinu',\n withPrepositionIn: 'preko 1 godinu'\n },\n dual: 'preko {{count}} godine',\n other: 'preko {{count}} godina'\n },\n almostXYears: {\n one: {\n standalone: 'gotovo 1 godinu',\n withPrepositionAgo: 'gotovo 1 godinu',\n withPrepositionIn: 'gotovo 1 godinu'\n },\n dual: 'gotovo {{count}} godine',\n other: 'gotovo {{count}} godina'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n result = tokenValue.one.withPrepositionIn;\n } else {\n result = tokenValue.one.withPrepositionAgo;\n }\n } else {\n result = tokenValue.one.standalone;\n }\n } else if (count % 10 > 1 && count % 10 < 5 && // if last digit is between 2 and 4\n String(count).substr(-2, 1) !== '1' // unless the 2nd to last digit is \"1\"\n ) {\n result = tokenValue.dual.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'za ' + result;\n } else {\n return 'pre ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['пр.н.е.', 'АД'],\n abbreviated: ['пр. Хр.', 'по. Хр.'],\n wide: ['Пре Христа', 'После Христа']\n};\nvar quarterValues = {\n narrow: ['1.', '2.', '3.', '4.'],\n abbreviated: ['1. кв.', '2. кв.', '3. кв.', '4. кв.'],\n wide: ['1. квартал', '2. квартал', '3. квартал', '4. квартал']\n};\nvar monthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'],\n wide: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар']\n};\nvar formattingMonthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'],\n wide: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар']\n};\nvar dayValues = {\n narrow: ['Н', 'П', 'У', 'С', 'Ч', 'П', 'С'],\n short: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'],\n abbreviated: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'],\n wide: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота']\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'АМ',\n pm: 'ПМ',\n midnight: 'поноћ',\n noon: 'подне',\n morning: 'ујутру',\n afternoon: 'поподне',\n evening: 'увече',\n night: 'ноћу'\n },\n abbreviated: {\n am: 'АМ',\n pm: 'ПМ',\n midnight: 'поноћ',\n noon: 'подне',\n morning: 'ујутру',\n afternoon: 'поподне',\n evening: 'увече',\n night: 'ноћу'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'поноћ',\n noon: 'подне',\n morning: 'ујутру',\n afternoon: 'после подне',\n evening: 'увече',\n night: 'ноћу'\n }\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'поноћ',\n noon: 'подне',\n morning: 'ујутру',\n afternoon: 'поподне',\n evening: 'увече',\n night: 'ноћу'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'поноћ',\n noon: 'подне',\n morning: 'ујутру',\n afternoon: 'поподне',\n evening: 'увече',\n night: 'ноћу'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'поноћ',\n noon: 'подне',\n morning: 'ујутру',\n afternoon: 'после подне',\n evening: 'увече',\n night: 'ноћу'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(пр\\.н\\.е\\.|АД)/i,\n abbreviated: /^(пр\\.\\s?Хр\\.|по\\.\\s?Хр\\.)/i,\n wide: /^(Пре Христа|пре нове ере|После Христа|нова ера)/i\n};\nvar parseEraPatterns = {\n any: [/^пр/i, /^(по|нова)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]\\.\\s?кв\\.?/i,\n wide: /^[1234]\\. квартал/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(10|11|12|[123456789])\\./i,\n abbreviated: /^(јан|феб|мар|апр|мај|јун|јул|авг|сеп|окт|нов|дец)/i,\n wide: /^((јануар|јануара)|(фебруар|фебруара)|(март|марта)|(април|априла)|(мја|маја)|(јун|јуна)|(јул|јула)|(август|августа)|(септембар|септембра)|(октобар|октобра)|(новембар|новембра)|(децембар|децембра))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^1/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^7/i, /^8/i, /^9/i, /^10/i, /^11/i, /^12/i],\n any: [/^ја/i, /^ф/i, /^мар/i, /^ап/i, /^мај/i, /^јун/i, /^јул/i, /^авг/i, /^с/i, /^о/i, /^н/i, /^д/i]\n};\nvar matchDayPatterns = {\n narrow: /^[пусчн]/i,\n short: /^(нед|пон|уто|сре|чет|пет|суб)/i,\n abbreviated: /^(нед|пон|уто|сре|чет|пет|суб)/i,\n wide: /^(недеља|понедељак|уторак|среда|четвртак|петак|субота)/i\n};\nvar parseDayPatterns = {\n narrow: [/^п/i, /^у/i, /^с/i, /^ч/i, /^п/i, /^с/i, /^н/i],\n any: [/^нед/i, /^пон/i, /^уто/i, /^сре/i, /^чет/i, /^пет/i, /^суб/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(ам|пм|поноћ|(по)?подне|увече|ноћу|после подне|ујутру)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^поно/i,\n noon: /^под/i,\n morning: /ујутру/i,\n afternoon: /(после\\s|по)+подне/i,\n evening: /(увече)/i,\n night: /(ноћу)/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, d. MMMM yyyy.',\n long: 'd. MMMM yyyy.',\n medium: 'd. MMM yy.',\n short: 'dd. MM. yy.'\n};\nvar timeFormats = {\n full: 'HH:mm:ss (zzzz)',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'u' {{time}}\",\n long: \"{{date}} 'u' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: function lastWeek(date) {\n switch (date.getUTCDay()) {\n case 0:\n return \"'prošle nedelje u' p\";\n\n case 3:\n return \"'prošle srede u' p\";\n\n case 6:\n return \"'prošle subote u' p\";\n\n default:\n return \"'prošli' EEEE 'u' p\";\n }\n },\n yesterday: \"'juče u' p\",\n today: \"'danas u' p\",\n tomorrow: \"'sutra u' p\",\n nextWeek: function nextWeek(date) {\n switch (date.getUTCDay()) {\n case 0:\n return \"'sledeće nedelje u' p\";\n\n case 3:\n return \"'sledeću sredu u' p\";\n\n case 6:\n return \"'sledeću subotu u' p\";\n\n default:\n return \"'sledeći' EEEE 'u' p\";\n }\n },\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'mindre än en sekund',\n other: 'mindre än {{count}} sekunder'\n },\n xSeconds: {\n one: 'en sekund',\n other: '{{count}} sekunder'\n },\n halfAMinute: 'en halv minut',\n lessThanXMinutes: {\n one: 'mindre än en minut',\n other: 'mindre än {{count}} minuter'\n },\n xMinutes: {\n one: 'en minut',\n other: '{{count}} minuter'\n },\n aboutXHours: {\n one: 'ungefär en timme',\n other: 'ungefär {{count}} timmar'\n },\n xHours: {\n one: 'en timme',\n other: '{{count}} timmar'\n },\n xDays: {\n one: 'en dag',\n other: '{{count}} dagar'\n },\n aboutXWeeks: {\n one: 'ungefär en vecka',\n other: 'ungefär {{count}} vecka'\n },\n xWeeks: {\n one: 'en vecka',\n other: '{{count}} vecka'\n },\n aboutXMonths: {\n one: 'ungefär en månad',\n other: 'ungefär {{count}} månader'\n },\n xMonths: {\n one: 'en månad',\n other: '{{count}} månader'\n },\n aboutXYears: {\n one: 'ungefär ett år',\n other: 'ungefär {{count}} år'\n },\n xYears: {\n one: 'ett år',\n other: '{{count}} år'\n },\n overXYears: {\n one: 'över ett år',\n other: 'över {{count}} år'\n },\n almostXYears: {\n one: 'nästan ett år',\n other: 'nästan {{count}} år'\n }\n};\nvar wordMapping = ['noll', 'en', 'två', 'tre', 'fyra', 'fem', 'sex', 'sju', 'åtta', 'nio', 'tio', 'elva', 'tolv'];\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n if (options && options.onlyNumeric) {\n result = tokenValue.other.replace('{{count}}', String(count));\n } else {\n result = tokenValue.other.replace('{{count}}', count < 13 ? wordMapping[count] : String(count));\n }\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'om ' + result;\n } else {\n return result + ' sedan';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['pr.n.e.', 'AD'],\n abbreviated: ['pr. Hr.', 'po. Hr.'],\n wide: ['Pre Hrista', 'Posle Hrista']\n};\nvar quarterValues = {\n narrow: ['1.', '2.', '3.', '4.'],\n abbreviated: ['1. kv.', '2. kv.', '3. kv.', '4. kv.'],\n wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'],\n wide: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar']\n};\nvar formattingMonthValues = {\n narrow: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'],\n abbreviated: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'],\n wide: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar']\n};\nvar dayValues = {\n narrow: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'],\n short: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'],\n abbreviated: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'],\n wide: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota']\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'posle podne',\n evening: 'uveče',\n night: 'noću'\n }\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'popodne',\n evening: 'uveče',\n night: 'noću'\n },\n wide: {\n am: 'AM',\n pm: 'PM',\n midnight: 'ponoć',\n noon: 'podne',\n morning: 'ujutru',\n afternoon: 'posle podne',\n evening: 'uveče',\n night: 'noću'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(pr\\.n\\.e\\.|AD)/i,\n abbreviated: /^(pr\\.\\s?Hr\\.|po\\.\\s?Hr\\.)/i,\n wide: /^(Pre Hrista|pre nove ere|Posle Hrista|nova era)/i\n};\nvar parseEraPatterns = {\n any: [/^pr/i, /^(po|nova)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]\\.\\s?kv\\.?/i,\n wide: /^[1234]\\. kvartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(10|11|12|[123456789])\\./i,\n abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i,\n wide: /^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(jun|juna)|(jul|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i\n};\nvar parseMonthPatterns = {\n narrow: [/^1/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^7/i, /^8/i, /^9/i, /^10/i, /^11/i, /^12/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^avg/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[npusčc]/i,\n short: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,\n abbreviated: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,\n wide: /^(nedelja|ponedeljak|utorak|sreda|(četvrtak|cetvrtak)|petak|subota)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|posle podne|ujutru)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^pono/i,\n noon: /^pod/i,\n morning: /jutro/i,\n afternoon: /(posle\\s|po)+podne/i,\n evening: /(uvece|uveče)/i,\n night: /(nocu|noću)/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE d MMMM y',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'y-MM-dd'\n};\nvar timeFormats = {\n full: \"'kl'. HH:mm:ss zzzz\",\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'kl.' {{time}}\",\n long: \"{{date}} 'kl.' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'i' EEEE's kl.' p\",\n yesterday: \"'igår kl.' p\",\n today: \"'idag kl.' p\",\n tomorrow: \"'imorgon kl.' p\",\n nextWeek: \"EEEE 'kl.' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['f.Kr.', 'e.Kr.'],\n abbreviated: ['f.Kr.', 'e.Kr.'],\n wide: ['före Kristus', 'efter Kristus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', '4:e kvartalet']\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n wide: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n short: ['sö', 'må', 'ti', 'on', 'to', 'fr', 'lö'],\n abbreviated: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'],\n wide: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag']\n}; // https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\n\nvar dayPeriodValues = {\n narrow: {\n am: 'fm',\n pm: 'em',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'morg.',\n afternoon: 'efterm.',\n evening: 'kväll',\n night: 'natt'\n },\n abbreviated: {\n am: 'f.m.',\n pm: 'e.m.',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'morgon',\n afternoon: 'efterm.',\n evening: 'kväll',\n night: 'natt'\n },\n wide: {\n am: 'förmiddag',\n pm: 'eftermiddag',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'morgon',\n afternoon: 'eftermiddag',\n evening: 'kväll',\n night: 'natt'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'fm',\n pm: 'em',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morg.',\n afternoon: 'på efterm.',\n evening: 'på kvällen',\n night: 'på natten'\n },\n abbreviated: {\n am: 'fm',\n pm: 'em',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morg.',\n afternoon: 'på efterm.',\n evening: 'på kvällen',\n night: 'på natten'\n },\n wide: {\n am: 'fm',\n pm: 'em',\n midnight: 'midnatt',\n noon: 'middag',\n morning: 'på morgonen',\n afternoon: 'på eftermiddagen',\n evening: 'på kvällen',\n night: 'på natten'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n case 2:\n return number + ':a';\n }\n }\n\n return number + ':e';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n any: [/^f/i, /^[ev]/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](:a|:e)? kvartalet/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtofl]/i,\n short: /^(sö|må|ti|on|to|fr|lö)/i,\n abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i\n};\nvar parseDayPatterns = {\n any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^f/i,\n pm: /^e/i,\n midnight: /^midn/i,\n noon: /^midd/i,\n morning: /morgon/i,\n afternoon: /eftermiddag/i,\n evening: /kväll/i,\n night: /natt/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function isPluralType(val) {\n return val.one !== undefined;\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: {\n default: 'ஒரு வினாடிக்கு குறைவாக',\n in: 'ஒரு வினாடிக்குள்',\n ago: 'ஒரு வினாடிக்கு முன்பு'\n },\n other: {\n default: '{{count}} வினாடிகளுக்கு குறைவாக',\n in: '{{count}} வினாடிகளுக்குள்',\n ago: '{{count}} வினாடிகளுக்கு முன்பு'\n }\n },\n xSeconds: {\n one: {\n default: '1 வினாடி',\n in: '1 வினாடியில்',\n ago: '1 வினாடி முன்பு'\n },\n other: {\n default: '{{count}} விநாடிகள்',\n in: '{{count}} வினாடிகளில்',\n ago: '{{count}} விநாடிகளுக்கு முன்பு'\n }\n },\n halfAMinute: {\n default: 'அரை நிமிடம்',\n in: 'அரை நிமிடத்தில்',\n ago: 'அரை நிமிடம் முன்பு'\n },\n lessThanXMinutes: {\n one: {\n default: 'ஒரு நிமிடத்திற்கும் குறைவாக',\n in: 'ஒரு நிமிடத்திற்குள்',\n ago: 'ஒரு நிமிடத்திற்கு முன்பு'\n },\n other: {\n default: '{{count}} நிமிடங்களுக்கும் குறைவாக',\n in: '{{count}} நிமிடங்களுக்குள்',\n ago: '{{count}} நிமிடங்களுக்கு முன்பு'\n }\n },\n xMinutes: {\n one: {\n default: '1 நிமிடம்',\n in: '1 நிமிடத்தில்',\n ago: '1 நிமிடம் முன்பு'\n },\n other: {\n default: '{{count}} நிமிடங்கள்',\n in: '{{count}} நிமிடங்களில்',\n ago: '{{count}} நிமிடங்களுக்கு முன்பு'\n }\n },\n aboutXHours: {\n one: {\n default: 'சுமார் 1 மணி நேரம்',\n in: 'சுமார் 1 மணி நேரத்தில்',\n ago: 'சுமார் 1 மணி நேரத்திற்கு முன்பு'\n },\n other: {\n default: 'சுமார் {{count}} மணி நேரம்',\n in: 'சுமார் {{count}} மணி நேரத்திற்கு முன்பு',\n ago: 'சுமார் {{count}} மணி நேரத்தில்'\n }\n },\n xHours: {\n one: {\n default: '1 மணி நேரம்',\n in: '1 மணி நேரத்தில்',\n ago: '1 மணி நேரத்திற்கு முன்பு'\n },\n other: {\n default: '{{count}} மணி நேரம்',\n in: '{{count}} மணி நேரத்தில்',\n ago: '{{count}} மணி நேரத்திற்கு முன்பு'\n }\n },\n xDays: {\n one: {\n default: '1 நாள்',\n in: '1 நாளில்',\n ago: '1 நாள் முன்பு'\n },\n other: {\n default: '{{count}} நாட்கள்',\n in: '{{count}} நாட்களில்',\n ago: '{{count}} நாட்களுக்கு முன்பு'\n }\n },\n aboutXWeeks: {\n one: {\n default: 'சுமார் 1 வாரம்',\n in: 'சுமார் 1 வாரத்தில்',\n ago: 'சுமார் 1 வாரம் முன்பு'\n },\n other: {\n default: 'சுமார் {{count}} வாரங்கள்',\n in: 'சுமார் {{count}} வாரங்களில்',\n ago: 'சுமார் {{count}} வாரங்களுக்கு முன்பு'\n }\n },\n xWeeks: {\n one: {\n default: '1 வாரம்',\n in: '1 வாரத்தில்',\n ago: '1 வாரம் முன்பு'\n },\n other: {\n default: '{{count}} வாரங்கள்',\n in: '{{count}} வாரங்களில்',\n ago: '{{count}} வாரங்களுக்கு முன்பு'\n }\n },\n aboutXMonths: {\n one: {\n default: 'சுமார் 1 மாதம்',\n in: 'சுமார் 1 மாதத்தில்',\n ago: 'சுமார் 1 மாதத்திற்கு முன்பு'\n },\n other: {\n default: 'சுமார் {{count}} மாதங்கள்',\n in: 'சுமார் {{count}} மாதங்களில்',\n ago: 'சுமார் {{count}} மாதங்களுக்கு முன்பு'\n }\n },\n xMonths: {\n one: {\n default: '1 மாதம்',\n in: '1 மாதத்தில்',\n ago: '1 மாதம் முன்பு'\n },\n other: {\n default: '{{count}} மாதங்கள்',\n in: '{{count}} மாதங்களில்',\n ago: '{{count}} மாதங்களுக்கு முன்பு'\n }\n },\n aboutXYears: {\n one: {\n default: 'சுமார் 1 வருடம்',\n in: 'சுமார் 1 ஆண்டில்',\n ago: 'சுமார் 1 வருடம் முன்பு'\n },\n other: {\n default: 'சுமார் {{count}} ஆண்டுகள்',\n in: 'சுமார் {{count}} ஆண்டுகளில்',\n ago: 'சுமார் {{count}} ஆண்டுகளுக்கு முன்பு'\n }\n },\n xYears: {\n one: {\n default: '1 வருடம்',\n in: '1 ஆண்டில்',\n ago: '1 வருடம் முன்பு'\n },\n other: {\n default: '{{count}} ஆண்டுகள்',\n in: '{{count}} ஆண்டுகளில்',\n ago: '{{count}} ஆண்டுகளுக்கு முன்பு'\n }\n },\n overXYears: {\n one: {\n default: '1 வருடத்திற்கு மேல்',\n in: '1 வருடத்திற்கும் மேலாக',\n ago: '1 வருடம் முன்பு'\n },\n other: {\n default: '{{count}} ஆண்டுகளுக்கும் மேலாக',\n in: '{{count}} ஆண்டுகளில்',\n ago: '{{count}} ஆண்டுகளுக்கு முன்பு'\n }\n },\n almostXYears: {\n one: {\n default: 'கிட்டத்தட்ட 1 வருடம்',\n in: 'கிட்டத்தட்ட 1 ஆண்டில்',\n ago: 'கிட்டத்தட்ட 1 வருடம் முன்பு'\n },\n other: {\n default: 'கிட்டத்தட்ட {{count}} ஆண்டுகள்',\n in: 'கிட்டத்தட்ட {{count}} ஆண்டுகளில்',\n ago: 'கிட்டத்தட்ட {{count}} ஆண்டுகளுக்கு முன்பு'\n }\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var tense = options !== null && options !== void 0 && options.addSuffix ? options.comparison && options.comparison > 0 ? 'in' : 'ago' : 'default';\n var tokenValue = formatDistanceLocale[token];\n if (!isPluralType(tokenValue)) return tokenValue[tense];\n\n if (count === 1) {\n return tokenValue.one[tense];\n } else {\n return tokenValue.other[tense].replace('{{count}}', String(count));\n }\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\"; // Ref: https://www.unicode.org/cldr/charts/32/summary/ta.html\n// CLDR #1846 - #1849\n\nvar dateFormats = {\n full: 'EEEE, d MMMM, y',\n long: 'd MMMM, y',\n medium: 'd MMM, y',\n short: 'd/M/yy'\n}; // CLDR #1850 - #1853\n\nvar timeFormats = {\n full: 'a h:mm:ss zzzz',\n long: 'a h:mm:ss z',\n medium: 'a h:mm:ss',\n short: 'a h:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'கடந்த' eeee p 'மணிக்கு'\",\n yesterday: \"'நேற்று ' p 'மணிக்கு'\",\n today: \"'இன்று ' p 'மணிக்கு'\",\n tomorrow: \"'நாளை ' p 'மணிக்கு'\",\n nextWeek: \"eeee p 'மணிக்கு'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","// Source: https://www.unicode.org/cldr/charts/32/summary/te.html\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n standalone: {\n one: 'సెకను కన్నా తక్కువ',\n other: '{{count}} సెకన్ల కన్నా తక్కువ'\n },\n withPreposition: {\n one: 'సెకను',\n other: '{{count}} సెకన్ల'\n }\n },\n xSeconds: {\n standalone: {\n one: 'ఒక సెకను',\n // CLDR #1314\n other: '{{count}} సెకన్ల'\n },\n withPreposition: {\n one: 'ఒక సెకను',\n other: '{{count}} సెకన్ల'\n }\n },\n halfAMinute: {\n standalone: 'అర నిమిషం',\n withPreposition: 'అర నిమిషం'\n },\n lessThanXMinutes: {\n standalone: {\n one: 'ఒక నిమిషం కన్నా తక్కువ',\n other: '{{count}} నిమిషాల కన్నా తక్కువ'\n },\n withPreposition: {\n one: 'ఒక నిమిషం',\n other: '{{count}} నిమిషాల'\n }\n },\n xMinutes: {\n standalone: {\n one: 'ఒక నిమిషం',\n // CLDR #1311\n other: '{{count}} నిమిషాలు'\n },\n withPreposition: {\n one: 'ఒక నిమిషం',\n // CLDR #1311\n other: '{{count}} నిమిషాల'\n }\n },\n aboutXHours: {\n standalone: {\n one: 'సుమారు ఒక గంట',\n other: 'సుమారు {{count}} గంటలు'\n },\n withPreposition: {\n one: 'సుమారు ఒక గంట',\n other: 'సుమారు {{count}} గంటల'\n }\n },\n xHours: {\n standalone: {\n one: 'ఒక గంట',\n // CLDR #1308\n other: '{{count}} గంటలు'\n },\n withPreposition: {\n one: 'ఒక గంట',\n other: '{{count}} గంటల'\n }\n },\n xDays: {\n standalone: {\n one: 'ఒక రోజు',\n // CLDR #1292\n other: '{{count}} రోజులు'\n },\n withPreposition: {\n one: 'ఒక రోజు',\n other: '{{count}} రోజుల'\n }\n },\n aboutXWeeks: {\n standalone: {\n one: 'సుమారు ఒక వారం',\n other: 'సుమారు {{count}} వారాలు'\n },\n withPreposition: {\n one: 'సుమారు ఒక వారం',\n other: 'సుమారు {{count}} వారాలల'\n }\n },\n xWeeks: {\n standalone: {\n one: 'ఒక వారం',\n other: '{{count}} వారాలు'\n },\n withPreposition: {\n one: 'ఒక వారం',\n other: '{{count}} వారాలల'\n }\n },\n aboutXMonths: {\n standalone: {\n one: 'సుమారు ఒక నెల',\n other: 'సుమారు {{count}} నెలలు'\n },\n withPreposition: {\n one: 'సుమారు ఒక నెల',\n other: 'సుమారు {{count}} నెలల'\n }\n },\n xMonths: {\n standalone: {\n one: 'ఒక నెల',\n // CLDR #1281\n other: '{{count}} నెలలు'\n },\n withPreposition: {\n one: 'ఒక నెల',\n other: '{{count}} నెలల'\n }\n },\n aboutXYears: {\n standalone: {\n one: 'సుమారు ఒక సంవత్సరం',\n other: 'సుమారు {{count}} సంవత్సరాలు'\n },\n withPreposition: {\n one: 'సుమారు ఒక సంవత్సరం',\n other: 'సుమారు {{count}} సంవత్సరాల'\n }\n },\n xYears: {\n standalone: {\n one: 'ఒక సంవత్సరం',\n // CLDR #1275\n other: '{{count}} సంవత్సరాలు'\n },\n withPreposition: {\n one: 'ఒక సంవత్సరం',\n other: '{{count}} సంవత్సరాల'\n }\n },\n overXYears: {\n standalone: {\n one: 'ఒక సంవత్సరం పైగా',\n other: '{{count}} సంవత్సరాలకు పైగా'\n },\n withPreposition: {\n one: 'ఒక సంవత్సరం',\n other: '{{count}} సంవత్సరాల'\n }\n },\n almostXYears: {\n standalone: {\n one: 'దాదాపు ఒక సంవత్సరం',\n other: 'దాదాపు {{count}} సంవత్సరాలు'\n },\n withPreposition: {\n one: 'దాదాపు ఒక సంవత్సరం',\n other: 'దాదాపు {{count}} సంవత్సరాల'\n }\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + 'లో';\n } else {\n return result + ' క్రితం';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // Ref: https://www.unicode.org/cldr/charts/32/summary/ta.html\n\nvar eraValues = {\n narrow: ['கி.மு.', 'கி.பி.'],\n abbreviated: ['கி.மு.', 'கி.பி.'],\n // CLDR #1624, #1626\n wide: ['கிறிஸ்துவுக்கு முன்', 'அன்னோ டோமினி'] // CLDR #1620, #1622\n\n};\nvar quarterValues = {\n // CLDR #1644 - #1647\n narrow: ['1', '2', '3', '4'],\n // CLDR #1636 - #1639\n abbreviated: ['காலா.1', 'காலா.2', 'காலா.3', 'காலா.4'],\n // CLDR #1628 - #1631\n wide: ['ஒன்றாம் காலாண்டு', 'இரண்டாம் காலாண்டு', 'மூன்றாம் காலாண்டு', 'நான்காம் காலாண்டு']\n};\nvar monthValues = {\n // CLDR #700 - #711\n narrow: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'],\n // CLDR #1676 - #1687\n abbreviated: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'],\n // CLDR #1652 - #1663\n wide: ['ஜனவரி', // January\n 'பிப்ரவரி', // February\n 'மார்ச்', // March\n 'ஏப்ரல்', // April\n 'மே', // May\n 'ஜூன்', // June\n 'ஜூலை', // July\n 'ஆகஸ்ட்', // August\n 'செப்டம்பர்', // September\n 'அக்டோபர்', // October\n 'நவம்பர்', // November\n 'டிசம்பர்' // December\n ]\n};\nvar dayValues = {\n // CLDR #1766 - #1772\n narrow: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],\n // CLDR #1752 - #1758\n short: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],\n // CLDR #1738 - #1744\n abbreviated: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'],\n // CLDR #1724 - #1730\n wide: ['ஞாயிறு', // Sunday\n 'திங்கள்', // Monday\n 'செவ்வாய்', // Tuesday\n 'புதன்', // Wednesday\n 'வியாழன்', // Thursday\n 'வெள்ளி', // Friday\n 'சனி' // Saturday\n ]\n}; // CLDR #1780 - #1845\n\nvar dayPeriodValues = {\n narrow: {\n am: 'மு.ப',\n pm: 'பி.ப',\n midnight: 'நள்.',\n noon: 'நண்.',\n morning: 'கா.',\n afternoon: 'மதி.',\n evening: 'மா.',\n night: 'இர.'\n },\n abbreviated: {\n am: 'முற்பகல்',\n pm: 'பிற்பகல்',\n midnight: 'நள்ளிரவு',\n noon: 'நண்பகல்',\n morning: 'காலை',\n afternoon: 'மதியம்',\n evening: 'மாலை',\n night: 'இரவு'\n },\n wide: {\n am: 'முற்பகல்',\n pm: 'பிற்பகல்',\n midnight: 'நள்ளிரவு',\n noon: 'நண்பகல்',\n morning: 'காலை',\n afternoon: 'மதியம்',\n evening: 'மாலை',\n night: 'இரவு'\n }\n}; // CLDR #1780 - #1845\n\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'மு.ப',\n pm: 'பி.ப',\n midnight: 'நள்.',\n noon: 'நண்.',\n morning: 'கா.',\n afternoon: 'மதி.',\n evening: 'மா.',\n night: 'இர.'\n },\n abbreviated: {\n am: 'முற்பகல்',\n pm: 'பிற்பகல்',\n midnight: 'நள்ளிரவு',\n noon: 'நண்பகல்',\n morning: 'காலை',\n afternoon: 'மதியம்',\n evening: 'மாலை',\n night: 'இரவு'\n },\n wide: {\n am: 'முற்பகல்',\n pm: 'பிற்பகல்',\n midnight: 'நள்ளிரவு',\n noon: 'நண்பகல்',\n morning: 'காலை',\n afternoon: 'மதியம்',\n evening: 'மாலை',\n night: 'இரவு'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(வது)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(கி.மு.|கி.பி.)/i,\n abbreviated: /^(கி\\.?\\s?மு\\.?|கி\\.?\\s?பி\\.?)/,\n wide: /^(கிறிஸ்துவுக்கு\\sமுன்|அன்னோ\\sடோமினி)/i\n};\nvar parseEraPatterns = {\n any: [/கி\\.?\\s?மு\\.?/, /கி\\.?\\s?பி\\.?/]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^காலா.[1234]/i,\n wide: /^(ஒன்றாம்|இரண்டாம்|மூன்றாம்|நான்காம்) காலாண்டு/i\n};\nvar parseQuarterPatterns = {\n narrow: [/1/i, /2/i, /3/i, /4/i],\n any: [/(1|காலா.1|ஒன்றாம்)/i, /(2|காலா.2|இரண்டாம்)/i, /(3|காலா.3|மூன்றாம்)/i, /(4|காலா.4|நான்காம்)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(ஜ|பி|மா|ஏ|மே|ஜூ|ஆ|செ|அ|ந|டி)$/i,\n abbreviated: /^(ஜன.|பிப்.|மார்.|ஏப்.|மே|ஜூன்|ஜூலை|ஆக.|செப்.|அக்.|நவ.|டிச.)/i,\n wide: /^(ஜனவரி|பிப்ரவரி|மார்ச்|ஏப்ரல்|மே|ஜூன்|ஜூலை|ஆகஸ்ட்|செப்டம்பர்|அக்டோபர்|நவம்பர்|டிசம்பர்)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ஜ$/i, /^பி/i, /^மா/i, /^ஏ/i, /^மே/i, /^ஜூ/i, /^ஜூ/i, /^ஆ/i, /^செ/i, /^அ/i, /^ந/i, /^டி/i],\n any: [/^ஜன/i, /^பி/i, /^மா/i, /^ஏ/i, /^மே/i, /^ஜூன்/i, /^ஜூலை/i, /^ஆ/i, /^செ/i, /^அ/i, /^ந/i, /^டி/i]\n};\nvar matchDayPatterns = {\n narrow: /^(ஞா|தி|செ|பு|வி|வெ|ச)/i,\n short: /^(ஞா|தி|செ|பு|வி|வெ|ச)/i,\n abbreviated: /^(ஞாயி.|திங்.|செவ்.|புத.|வியா.|வெள்.|சனி)/i,\n wide: /^(ஞாயிறு|திங்கள்|செவ்வாய்|புதன்|வியாழன்|வெள்ளி|சனி)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ஞா/i, /^தி/i, /^செ/i, /^பு/i, /^வி/i, /^வெ/i, /^ச/i],\n any: [/^ஞா/i, /^தி/i, /^செ/i, /^பு/i, /^வி/i, /^வெ/i, /^ச/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(மு.ப|பி.ப|நள்|நண்|காலை|மதியம்|மாலை|இரவு)/i,\n any: /^(மு.ப|பி.ப|முற்பகல்|பிற்பகல்|நள்ளிரவு|நண்பகல்|காலை|மதியம்|மாலை|இரவு)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^மு/i,\n pm: /^பி/i,\n midnight: /^நள்/i,\n noon: /^நண்/i,\n morning: /காலை/i,\n afternoon: /மதியம்/i,\n evening: /மாலை/i,\n night: /இரவு/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\"; // Source: https://www.unicode.org/cldr/charts/32/summary/te.html\n// CLDR #1807 - #1811\n\nvar dateFormats = {\n full: 'd, MMMM y, EEEE',\n long: 'd MMMM, y',\n medium: 'd MMM, y',\n short: 'dd-MM-yy'\n}; // CLDR #1807 - #1811\n\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n}; // CLDR #1815 - #1818\n\nvar dateTimeFormats = {\n full: \"{{date}} {{time}}'కి'\",\n long: \"{{date}} {{time}}'కి'\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","// Source: https://www.unicode.org/cldr/charts/32/summary/te.html\nvar formatRelativeLocale = {\n lastWeek: \"'గత' eeee p\",\n // CLDR #1384\n yesterday: \"'నిన్న' p\",\n // CLDR #1393\n today: \"'ఈ రోజు' p\",\n // CLDR #1394\n tomorrow: \"'రేపు' p\",\n // CLDR #1395\n nextWeek: \"'తదుపరి' eeee p\",\n // CLDR #1386\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'น้อยกว่า 1 วินาที',\n other: 'น้อยกว่า {{count}} วินาที'\n },\n xSeconds: {\n one: '1 วินาที',\n other: '{{count}} วินาที'\n },\n halfAMinute: 'ครึ่งนาที',\n lessThanXMinutes: {\n one: 'น้อยกว่า 1 นาที',\n other: 'น้อยกว่า {{count}} นาที'\n },\n xMinutes: {\n one: '1 นาที',\n other: '{{count}} นาที'\n },\n aboutXHours: {\n one: 'ประมาณ 1 ชั่วโมง',\n other: 'ประมาณ {{count}} ชั่วโมง'\n },\n xHours: {\n one: '1 ชั่วโมง',\n other: '{{count}} ชั่วโมง'\n },\n xDays: {\n one: '1 วัน',\n other: '{{count}} วัน'\n },\n aboutXWeeks: {\n one: 'ประมาณ 1 สัปดาห์',\n other: 'ประมาณ {{count}} สัปดาห์'\n },\n xWeeks: {\n one: '1 สัปดาห์',\n other: '{{count}} สัปดาห์'\n },\n aboutXMonths: {\n one: 'ประมาณ 1 เดือน',\n other: 'ประมาณ {{count}} เดือน'\n },\n xMonths: {\n one: '1 เดือน',\n other: '{{count}} เดือน'\n },\n aboutXYears: {\n one: 'ประมาณ 1 ปี',\n other: 'ประมาณ {{count}} ปี'\n },\n xYears: {\n one: '1 ปี',\n other: '{{count}} ปี'\n },\n overXYears: {\n one: 'มากกว่า 1 ปี',\n other: 'มากกว่า {{count}} ปี'\n },\n almostXYears: {\n one: 'เกือบ 1 ปี',\n other: 'เกือบ {{count}} ปี'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (token === 'halfAMinute') {\n return 'ใน' + result;\n } else {\n return 'ใน ' + result;\n }\n } else {\n return result + 'ที่ผ่านมา';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // Source: https://www.unicode.org/cldr/charts/32/summary/te.html\n// Source: https://dsal.uchicago.edu/dictionaries/brown/\n// CLDR #1605 - #1608\n\nvar eraValues = {\n narrow: ['క్రీ.పూ.', 'క్రీ.శ.'],\n abbreviated: ['క్రీ.పూ.', 'క్రీ.శ.'],\n wide: ['క్రీస్తు పూర్వం', 'క్రీస్తుశకం']\n}; // CLDR #1613 - #1628\n\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['త్రై1', 'త్రై2', 'త్రై3', 'త్రై4'],\n wide: ['1వ త్రైమాసికం', '2వ త్రైమాసికం', '3వ త్రైమాసికం', '4వ త్రైమాసికం']\n}; // CLDR #1637 - #1708\n\nvar monthValues = {\n narrow: ['జ', 'ఫి', 'మా', 'ఏ', 'మే', 'జూ', 'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'],\n abbreviated: ['జన', 'ఫిబ్ర', 'మార్చి', 'ఏప్రి', 'మే', 'జూన్', 'జులై', 'ఆగ', 'సెప్టెం', 'అక్టో', 'నవం', 'డిసెం'],\n wide: ['జనవరి', 'ఫిబ్రవరి', 'మార్చి', 'ఏప్రిల్', 'మే', 'జూన్', 'జులై', 'ఆగస్టు', 'సెప్టెంబర్', 'అక్టోబర్', 'నవంబర్', 'డిసెంబర్']\n}; // CLDR #1709 - #1764\n\nvar dayValues = {\n narrow: ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'],\n short: ['ఆది', 'సోమ', 'మంగళ', 'బుధ', 'గురు', 'శుక్ర', 'శని'],\n abbreviated: ['ఆది', 'సోమ', 'మంగళ', 'బుధ', 'గురు', 'శుక్ర', 'శని'],\n wide: ['ఆదివారం', 'సోమవారం', 'మంగళవారం', 'బుధవారం', 'గురువారం', 'శుక్రవారం', 'శనివారం']\n}; // CLDR #1767 - #1806\n\nvar dayPeriodValues = {\n narrow: {\n am: 'పూర్వాహ్నం',\n pm: 'అపరాహ్నం',\n midnight: 'అర్ధరాత్రి',\n noon: 'మిట్టమధ్యాహ్నం',\n morning: 'ఉదయం',\n afternoon: 'మధ్యాహ్నం',\n evening: 'సాయంత్రం',\n night: 'రాత్రి'\n },\n abbreviated: {\n am: 'పూర్వాహ్నం',\n pm: 'అపరాహ్నం',\n midnight: 'అర్ధరాత్రి',\n noon: 'మిట్టమధ్యాహ్నం',\n morning: 'ఉదయం',\n afternoon: 'మధ్యాహ్నం',\n evening: 'సాయంత్రం',\n night: 'రాత్రి'\n },\n wide: {\n am: 'పూర్వాహ్నం',\n pm: 'అపరాహ్నం',\n midnight: 'అర్ధరాత్రి',\n noon: 'మిట్టమధ్యాహ్నం',\n morning: 'ఉదయం',\n afternoon: 'మధ్యాహ్నం',\n evening: 'సాయంత్రం',\n night: 'రాత్రి'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'పూర్వాహ్నం',\n pm: 'అపరాహ్నం',\n midnight: 'అర్ధరాత్రి',\n noon: 'మిట్టమధ్యాహ్నం',\n morning: 'ఉదయం',\n afternoon: 'మధ్యాహ్నం',\n evening: 'సాయంత్రం',\n night: 'రాత్రి'\n },\n abbreviated: {\n am: 'పూర్వాహ్నం',\n pm: 'అపరాహ్నం',\n midnight: 'అర్ధరాత్రి',\n noon: 'మిట్టమధ్యాహ్నం',\n morning: 'ఉదయం',\n afternoon: 'మధ్యాహ్నం',\n evening: 'సాయంత్రం',\n night: 'రాత్రి'\n },\n wide: {\n am: 'పూర్వాహ్నం',\n pm: 'అపరాహ్నం',\n midnight: 'అర్ధరాత్రి',\n noon: 'మిట్టమధ్యాహ్నం',\n morning: 'ఉదయం',\n afternoon: 'మధ్యాహ్నం',\n evening: 'సాయంత్రం',\n night: 'రాత్రి'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'వ';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(వ)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(క్రీ\\.పూ\\.|క్రీ\\.శ\\.)/i,\n abbreviated: /^(క్రీ\\.?\\s?పూ\\.?|ప్ర\\.?\\s?శ\\.?\\s?పూ\\.?|క్రీ\\.?\\s?శ\\.?|సా\\.?\\s?శ\\.?)/i,\n wide: /^(క్రీస్తు పూర్వం|ప్రస్తుత శకానికి పూర్వం|క్రీస్తు శకం|ప్రస్తుత శకం)/i\n};\nvar parseEraPatterns = {\n any: [/^(పూ|శ)/i, /^సా/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^త్రై[1234]/i,\n wide: /^[1234](వ)? త్రైమాసికం/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(జూ|జు|జ|ఫి|మా|ఏ|మే|ఆ|సె|అ|న|డి)/i,\n abbreviated: /^(జన|ఫిబ్ర|మార్చి|ఏప్రి|మే|జూన్|జులై|ఆగ|సెప్|అక్టో|నవ|డిసె)/i,\n wide: /^(జనవరి|ఫిబ్రవరి|మార్చి|ఏప్రిల్|మే|జూన్|జులై|ఆగస్టు|సెప్టెంబర్|అక్టోబర్|నవంబర్|డిసెంబర్)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^జ/i, /^ఫి/i, /^మా/i, /^ఏ/i, /^మే/i, /^జూ/i, /^జు/i, /^ఆ/i, /^సె/i, /^అ/i, /^న/i, /^డి/i],\n any: [/^జన/i, /^ఫి/i, /^మా/i, /^ఏ/i, /^మే/i, /^జూన్/i, /^జులై/i, /^ఆగ/i, /^సె/i, /^అ/i, /^న/i, /^డి/i]\n};\nvar matchDayPatterns = {\n narrow: /^(ఆ|సో|మ|బు|గు|శు|శ)/i,\n short: /^(ఆది|సోమ|మం|బుధ|గురు|శుక్ర|శని)/i,\n abbreviated: /^(ఆది|సోమ|మం|బుధ|గురు|శుక్ర|శని)/i,\n wide: /^(ఆదివారం|సోమవారం|మంగళవారం|బుధవారం|గురువారం|శుక్రవారం|శనివారం)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ఆ/i, /^సో/i, /^మ/i, /^బు/i, /^గు/i, /^శు/i, /^శ/i],\n any: [/^ఆది/i, /^సోమ/i, /^మం/i, /^బుధ/i, /^గురు/i, /^శుక్ర/i, /^శని/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(పూర్వాహ్నం|అపరాహ్నం|అర్ధరాత్రి|మిట్టమధ్యాహ్నం|ఉదయం|మధ్యాహ్నం|సాయంత్రం|రాత్రి)/i,\n any: /^(పూర్వాహ్నం|అపరాహ్నం|అర్ధరాత్రి|మిట్టమధ్యాహ్నం|ఉదయం|మధ్యాహ్నం|సాయంత్రం|రాత్రి)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^పూర్వాహ్నం/i,\n pm: /^అపరాహ్నం/i,\n midnight: /^అర్ధ/i,\n noon: /^మిట్ట/i,\n morning: /ఉదయం/i,\n afternoon: /మధ్యాహ్నం/i,\n evening: /సాయంత్రం/i,\n night: /రాత్రి/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'วันEEEEที่ do MMMM y',\n long: 'do MMMM y',\n medium: 'd MMM y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'H:mm:ss น. zzzz',\n long: 'H:mm:ss น. z',\n medium: 'H:mm:ss น.',\n short: 'H:mm น.'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'เวลา' {{time}}\",\n long: \"{{date}} 'เวลา' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'medium'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee'ที่แล้วเวลา' p\",\n yesterday: \"'เมื่อวานนี้เวลา' p\",\n today: \"'วันนี้เวลา' p\",\n tomorrow: \"'พรุ่งนี้เวลา' p\",\n nextWeek: \"eeee 'เวลา' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'bir saniyeden az',\n other: '{{count}} saniyeden az'\n },\n xSeconds: {\n one: '1 saniye',\n other: '{{count}} saniye'\n },\n halfAMinute: 'yarım dakika',\n lessThanXMinutes: {\n one: 'bir dakikadan az',\n other: '{{count}} dakikadan az'\n },\n xMinutes: {\n one: '1 dakika',\n other: '{{count}} dakika'\n },\n aboutXHours: {\n one: 'yaklaşık 1 saat',\n other: 'yaklaşık {{count}} saat'\n },\n xHours: {\n one: '1 saat',\n other: '{{count}} saat'\n },\n xDays: {\n one: '1 gün',\n other: '{{count}} gün'\n },\n aboutXWeeks: {\n one: 'yaklaşık 1 hafta',\n other: 'yaklaşık {{count}} hafta'\n },\n xWeeks: {\n one: '1 hafta',\n other: '{{count}} hafta'\n },\n aboutXMonths: {\n one: 'yaklaşık 1 ay',\n other: 'yaklaşık {{count}} ay'\n },\n xMonths: {\n one: '1 ay',\n other: '{{count}} ay'\n },\n aboutXYears: {\n one: 'yaklaşık 1 yıl',\n other: 'yaklaşık {{count}} yıl'\n },\n xYears: {\n one: '1 yıl',\n other: '{{count}} yıl'\n },\n overXYears: {\n one: '1 yıldan fazla',\n other: '{{count}} yıldan fazla'\n },\n almostXYears: {\n one: 'neredeyse 1 yıl',\n other: 'neredeyse {{count}} yıl'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' sonra';\n } else {\n return result + ' önce';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'คศ'],\n abbreviated: ['BC', 'ค.ศ.'],\n wide: ['ปีก่อนคริสตกาล', 'คริสต์ศักราช']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['ไตรมาสแรก', 'ไตรมาสที่สอง', 'ไตรมาสที่สาม', 'ไตรมาสที่สี่']\n};\nvar dayValues = {\n narrow: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n short: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n abbreviated: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n wide: ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์']\n};\nvar monthValues = {\n narrow: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],\n abbreviated: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],\n wide: ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ก่อนเที่ยง',\n pm: 'หลังเที่ยง',\n midnight: 'เที่ยงคืน',\n noon: 'เที่ยง',\n morning: 'เช้า',\n afternoon: 'บ่าย',\n evening: 'เย็น',\n night: 'กลางคืน'\n },\n abbreviated: {\n am: 'ก่อนเที่ยง',\n pm: 'หลังเที่ยง',\n midnight: 'เที่ยงคืน',\n noon: 'เที่ยง',\n morning: 'เช้า',\n afternoon: 'บ่าย',\n evening: 'เย็น',\n night: 'กลางคืน'\n },\n wide: {\n am: 'ก่อนเที่ยง',\n pm: 'หลังเที่ยง',\n midnight: 'เที่ยงคืน',\n noon: 'เที่ยง',\n morning: 'เช้า',\n afternoon: 'บ่าย',\n evening: 'เย็น',\n night: 'กลางคืน'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ก่อนเที่ยง',\n pm: 'หลังเที่ยง',\n midnight: 'เที่ยงคืน',\n noon: 'เที่ยง',\n morning: 'ตอนเช้า',\n afternoon: 'ตอนกลางวัน',\n evening: 'ตอนเย็น',\n night: 'ตอนกลางคืน'\n },\n abbreviated: {\n am: 'ก่อนเที่ยง',\n pm: 'หลังเที่ยง',\n midnight: 'เที่ยงคืน',\n noon: 'เที่ยง',\n morning: 'ตอนเช้า',\n afternoon: 'ตอนกลางวัน',\n evening: 'ตอนเย็น',\n night: 'ตอนกลางคืน'\n },\n wide: {\n am: 'ก่อนเที่ยง',\n pm: 'หลังเที่ยง',\n midnight: 'เที่ยงคืน',\n noon: 'เที่ยง',\n morning: 'ตอนเช้า',\n afternoon: 'ตอนกลางวัน',\n evening: 'ตอนเย็น',\n night: 'ตอนกลางคืน'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^\\d+/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^([bB]|[aA]|คศ)/i,\n abbreviated: /^([bB]\\.?\\s?[cC]\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?|ค\\.?ศ\\.?)/i,\n wide: /^(ก่อนคริสตกาล|คริสต์ศักราช|คริสตกาล)/i\n};\nvar parseEraPatterns = {\n any: [/^[bB]/i, /^(^[aA]|ค\\.?ศ\\.?|คริสตกาล|คริสต์ศักราช|)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^ไตรมาส(ที่)? ?[1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|แรก|หนึ่ง)/i, /(2|สอง)/i, /(3|สาม)/i, /(4|สี่)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(ม\\.?ค\\.?|ก\\.?พ\\.?|มี\\.?ค\\.?|เม\\.?ย\\.?|พ\\.?ค\\.?|มิ\\.?ย\\.?|ก\\.?ค\\.?|ส\\.?ค\\.?|ก\\.?ย\\.?|ต\\.?ค\\.?|พ\\.?ย\\.?|ธ\\.?ค\\.?)/i,\n abbreviated: /^(ม\\.?ค\\.?|ก\\.?พ\\.?|มี\\.?ค\\.?|เม\\.?ย\\.?|พ\\.?ค\\.?|มิ\\.?ย\\.?|ก\\.?ค\\.?|ส\\.?ค\\.?|ก\\.?ย\\.?|ต\\.?ค\\.?|พ\\.?ย\\.?|ธ\\.?ค\\.?')/i,\n wide: /^(มกราคม|กุมภาพันธ์|มีนาคม|เมษายน|พฤษภาคม|มิถุนายน|กรกฎาคม|สิงหาคม|กันยายน|ตุลาคม|พฤศจิกายน|ธันวาคม)/i\n};\nvar parseMonthPatterns = {\n wide: [/^มก/i, /^กุม/i, /^มี/i, /^เม/i, /^พฤษ/i, /^มิ/i, /^กรก/i, /^ส/i, /^กัน/i, /^ต/i, /^พฤศ/i, /^ธ/i],\n any: [/^ม\\.?ค\\.?/i, /^ก\\.?พ\\.?/i, /^มี\\.?ค\\.?/i, /^เม\\.?ย\\.?/i, /^พ\\.?ค\\.?/i, /^มิ\\.?ย\\.?/i, /^ก\\.?ค\\.?/i, /^ส\\.?ค\\.?/i, /^ก\\.?ย\\.?/i, /^ต\\.?ค\\.?/i, /^พ\\.?ย\\.?/i, /^ธ\\.?ค\\.?/i]\n};\nvar matchDayPatterns = {\n narrow: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n short: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n abbreviated: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n wide: /^(อาทิตย์|จันทร์|อังคาร|พุธ|พฤหัสบดี|ศุกร์|เสาร์)/i\n};\nvar parseDayPatterns = {\n wide: [/^อา/i, /^จั/i, /^อั/i, /^พุธ/i, /^พฤ/i, /^ศ/i, /^เส/i],\n any: [/^อา/i, /^จ/i, /^อ/i, /^พ(?!ฤ)/i, /^พฤ/i, /^ศ/i, /^ส/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(ก่อนเที่ยง|หลังเที่ยง|เที่ยงคืน|เที่ยง|(ตอน.*?)?.*(เที่ยง|เช้า|บ่าย|เย็น|กลางคืน))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ก่อนเที่ยง/i,\n pm: /^หลังเที่ยง/i,\n midnight: /^เที่ยงคืน/i,\n noon: /^เที่ยง/i,\n morning: /เช้า/i,\n afternoon: /บ่าย/i,\n evening: /เย็น/i,\n night: /กลางคืน/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'd MMMM y EEEE',\n long: 'd MMMM y',\n medium: 'd MMM y',\n short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'saat' {{time}}\",\n long: \"{{date}} 'saat' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'geçen hafta' eeee 'saat' p\",\n yesterday: \"'dün saat' p\",\n today: \"'bugün saat' p\",\n tomorrow: \"'yarın saat' p\",\n nextWeek: \"eeee 'saat' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'بىر سىكۇنت ئىچىدە',\n other: 'سىكۇنت ئىچىدە {{count}}'\n },\n xSeconds: {\n one: 'بىر سىكۇنت',\n other: 'سىكۇنت {{count}}'\n },\n halfAMinute: 'يىرىم مىنۇت',\n lessThanXMinutes: {\n one: 'بىر مىنۇت ئىچىدە',\n other: 'مىنۇت ئىچىدە {{count}}'\n },\n xMinutes: {\n one: 'بىر مىنۇت',\n other: 'مىنۇت {{count}}'\n },\n aboutXHours: {\n one: 'تەخمىنەن بىر سائەت',\n other: 'سائەت {{count}} تەخمىنەن'\n },\n xHours: {\n one: 'بىر سائەت',\n other: 'سائەت {{count}}'\n },\n xDays: {\n one: 'بىر كۈن',\n other: 'كۈن {{count}}'\n },\n aboutXWeeks: {\n one: 'تەخمىنەن بىرھەپتە',\n other: 'ھەپتە {{count}} تەخمىنەن'\n },\n xWeeks: {\n one: 'بىرھەپتە',\n other: 'ھەپتە {{count}}'\n },\n aboutXMonths: {\n one: 'تەخمىنەن بىر ئاي',\n other: 'ئاي {{count}} تەخمىنەن'\n },\n xMonths: {\n one: 'بىر ئاي',\n other: 'ئاي {{count}}'\n },\n aboutXYears: {\n one: 'تەخمىنەن بىر يىل',\n other: 'يىل {{count}} تەخمىنەن'\n },\n xYears: {\n one: 'بىر يىل',\n other: 'يىل {{count}}'\n },\n overXYears: {\n one: 'بىر يىلدىن ئارتۇق',\n other: 'يىلدىن ئارتۇق {{count}}'\n },\n almostXYears: {\n one: 'ئاساسەن بىر يىل',\n other: 'يىل {{count}} ئاساسەن'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result;\n } else {\n return result + ' بولدى';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['MÖ', 'MS'],\n abbreviated: ['MÖ', 'MS'],\n wide: ['Milattan Önce', 'Milattan Sonra']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1Ç', '2Ç', '3Ç', '4Ç'],\n wide: ['İlk çeyrek', 'İkinci Çeyrek', 'Üçüncü çeyrek', 'Son çeyrek']\n};\nvar monthValues = {\n narrow: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'],\n abbreviated: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n wide: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık']\n};\nvar dayValues = {\n narrow: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'],\n short: ['Pz', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'],\n abbreviated: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'],\n wide: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'öö',\n pm: 'ös',\n midnight: 'gy',\n noon: 'ö',\n morning: 'sa',\n afternoon: 'ös',\n evening: 'ak',\n night: 'ge'\n },\n abbreviated: {\n am: 'ÖÖ',\n pm: 'ÖS',\n midnight: 'gece yarısı',\n noon: 'öğle',\n morning: 'sabah',\n afternoon: 'öğleden sonra',\n evening: 'akşam',\n night: 'gece'\n },\n wide: {\n am: 'Ö.Ö.',\n pm: 'Ö.S.',\n midnight: 'gece yarısı',\n noon: 'öğle',\n morning: 'sabah',\n afternoon: 'öğleden sonra',\n evening: 'akşam',\n night: 'gece'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'öö',\n pm: 'ös',\n midnight: 'gy',\n noon: 'ö',\n morning: 'sa',\n afternoon: 'ös',\n evening: 'ak',\n night: 'ge'\n },\n abbreviated: {\n am: 'ÖÖ',\n pm: 'ÖS',\n midnight: 'gece yarısı',\n noon: 'öğlen',\n morning: 'sabahleyin',\n afternoon: 'öğleden sonra',\n evening: 'akşamleyin',\n night: 'geceleyin'\n },\n wide: {\n am: 'ö.ö.',\n pm: 'ö.s.',\n midnight: 'gece yarısı',\n noon: 'öğlen',\n morning: 'sabahleyin',\n afternoon: 'öğleden sonra',\n evening: 'akşamleyin',\n night: 'geceleyin'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(mö|ms)/i,\n abbreviated: /^(mö|ms)/i,\n wide: /^(milattan önce|milattan sonra)/i\n};\nvar parseEraPatterns = {\n any: [/(^mö|^milattan önce)/i, /(^ms|^milattan sonra)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]ç/i,\n wide: /^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n abbreviated: [/1ç/i, /2ç/i, /3ç/i, /4ç/i],\n wide: [/^(i|İ)lk çeyrek/i, /(i|İ)kinci çeyrek/i, /üçüncü çeyrek/i, /son çeyrek/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[oşmnhtaek]/i,\n abbreviated: /^(oca|şub|mar|nis|may|haz|tem|ağu|eyl|eki|kas|ara)/i,\n wide: /^(ocak|şubat|mart|nisan|mayıs|haziran|temmuz|ağustos|eylül|ekim|kasım|aralık)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^o/i, /^ş/i, /^m/i, /^n/i, /^m/i, /^h/i, /^t/i, /^a/i, /^e/i, /^e/i, /^k/i, /^a/i],\n any: [/^o/i, /^ş/i, /^mar/i, /^n/i, /^may/i, /^h/i, /^t/i, /^ağ/i, /^ey/i, /^ek/i, /^k/i, /^ar/i]\n};\nvar matchDayPatterns = {\n narrow: /^[psçc]/i,\n short: /^(pz|pt|sa|ça|pe|cu|ct)/i,\n abbreviated: /^(paz|pzt|sal|çar|per|cum|cts)/i,\n wide: /^(pazar(?!tesi)|pazartesi|salı|çarşamba|perşembe|cuma(?!rtesi)|cumartesi)/i\n};\nvar parseDayPatterns = {\n narrow: [/^p/i, /^p/i, /^s/i, /^ç/i, /^p/i, /^c/i, /^c/i],\n any: [/^pz/i, /^pt/i, /^sa/i, /^ça/i, /^pe/i, /^cu/i, /^ct/i],\n wide: [/^pazar(?!tesi)/i, /^pazartesi/i, /^salı/i, /^çarşamba/i, /^perşembe/i, /^cuma(?!rtesi)/i, /^cumartesi/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(öö|ös|gy|ö|sa|ös|ak|ge)/i,\n any: /^(ö\\.?\\s?[ös]\\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ö\\.?ö\\.?/i,\n pm: /^ö\\.?s\\.?/i,\n midnight: /^(gy|gece yarısı)/i,\n noon: /^öğ/i,\n morning: /^sa/i,\n afternoon: /^öğleden sonra/i,\n evening: /^ak/i,\n night: /^ge/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'دە' {{time}}\",\n long: \"{{date}} 'دە' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'ئ‍ۆتكەن' eeee 'دە' p\",\n yesterday: \"'تۈنۈگۈن دە' p\",\n today: \"'بۈگۈن دە' p\",\n tomorrow: \"'ئەتە دە' p\",\n nextWeek: \"eeee 'دە' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['ب', 'ك'],\n abbreviated: ['ب', 'ك'],\n wide: ['مىيلادىدىن بۇرۇن', 'مىيلادىدىن كىيىن']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1', '2', '3', '4'],\n wide: ['بىرىنجى چارەك', 'ئىككىنجى چارەك', 'ئۈچىنجى چارەك', 'تۆتىنجى چارەك']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['ي', 'ف', 'م', 'ا', 'م', 'ى', 'ى', 'ا', 'س', 'ۆ', 'ن', 'د'],\n abbreviated: ['يانۋار', 'فېۋىرال', 'مارت', 'ئاپرىل', 'ماي', 'ئىيۇن', 'ئىيول', 'ئاۋغۇست', 'سىنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دىكابىر'],\n wide: ['يانۋار', 'فېۋىرال', 'مارت', 'ئاپرىل', 'ماي', 'ئىيۇن', 'ئىيول', 'ئاۋغۇست', 'سىنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دىكابىر']\n};\nvar dayValues = {\n narrow: ['ي', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],\n short: ['ي', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],\n abbreviated: ['يەكشەنبە', 'دۈشەنبە', 'سەيشەنبە', 'چارشەنبە', 'پەيشەنبە', 'جۈمە', 'شەنبە'],\n wide: ['يەكشەنبە', 'دۈشەنبە', 'سەيشەنبە', 'چارشەنبە', 'پەيشەنبە', 'جۈمە', 'شەنبە']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ئە',\n pm: 'چ',\n midnight: 'ك',\n noon: 'چ',\n morning: 'ئەتىگەن',\n afternoon: 'چۈشتىن كىيىن',\n evening: 'ئاخشىم',\n night: 'كىچە'\n },\n abbreviated: {\n am: 'ئە',\n pm: 'چ',\n midnight: 'ك',\n noon: 'چ',\n morning: 'ئەتىگەن',\n afternoon: 'چۈشتىن كىيىن',\n evening: 'ئاخشىم',\n night: 'كىچە'\n },\n wide: {\n am: 'ئە',\n pm: 'چ',\n midnight: 'ك',\n noon: 'چ',\n morning: 'ئەتىگەن',\n afternoon: 'چۈشتىن كىيىن',\n evening: 'ئاخشىم',\n night: 'كىچە'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ئە',\n pm: 'چ',\n midnight: 'ك',\n noon: 'چ',\n morning: 'ئەتىگەندە',\n afternoon: 'چۈشتىن كىيىن',\n evening: 'ئاخشامدا',\n night: 'كىچىدە'\n },\n abbreviated: {\n am: 'ئە',\n pm: 'چ',\n midnight: 'ك',\n noon: 'چ',\n morning: 'ئەتىگەندە',\n afternoon: 'چۈشتىن كىيىن',\n evening: 'ئاخشامدا',\n night: 'كىچىدە'\n },\n wide: {\n am: 'ئە',\n pm: 'چ',\n midnight: 'ك',\n noon: 'چ',\n morning: 'ئەتىگەندە',\n afternoon: 'چۈشتىن كىيىن',\n evening: 'ئاخشامدا',\n night: 'كىچىدە'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ب|ك)/i,\n wide: /^(مىيلادىدىن بۇرۇن|مىيلادىدىن كىيىن)/i\n};\nvar parseEraPatterns = {\n any: [/^بۇرۇن/i, /^كىيىن/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^چ[1234]/i,\n wide: /^چارەك [1234]/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n // eslint-disable-next-line no-misleading-character-class\n narrow: /^[يفمئامئ‍ئاسۆند]/i,\n abbreviated: /^(يانۋار|فېۋىرال|مارت|ئاپرىل|ماي|ئىيۇن|ئىيول|ئاۋغۇست|سىنتەبىر|ئۆكتەبىر|نويابىر|دىكابىر)/i,\n wide: /^(يانۋار|فېۋىرال|مارت|ئاپرىل|ماي|ئىيۇن|ئىيول|ئاۋغۇست|سىنتەبىر|ئۆكتەبىر|نويابىر|دىكابىر)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^ي/i, /^ف/i, /^م/i, /^ا/i, /^م/i, /^ى‍/i, /^ى‍/i, /^ا‍/i, /^س/i, /^ۆ/i, /^ن/i, /^د/i],\n any: [/^يان/i, /^فېۋ/i, /^مار/i, /^ئاپ/i, /^ماي/i, /^ئىيۇن/i, /^ئىيول/i, /^ئاۋ/i, /^سىن/i, /^ئۆك/i, /^نوي/i, /^دىك/i]\n};\nvar matchDayPatterns = {\n narrow: /^[دسچپجشي]/i,\n short: /^(يە|دۈ|سە|چا|پە|جۈ|شە)/i,\n abbreviated: /^(يە|دۈ|سە|چا|پە|جۈ|شە)/i,\n wide: /^(يەكشەنبە|دۈشەنبە|سەيشەنبە|چارشەنبە|پەيشەنبە|جۈمە|شەنبە)/i\n};\nvar parseDayPatterns = {\n narrow: [/^ي/i, /^د/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i],\n any: [/^ي/i, /^د/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(ئە|چ|ك|چ|(دە|ئەتىگەن) ( ئە‍|چۈشتىن كىيىن|ئاخشىم|كىچە))/i,\n any: /^(ئە|چ|ك|چ|(دە|ئەتىگەن) ( ئە‍|چۈشتىن كىيىن|ئاخشىم|كىچە))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^ئە/i,\n pm: /^چ/i,\n midnight: /^ك/i,\n noon: /^چ/i,\n morning: /ئەتىگەن/i,\n afternoon: /چۈشتىن كىيىن/i,\n evening: /ئاخشىم/i,\n night: /كىچە/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n var rem10 = count % 10;\n var rem100 = count % 100; // 1, 21, 31, ...\n\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace('{{count}}', String(count)); // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace('{{count}}', String(count)); // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace('{{count}}', String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return function (count, options) {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return 'за ' + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + ' тому';\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nvar halfAtMinute = function halfAtMinute(_, options) {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'за півхвилини';\n } else {\n return 'півхвилини тому';\n }\n }\n\n return 'півхвилини';\n};\n\nvar formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: 'менше секунди',\n singularNominative: 'менше {{count}} секунди',\n singularGenitive: 'менше {{count}} секунд',\n pluralGenitive: 'менше {{count}} секунд'\n },\n future: {\n one: 'менше, ніж за секунду',\n singularNominative: 'менше, ніж за {{count}} секунду',\n singularGenitive: 'менше, ніж за {{count}} секунди',\n pluralGenitive: 'менше, ніж за {{count}} секунд'\n }\n }),\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} секунда',\n singularGenitive: '{{count}} секунди',\n pluralGenitive: '{{count}} секунд'\n },\n past: {\n singularNominative: '{{count}} секунду тому',\n singularGenitive: '{{count}} секунди тому',\n pluralGenitive: '{{count}} секунд тому'\n },\n future: {\n singularNominative: 'за {{count}} секунду',\n singularGenitive: 'за {{count}} секунди',\n pluralGenitive: 'за {{count}} секунд'\n }\n }),\n halfAMinute: halfAtMinute,\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: 'менше хвилини',\n singularNominative: 'менше {{count}} хвилини',\n singularGenitive: 'менше {{count}} хвилин',\n pluralGenitive: 'менше {{count}} хвилин'\n },\n future: {\n one: 'менше, ніж за хвилину',\n singularNominative: 'менше, ніж за {{count}} хвилину',\n singularGenitive: 'менше, ніж за {{count}} хвилини',\n pluralGenitive: 'менше, ніж за {{count}} хвилин'\n }\n }),\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} хвилина',\n singularGenitive: '{{count}} хвилини',\n pluralGenitive: '{{count}} хвилин'\n },\n past: {\n singularNominative: '{{count}} хвилину тому',\n singularGenitive: '{{count}} хвилини тому',\n pluralGenitive: '{{count}} хвилин тому'\n },\n future: {\n singularNominative: 'за {{count}} хвилину',\n singularGenitive: 'за {{count}} хвилини',\n pluralGenitive: 'за {{count}} хвилин'\n }\n }),\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'близько {{count}} години',\n singularGenitive: 'близько {{count}} годин',\n pluralGenitive: 'близько {{count}} годин'\n },\n future: {\n singularNominative: 'приблизно за {{count}} годину',\n singularGenitive: 'приблизно за {{count}} години',\n pluralGenitive: 'приблизно за {{count}} годин'\n }\n }),\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} годину',\n singularGenitive: '{{count}} години',\n pluralGenitive: '{{count}} годин'\n }\n }),\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} день',\n singularGenitive: '{{count}} днi',\n pluralGenitive: '{{count}} днів'\n }\n }),\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'близько {{count}} тижня',\n singularGenitive: 'близько {{count}} тижнів',\n pluralGenitive: 'близько {{count}} тижнів'\n },\n future: {\n singularNominative: 'приблизно за {{count}} тиждень',\n singularGenitive: 'приблизно за {{count}} тижні',\n pluralGenitive: 'приблизно за {{count}} тижнів'\n }\n }),\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} тиждень',\n singularGenitive: '{{count}} тижні',\n pluralGenitive: '{{count}} тижнів'\n }\n }),\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'близько {{count}} місяця',\n singularGenitive: 'близько {{count}} місяців',\n pluralGenitive: 'близько {{count}} місяців'\n },\n future: {\n singularNominative: 'приблизно за {{count}} місяць',\n singularGenitive: 'приблизно за {{count}} місяці',\n pluralGenitive: 'приблизно за {{count}} місяців'\n }\n }),\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} місяць',\n singularGenitive: '{{count}} місяці',\n pluralGenitive: '{{count}} місяців'\n }\n }),\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'близько {{count}} року',\n singularGenitive: 'близько {{count}} років',\n pluralGenitive: 'близько {{count}} років'\n },\n future: {\n singularNominative: 'приблизно за {{count}} рік',\n singularGenitive: 'приблизно за {{count}} роки',\n pluralGenitive: 'приблизно за {{count}} років'\n }\n }),\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: '{{count}} рік',\n singularGenitive: '{{count}} роки',\n pluralGenitive: '{{count}} років'\n }\n }),\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'більше {{count}} року',\n singularGenitive: 'більше {{count}} років',\n pluralGenitive: 'більше {{count}} років'\n },\n future: {\n singularNominative: 'більше, ніж за {{count}} рік',\n singularGenitive: 'більше, ніж за {{count}} роки',\n pluralGenitive: 'більше, ніж за {{count}} років'\n }\n }),\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: 'майже {{count}} рік',\n singularGenitive: 'майже {{count}} роки',\n pluralGenitive: 'майже {{count}} років'\n },\n future: {\n singularNominative: 'майже за {{count}} рік',\n singularGenitive: 'майже за {{count}} роки',\n pluralGenitive: 'майже за {{count}} років'\n }\n })\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n options = options || {};\n return formatDistanceLocale[token](count, options);\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, do MMMM y 'р.'\",\n long: \"do MMMM y 'р.'\",\n medium: \"d MMM y 'р.'\",\n short: 'dd.MM.y'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'о' {{time}}\",\n long: \"{{date}} 'о' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import { toDate } from \"../../../../index.js\";\nimport isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['неділю', 'понеділок', 'вівторок', 'середу', 'четвер', 'п’ятницю', 'суботу'];\n\nfunction lastWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у минулу \" + weekday + \" о' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'у минулий \" + weekday + \" о' p\";\n }\n}\n\nfunction thisWeek(day) {\n var weekday = accusativeWeekdays[day];\n return \"'у \" + weekday + \" о' p\";\n}\n\nfunction nextWeek(day) {\n var weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у наступну \" + weekday + \" о' p\";\n\n case 1:\n case 2:\n case 4:\n return \"'у наступний \" + weekday + \" о' p\";\n }\n}\n\nvar lastWeekFormat = function lastWeekFormat(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n};\n\nvar nextWeekFormat = function nextWeekFormat(dirtyDate, baseDate, options) {\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n};\n\nvar formatRelativeLocale = {\n lastWeek: lastWeekFormat,\n yesterday: \"'вчора о' p\",\n today: \"'сьогодні о' p\",\n tomorrow: \"'завтра о' p\",\n nextWeek: nextWeekFormat,\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'sekunddan kam',\n other: '{{count}} sekunddan kam'\n },\n xSeconds: {\n one: '1 sekund',\n other: '{{count}} sekund'\n },\n halfAMinute: 'yarim minut',\n lessThanXMinutes: {\n one: 'bir minutdan kam',\n other: '{{count}} minutdan kam'\n },\n xMinutes: {\n one: '1 minut',\n other: '{{count}} minut'\n },\n aboutXHours: {\n one: 'tahminan 1 soat',\n other: 'tahminan {{count}} soat'\n },\n xHours: {\n one: '1 soat',\n other: '{{count}} soat'\n },\n xDays: {\n one: '1 kun',\n other: '{{count}} kun'\n },\n aboutXWeeks: {\n one: 'tahminan 1 hafta',\n other: 'tahminan {{count}} hafta'\n },\n xWeeks: {\n one: '1 hafta',\n other: '{{count}} hafta'\n },\n aboutXMonths: {\n one: 'tahminan 1 oy',\n other: 'tahminan {{count}} oy'\n },\n xMonths: {\n one: '1 oy',\n other: '{{count}} oy'\n },\n aboutXYears: {\n one: 'tahminan 1 yil',\n other: 'tahminan {{count}} yil'\n },\n xYears: {\n one: '1 yil',\n other: '{{count}} yil'\n },\n overXYears: {\n one: \"1 yildan ko'p\",\n other: \"{{count}} yildan ko'p\"\n },\n almostXYears: {\n one: 'deyarli 1 yil',\n other: 'deyarli {{count}} yil'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' dan keyin';\n } else {\n return result + ' oldin';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['до н.е.', 'н.е.'],\n abbreviated: ['до н. е.', 'н. е.'],\n wide: ['до нашої ери', 'нашої ери']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'],\n wide: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал']\n};\nvar monthValues = {\n // ДСТУ 3582:2013\n narrow: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', 'Ж', 'Л', 'Г'],\n abbreviated: ['січ.', 'лют.', 'берез.', 'квіт.', 'трав.', 'черв.', 'лип.', 'серп.', 'верес.', 'жовт.', 'листоп.', 'груд.'],\n wide: ['січень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень']\n};\nvar formattingMonthValues = {\n narrow: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', 'Ж', 'Л', 'Г'],\n abbreviated: ['січ.', 'лют.', 'берез.', 'квіт.', 'трав.', 'черв.', 'лип.', 'серп.', 'верес.', 'жовт.', 'листоп.', 'груд.'],\n wide: ['січня', 'лютого', 'березня', 'квітня', 'травня', 'червня', 'липня', 'серпня', 'вересня', 'жовтня', 'листопада', 'грудня']\n};\nvar dayValues = {\n narrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n short: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n abbreviated: ['нед', 'пон', 'вів', 'сер', 'чтв', 'птн', 'суб'],\n wide: ['неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'п’ятниця', 'субота']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'півн.',\n noon: 'пол.',\n morning: 'ранок',\n afternoon: 'день',\n evening: 'веч.',\n night: 'ніч'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'півн.',\n noon: 'пол.',\n morning: 'ранок',\n afternoon: 'день',\n evening: 'веч.',\n night: 'ніч'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'північ',\n noon: 'полудень',\n morning: 'ранок',\n afternoon: 'день',\n evening: 'вечір',\n night: 'ніч'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'півн.',\n noon: 'пол.',\n morning: 'ранку',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночі'\n },\n abbreviated: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'півн.',\n noon: 'пол.',\n morning: 'ранку',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночі'\n },\n wide: {\n am: 'ДП',\n pm: 'ПП',\n midnight: 'північ',\n noon: 'полудень',\n morning: 'ранку',\n afternoon: 'дня',\n evening: 'веч.',\n night: 'ночі'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n var number = Number(dirtyNumber);\n var suffix;\n\n if (unit === 'date') {\n if (number === 3 || number === 23) {\n suffix = '-є';\n } else {\n suffix = '-е';\n }\n } else if (unit === 'minute' || unit === 'second' || unit === 'hour') {\n suffix = '-а';\n } else {\n suffix = '-й';\n }\n\n return number + suffix;\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'any',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(е|й|є|а|я))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?е\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?е\\.?)/i,\n wide: /^(до нашої ери|нашої ери|наша ера)/i\n};\nvar parseEraPatterns = {\n any: [/^д/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[иі]?й?)? кв.?/i,\n wide: /^[1234](-?[иі]?й?)? квартал/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[слбктчвжг]/i,\n abbreviated: /^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\\.?/i,\n wide: /^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^с/i, /^л/i, /^б/i, /^к/i, /^т/i, /^ч/i, /^л/i, /^с/i, /^в/i, /^ж/i, /^л/i, /^г/i],\n any: [/^сі/i, /^лю/i, /^б/i, /^к/i, /^т/i, /^ч/i, /^лип/i, /^се/i, /^в/i, /^ж/i, /^лис/i, /^г/i]\n};\nvar matchDayPatterns = {\n narrow: /^[нпвсч]/i,\n short: /^(нд|пн|вт|ср|чт|пт|сб)\\.?/i,\n abbreviated: /^(нед|пон|вів|сер|че?тв|птн?|суб)\\.?/i,\n wide: /^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\\W*?ятниц[яі]|субот[аи])/i\n};\nvar parseDayPatterns = {\n narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^н/i, /^п[он]/i, /^в/i, /^с[ер]/i, /^ч/i, /^п\\W*?[ят]/i, /^с[уб]/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^([дп]п|півн\\.?|пол\\.?|ранок|ранку|день|дня|веч\\.?|ніч|ночі)/i,\n abbreviated: /^([дп]п|півн\\.?|пол\\.?|ранок|ранку|день|дня|веч\\.?|ніч|ночі)/i,\n wide: /^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^півн/i,\n noon: /^пол/i,\n morning: /^р/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, do MMMM, y',\n long: 'do MMMM, y',\n medium: 'd MMM, y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss zzzz',\n long: 'h:mm:ss z',\n medium: 'h:mm:ss',\n short: 'h:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'oldingi' eeee p 'da'\",\n yesterday: \"'kecha' p 'da'\",\n today: \"'bugun' p 'da'\",\n tomorrow: \"'ertaga' p 'da'\",\n nextWeek: \"eeee p 'da'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '1 сониядан кам',\n other: '{{count}} сониядан кам'\n },\n xSeconds: {\n one: '1 сония',\n other: '{{count}} сония'\n },\n halfAMinute: 'ярим дақиқа',\n lessThanXMinutes: {\n one: '1 дақиқадан кам',\n other: '{{count}} дақиқадан кам'\n },\n xMinutes: {\n one: '1 дақиқа',\n other: '{{count}} дақиқа'\n },\n aboutXHours: {\n one: 'тахминан 1 соат',\n other: 'тахминан {{count}} соат'\n },\n xHours: {\n one: '1 соат',\n other: '{{count}} соат'\n },\n xDays: {\n one: '1 кун',\n other: '{{count}} кун'\n },\n aboutXWeeks: {\n one: 'тахминан 1 хафта',\n other: 'тахминан {{count}} хафта'\n },\n xWeeks: {\n one: '1 хафта',\n other: '{{count}} хафта'\n },\n aboutXMonths: {\n one: 'тахминан 1 ой',\n other: 'тахминан {{count}} ой'\n },\n xMonths: {\n one: '1 ой',\n other: '{{count}} ой'\n },\n aboutXYears: {\n one: 'тахминан 1 йил',\n other: 'тахминан {{count}} йил'\n },\n xYears: {\n one: '1 йил',\n other: '{{count}} йил'\n },\n overXYears: {\n one: '1 йилдан кўп',\n other: '{{count}} йилдан кўп'\n },\n almostXYears: {\n one: 'деярли 1 йил',\n other: 'деярли {{count}} йил'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + 'дан кейин';\n } else {\n return result + ' олдин';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['M.A', 'M.'],\n abbreviated: ['M.A', 'M.'],\n wide: ['Miloddan Avvalgi', 'Milodiy']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['CH.1', 'CH.2', 'CH.3', 'CH.4'],\n wide: ['1-chi chorak', '2-chi chorak', '3-chi chorak', '4-chi chorak']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Iyun', 'Iyul', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'],\n wide: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr']\n};\nvar dayValues = {\n narrow: ['Y', 'D', 'S', 'CH', 'P', 'J', 'SH'],\n short: ['Ya', 'Du', 'Se', 'Cho', 'Pa', 'Ju', 'Sha'],\n abbreviated: ['Yak', 'Dush', 'Sesh', 'Chor', 'Pay', 'Jum', 'Shan'],\n wide: ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'y.t',\n noon: 'p.',\n morning: 'ertalab',\n afternoon: 'tushdan keyin',\n evening: 'kechqurun',\n night: 'tun'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'yarim tun',\n noon: 'peshin',\n morning: 'ertalab',\n afternoon: 'tushdan keyin',\n evening: 'kechqurun',\n night: 'tun'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'yarim tun',\n noon: 'peshin',\n morning: 'ertalab',\n afternoon: 'tushdan keyin',\n evening: 'kechqurun',\n night: 'tun'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'y.t',\n noon: 'p.',\n morning: 'ertalab',\n afternoon: 'tushdan keyin',\n evening: 'kechqurun',\n night: 'tun'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'yarim tun',\n noon: 'peshin',\n morning: 'ertalab',\n afternoon: 'tushdan keyin',\n evening: 'kechqurun',\n night: 'tun'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'yarim tun',\n noon: 'peshin',\n morning: 'ertalab',\n afternoon: 'tushdan keyin',\n evening: 'kechqurun',\n night: 'tun'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(chi)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(m\\.a|m\\.)/i,\n abbreviated: /^(m\\.a\\.?\\s?m\\.?)/i,\n wide: /^(miloddan avval|miloddan keyin)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](chi)? chorak/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[yfmasond]/i,\n abbreviated: /^(yan|fev|mar|apr|may|iyun|iyul|avg|sen|okt|noy|dek)/i,\n wide: /^(yanvar|fevral|mart|aprel|may|iyun|iyul|avgust|sentabr|oktabr|noyabr|dekabr)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^y/i, /^f/i, /^m/i, /^a/i, /^m/i, /^i/i, /^i/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ya/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^iyun/i, /^iyul/i, /^av/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[ydschj]/i,\n short: /^(ya|du|se|cho|pa|ju|sha)/i,\n abbreviated: /^(yak|dush|sesh|chor|pay|jum|shan)/i,\n wide: /^(yakshanba|dushanba|seshanba|chorshanba|payshanba|juma|shanba)/i\n};\nvar parseDayPatterns = {\n narrow: [/^y/i, /^d/i, /^s/i, /^ch/i, /^p/i, /^j/i, /^sh/i],\n any: [/^ya/i, /^d/i, /^se/i, /^ch/i, /^p/i, /^j/i, /^sh/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|y\\.t|p| (ertalab|tushdan keyin|kechqurun|tun))/i,\n any: /^([ap]\\.?\\s?m\\.?|yarim tun|peshin| (ertalab|tushdan keyin|kechqurun|tun))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^y\\.t/i,\n noon: /^pe/i,\n morning: /ertalab/i,\n afternoon: /tushdan keyin/i,\n evening: /kechqurun/i,\n night: /tun/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, do MMMM, y',\n long: 'do MMMM, y',\n medium: 'd MMM, y',\n short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n full: 'H:mm:ss zzzz',\n long: 'H:mm:ss z',\n medium: 'H:mm:ss',\n short: 'H:mm'\n};\nvar dateTimeFormats = {\n any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'any'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'ўтган' eeee p 'да'\",\n yesterday: \"'кеча' p 'да'\",\n today: \"'бугун' p 'да'\",\n tomorrow: \"'эртага' p 'да'\",\n nextWeek: \"eeee p 'да'\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'dưới 1 giây',\n other: 'dưới {{count}} giây'\n },\n xSeconds: {\n one: '1 giây',\n other: '{{count}} giây'\n },\n halfAMinute: 'nửa phút',\n lessThanXMinutes: {\n one: 'dưới 1 phút',\n other: 'dưới {{count}} phút'\n },\n xMinutes: {\n one: '1 phút',\n other: '{{count}} phút'\n },\n aboutXHours: {\n one: 'khoảng 1 giờ',\n other: 'khoảng {{count}} giờ'\n },\n xHours: {\n one: '1 giờ',\n other: '{{count}} giờ'\n },\n xDays: {\n one: '1 ngày',\n other: '{{count}} ngày'\n },\n aboutXWeeks: {\n one: 'khoảng 1 tuần',\n other: 'khoảng {{count}} tuần'\n },\n xWeeks: {\n one: '1 tuần',\n other: '{{count}} tuần'\n },\n aboutXMonths: {\n one: 'khoảng 1 tháng',\n other: 'khoảng {{count}} tháng'\n },\n xMonths: {\n one: '1 tháng',\n other: '{{count}} tháng'\n },\n aboutXYears: {\n one: 'khoảng 1 năm',\n other: 'khoảng {{count}} năm'\n },\n xYears: {\n one: '1 năm',\n other: '{{count}} năm'\n },\n overXYears: {\n one: 'hơn 1 năm',\n other: 'hơn {{count}} năm'\n },\n almostXYears: {\n one: 'gần 1 năm',\n other: 'gần {{count}} năm'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + ' nữa';\n } else {\n return result + ' trước';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['М.А', 'М'],\n abbreviated: ['М.А', 'М'],\n wide: ['Милоддан Аввалги', 'Милодий']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['1-чор.', '2-чор.', '3-чор.', '4-чор.'],\n wide: ['1-чорак', '2-чорак', '3-чорак', '4-чорак']\n};\nvar monthValues = {\n narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n abbreviated: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],\n wide: ['январ', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'август', 'сентабр', 'октабр', 'ноябр', 'декабр']\n};\nvar dayValues = {\n narrow: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'],\n short: ['як', 'ду', 'се', 'чо', 'па', 'жу', 'ша'],\n abbreviated: ['якш', 'душ', 'сеш', 'чор', 'пай', 'жум', 'шан'],\n wide: ['якшанба', 'душанба', 'сешанба', 'чоршанба', 'пайшанба', 'жума', 'шанба']\n};\nvar dayPeriodValues = {\n any: {\n am: 'П.О.',\n pm: 'П.К.',\n midnight: 'ярим тун',\n noon: 'пешин',\n morning: 'эрталаб',\n afternoon: 'пешиндан кейин',\n evening: 'кечаси',\n night: 'тун'\n }\n};\nvar formattingDayPeriodValues = {\n any: {\n am: 'П.О.',\n pm: 'П.К.',\n midnight: 'ярим тун',\n noon: 'пешин',\n morning: 'эрталаб',\n afternoon: 'пешиндан кейин',\n evening: 'кечаси',\n night: 'тун'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n return String(dirtyNumber);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'any',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'any'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(чи)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(м\\.а|м\\.)/i,\n abbreviated: /^(м\\.а|м\\.)/i,\n wide: /^(милоддан аввал|милоддан кейин)/i\n};\nvar parseEraPatterns = {\n any: [/^м/i, /^а/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234]-чор./i,\n wide: /^[1234]-чорак/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[яфмамииасонд]/i,\n abbreviated: /^(янв|фев|мар|апр|май|июн|июл|авг|сен|окт|ноя|дек)/i,\n wide: /^(январ|феврал|март|апрел|май|июн|июл|август|сентабр|октабр|ноябр|декабр)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^я/i, /^ф/i, /^м/i, /^а/i, /^м/i, /^и/i, /^и/i, /^а/i, /^с/i, /^о/i, /^н/i, /^д/i],\n any: [/^я/i, /^ф/i, /^мар/i, /^ап/i, /^май/i, /^июн/i, /^июл/i, /^ав/i, /^с/i, /^о/i, /^н/i, /^д/i]\n};\nvar matchDayPatterns = {\n narrow: /^[ядсчпжш]/i,\n short: /^(як|ду|се|чо|па|жу|ша)/i,\n abbreviated: /^(якш|душ|сеш|чор|пай|жум|шан)/i,\n wide: /^(якшанба|душанба|сешанба|чоршанба|пайшанба|жума|шанба)/i\n};\nvar parseDayPatterns = {\n narrow: [/^я/i, /^д/i, /^с/i, /^ч/i, /^п/i, /^ж/i, /^ш/i],\n any: [/^як/i, /^ду/i, /^се/i, /^чор/i, /^пай/i, /^жу/i, /^шан/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(п\\.о\\.|п\\.к\\.|ярим тун|пешиндан кейин|(эрталаб|пешиндан кейин|кечаси|тун))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^п\\.о\\./i,\n pm: /^п\\.к\\./i,\n midnight: /^ярим тун/i,\n noon: /^пешиндан кейин/i,\n morning: /эрталаб/i,\n afternoon: /пешиндан кейин/i,\n evening: /кечаси/i,\n night: /тун/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n // thứ Sáu, ngày 25 tháng 08 năm 2017\n full: \"EEEE, 'ngày' d MMMM 'năm' y\",\n // ngày 25 tháng 08 năm 2017\n long: \"'ngày' d MMMM 'năm' y\",\n // 25 thg 08 năm 2017\n medium: \"d MMM 'năm' y\",\n // 25/08/2017\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n // thứ Sáu, ngày 25 tháng 08 năm 2017 23:25:59\n full: '{{date}} {{time}}',\n // ngày 25 tháng 08 năm 2017 23:25\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"eeee 'tuần trước vào lúc' p\",\n yesterday: \"'hôm qua vào lúc' p\",\n today: \"'hôm nay vào lúc' p\",\n tomorrow: \"'ngày mai vào lúc' p\",\n nextWeek: \"eeee 'tới vào lúc' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '不到 1 秒',\n other: '不到 {{count}} 秒'\n },\n xSeconds: {\n one: '1 秒',\n other: '{{count}} 秒'\n },\n halfAMinute: '半分钟',\n lessThanXMinutes: {\n one: '不到 1 分钟',\n other: '不到 {{count}} 分钟'\n },\n xMinutes: {\n one: '1 分钟',\n other: '{{count}} 分钟'\n },\n xHours: {\n one: '1 小时',\n other: '{{count}} 小时'\n },\n aboutXHours: {\n one: '大约 1 小时',\n other: '大约 {{count}} 小时'\n },\n xDays: {\n one: '1 天',\n other: '{{count}} 天'\n },\n aboutXWeeks: {\n one: '大约 1 个星期',\n other: '大约 {{count}} 个星期'\n },\n xWeeks: {\n one: '1 个星期',\n other: '{{count}} 个星期'\n },\n aboutXMonths: {\n one: '大约 1 个月',\n other: '大约 {{count}} 个月'\n },\n xMonths: {\n one: '1 个月',\n other: '{{count}} 个月'\n },\n aboutXYears: {\n one: '大约 1 年',\n other: '大约 {{count}} 年'\n },\n xYears: {\n one: '1 年',\n other: '{{count}} 年'\n },\n overXYears: {\n one: '超过 1 年',\n other: '超过 {{count}} 年'\n },\n almostXYears: {\n one: '将近 1 年',\n other: '将近 {{count}} 年'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + '内';\n } else {\n return result + '前';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\"; // Vietnamese locale reference: http://www.localeplanet.com/icu/vi-VN/index.html\n// Capitalization reference: http://hcmup.edu.vn/index.php?option=com_content&view=article&id=4106%3Avit-hoa-trong-vn-bn-hanh-chinh&catid=2345%3Atham-kho&Itemid=4103&lang=vi&site=134\n\nvar eraValues = {\n narrow: ['TCN', 'SCN'],\n abbreviated: ['trước CN', 'sau CN'],\n wide: ['trước Công Nguyên', 'sau Công Nguyên']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['Quý 1', 'Quý 2', 'Quý 3', 'Quý 4']\n};\nvar formattingQuarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n // I notice many news outlet use this \"quý II/2018\"\n wide: ['quý I', 'quý II', 'quý III', 'quý IV']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n abbreviated: ['Thg 1', 'Thg 2', 'Thg 3', 'Thg 4', 'Thg 5', 'Thg 6', 'Thg 7', 'Thg 8', 'Thg 9', 'Thg 10', 'Thg 11', 'Thg 12'],\n wide: ['Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai']\n}; // In Vietnamese date formatting, month number less than 10 expected to have leading zero\n\nvar formattingMonthValues = {\n narrow: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],\n abbreviated: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', 'thg 7', 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'],\n wide: ['tháng 01', 'tháng 02', 'tháng 03', 'tháng 04', 'tháng 05', 'tháng 06', 'tháng 07', 'tháng 08', 'tháng 09', 'tháng 10', 'tháng 11', 'tháng 12']\n};\nvar dayValues = {\n narrow: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n short: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7'],\n abbreviated: ['CN', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'],\n wide: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy']\n}; // Vietnamese are used to AM/PM borrowing from English, hence `narrow` and\n// `abbreviated` are just like English but I'm leaving the `wide`\n// format being localized with abbreviations found in some systems (SÁng / CHiều);\n// however, personally, I don't think `Chiều` sounds appropriate for `PM`\n\nvar dayPeriodValues = {\n // narrow date period is extremely rare in Vietnamese\n // I used abbreviated form for noon, morning and afternoon\n // which are regconizable by Vietnamese, others cannot be any shorter\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'nửa đêm',\n noon: 'tr',\n morning: 'sg',\n afternoon: 'ch',\n evening: 'tối',\n night: 'đêm'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'nửa đêm',\n noon: 'trưa',\n morning: 'sáng',\n afternoon: 'chiều',\n evening: 'tối',\n night: 'đêm'\n },\n wide: {\n am: 'SA',\n pm: 'CH',\n midnight: 'nửa đêm',\n noon: 'trưa',\n morning: 'sáng',\n afternoon: 'chiều',\n evening: 'tối',\n night: 'đêm'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'am',\n pm: 'pm',\n midnight: 'nửa đêm',\n noon: 'tr',\n morning: 'sg',\n afternoon: 'ch',\n evening: 'tối',\n night: 'đêm'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'nửa đêm',\n noon: 'trưa',\n morning: 'sáng',\n afternoon: 'chiều',\n evening: 'tối',\n night: 'đêm'\n },\n wide: {\n am: 'SA',\n pm: 'CH',\n midnight: 'nửa đêm',\n noon: 'giữa trưa',\n morning: 'vào buổi sáng',\n afternoon: 'vào buổi chiều',\n evening: 'vào buổi tối',\n night: 'vào ban đêm'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n var unit = options === null || options === void 0 ? void 0 : options.unit;\n\n if (unit === 'quarter') {\n // many news outlets use \"quý I\"...\n switch (number) {\n case 1:\n return 'I';\n\n case 2:\n return 'II';\n\n case 3:\n return 'III';\n\n case 4:\n return 'IV';\n }\n } else if (unit === 'day') {\n // day of week in Vietnamese has ordinal number meaning,\n // so we should use them, else it'll sound weird\n switch (number) {\n case 1:\n return 'thứ 2';\n // meaning 2nd day but it's the first day of the week :D\n\n case 2:\n return 'thứ 3';\n // meaning 3rd day\n\n case 3:\n return 'thứ 4';\n // meaning 4th day and so on\n\n case 4:\n return 'thứ 5';\n\n case 5:\n return 'thứ 6';\n\n case 6:\n return 'thứ 7';\n\n case 7:\n return 'chủ nhật';\n // meaning Sunday, there's no 8th day :D\n }\n } else if (unit === 'week') {\n if (number === 1) {\n return 'thứ nhất';\n } else {\n return 'thứ ' + number;\n }\n } else if (unit === 'dayOfYear') {\n if (number === 1) {\n return 'đầu tiên';\n } else {\n return 'thứ ' + number;\n }\n } // there are no different forms of ordinal numbers in Vietnamese\n\n\n return String(number);\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n formattingValues: formattingQuarterValues,\n defaultFormattingWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide',\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(tcn|scn)/i,\n abbreviated: /^(trước CN|sau CN)/i,\n wide: /^(trước Công Nguyên|sau Công Nguyên)/i\n};\nvar parseEraPatterns = {\n any: [/^t/i, /^s/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^([1234]|i{1,3}v?)/i,\n abbreviated: /^q([1234]|i{1,3}v?)/i,\n wide: /^quý ([1234]|i{1,3}v?)/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|i)$/i, /(2|ii)$/i, /(3|iii)$/i, /(4|iv)$/i]\n};\nvar matchMonthPatterns = {\n // month number may contain leading 0, 'thg' prefix may have space, underscore or empty before number\n // note the order of '1' since it is a sub-string of '10', so must be lower priority\n narrow: /^(0?[2-9]|10|11|12|0?1)/i,\n // note the order of 'thg 1' since it is sub-string of 'thg 10', so must be lower priority\n abbreviated: /^thg[ _]?(0?[1-9](?!\\d)|10|11|12)/i,\n // note the order of 'Mười' since it is sub-string of Mười Một, so must be lower priority\n wide: /^tháng ?(Một|Hai|Ba|Tư|Năm|Sáu|Bảy|Tám|Chín|Mười|Mười ?Một|Mười ?Hai|0?[1-9](?!\\d)|10|11|12)/i\n};\nvar parseMonthPatterns = {\n narrow: [/0?1$/i, /0?2/i, /3/, /4/, /5/, /6/, /7/, /8/, /9/, /10/, /11/, /12/],\n abbreviated: [/^thg[ _]?0?1(?!\\d)/i, /^thg[ _]?0?2/i, /^thg[ _]?0?3/i, /^thg[ _]?0?4/i, /^thg[ _]?0?5/i, /^thg[ _]?0?6/i, /^thg[ _]?0?7/i, /^thg[ _]?0?8/i, /^thg[ _]?0?9/i, /^thg[ _]?10/i, /^thg[ _]?11/i, /^thg[ _]?12/i],\n wide: [/^tháng ?(Một|0?1(?!\\d))/i, /^tháng ?(Hai|0?2)/i, /^tháng ?(Ba|0?3)/i, /^tháng ?(Tư|0?4)/i, /^tháng ?(Năm|0?5)/i, /^tháng ?(Sáu|0?6)/i, /^tháng ?(Bảy|0?7)/i, /^tháng ?(Tám|0?8)/i, /^tháng ?(Chín|0?9)/i, /^tháng ?(Mười|10)/i, /^tháng ?(Mười ?Một|11)/i, /^tháng ?(Mười ?Hai|12)/i]\n};\nvar matchDayPatterns = {\n narrow: /^(CN|T2|T3|T4|T5|T6|T7)/i,\n short: /^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i,\n abbreviated: /^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i,\n wide: /^(Chủ ?Nhật|Chúa ?Nhật|thứ ?Hai|thứ ?Ba|thứ ?Tư|thứ ?Năm|thứ ?Sáu|thứ ?Bảy)/i\n};\nvar parseDayPatterns = {\n narrow: [/CN/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i],\n short: [/CN/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i],\n abbreviated: [/CN/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i],\n wide: [/(Chủ|Chúa) ?Nhật/i, /Hai/i, /Ba/i, /Tư/i, /Năm/i, /Sáu/i, /Bảy/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i,\n abbreviated: /^(am|pm|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i,\n wide: /^(ch[^i]*|sa|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^(a|sa)/i,\n pm: /^(p|ch[^i]*)/i,\n midnight: /nửa đêm/i,\n noon: /trưa/i,\n morning: /sáng/i,\n afternoon: /chiều/i,\n evening: /tối/i,\n night: /^đêm/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'wide'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'wide'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"y'年'M'月'd'日' EEEE\",\n long: \"y'年'M'月'd'日'\",\n medium: 'yyyy-MM-dd',\n short: 'yy-MM-dd'\n};\nvar timeFormats = {\n full: 'zzzz a h:mm:ss',\n long: 'z a h:mm:ss',\n medium: 'a h:mm:ss',\n short: 'a h:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\n\nfunction checkWeek(date, baseDate, options) {\n var baseFormat = 'eeee p';\n\n if (isSameUTCWeek(date, baseDate, options)) {\n return baseFormat; // in same week\n } else if (date.getTime() > baseDate.getTime()) {\n return \"'下个'\" + baseFormat; // in next week\n }\n\n return \"'上个'\" + baseFormat; // in last week\n}\n\nvar formatRelativeLocale = {\n lastWeek: checkWeek,\n // days before yesterday, maybe in this week or last week\n yesterday: \"'昨天' p\",\n today: \"'今天' p\",\n tomorrow: \"'明天' p\",\n nextWeek: checkWeek,\n // days after tomorrow, maybe in this week or next week\n other: 'PP p'\n};\n\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n var format = formatRelativeLocale[token];\n\n if (typeof format === 'function') {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '少於 1 秒',\n other: '少於 {{count}} 秒'\n },\n xSeconds: {\n one: '1 秒',\n other: '{{count}} 秒'\n },\n halfAMinute: '半分鐘',\n lessThanXMinutes: {\n one: '少於 1 分鐘',\n other: '少於 {{count}} 分鐘'\n },\n xMinutes: {\n one: '1 分鐘',\n other: '{{count}} 分鐘'\n },\n xHours: {\n one: '1 小時',\n other: '{{count}} 小時'\n },\n aboutXHours: {\n one: '大約 1 小時',\n other: '大約 {{count}} 小時'\n },\n xDays: {\n one: '1 天',\n other: '{{count}} 天'\n },\n aboutXWeeks: {\n one: '大約 1 個星期',\n other: '大約 {{count}} 個星期'\n },\n xWeeks: {\n one: '1 個星期',\n other: '{{count}} 個星期'\n },\n aboutXMonths: {\n one: '大約 1 個月',\n other: '大約 {{count}} 個月'\n },\n xMonths: {\n one: '1 個月',\n other: '{{count}} 個月'\n },\n aboutXYears: {\n one: '大約 1 年',\n other: '大約 {{count}} 年'\n },\n xYears: {\n one: '1 年',\n other: '{{count}} 年'\n },\n overXYears: {\n one: '超過 1 年',\n other: '超過 {{count}} 年'\n },\n almostXYears: {\n one: '將近 1 年',\n other: '將近 {{count}} 年'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + '內';\n } else {\n return result + '前';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['前', '公元'],\n abbreviated: ['前', '公元'],\n wide: ['公元前', '公元']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['第一季', '第二季', '第三季', '第四季'],\n wide: ['第一季度', '第二季度', '第三季度', '第四季度']\n};\nvar monthValues = {\n narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n narrow: ['日', '一', '二', '三', '四', '五', '六'],\n short: ['日', '一', '二', '三', '四', '五', '六'],\n abbreviated: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],\n wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n narrow: {\n am: '上',\n pm: '下',\n midnight: '凌晨',\n noon: '午',\n morning: '早',\n afternoon: '下午',\n evening: '晚',\n night: '夜'\n },\n abbreviated: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜间'\n },\n wide: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜间'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: '上',\n pm: '下',\n midnight: '凌晨',\n noon: '午',\n morning: '早',\n afternoon: '下午',\n evening: '晚',\n night: '夜'\n },\n abbreviated: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜间'\n },\n wide: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜间'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n\n switch (options === null || options === void 0 ? void 0 : options.unit) {\n case 'date':\n return number.toString() + '日';\n\n case 'hour':\n return number.toString() + '时';\n\n case 'minute':\n return number.toString() + '分';\n\n case 'second':\n return number.toString() + '秒';\n\n default:\n return '第 ' + number.toString();\n }\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|时|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(前)/i,\n abbreviated: /^(前)/i,\n wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^第[一二三四]刻/i,\n wide: /^第[一二三四]刻钟/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n narrow: /^[一二三四五六日]/i,\n short: /^[一二三四五六日]/i,\n abbreviated: /^周[一二三四五六日]/i,\n wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^上午?/i,\n pm: /^下午?/i,\n midnight: /^午夜/i,\n noon: /^[中正]午/i,\n morning: /^早上/i,\n afternoon: /^下午/i,\n evening: /^晚上?/i,\n night: /^凌晨/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"y'年'M'月'd'日' EEEE\",\n long: \"y'年'M'月'd'日'\",\n medium: 'yyyy-MM-dd',\n short: 'yy-MM-dd'\n};\nvar timeFormats = {\n full: 'zzzz a h:mm:ss',\n long: 'z a h:mm:ss',\n medium: 'a h:mm:ss',\n short: 'a h:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'上個'eeee p\",\n yesterday: \"'昨天' p\",\n today: \"'今天' p\",\n tomorrow: \"'明天' p\",\n nextWeek: \"'下個'eeee p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: '少於 1 秒',\n other: '少於 {{count}} 秒'\n },\n xSeconds: {\n one: '1 秒',\n other: '{{count}} 秒'\n },\n halfAMinute: '半分鐘',\n lessThanXMinutes: {\n one: '少於 1 分鐘',\n other: '少於 {{count}} 分鐘'\n },\n xMinutes: {\n one: '1 分鐘',\n other: '{{count}} 分鐘'\n },\n xHours: {\n one: '1 小時',\n other: '{{count}} 小時'\n },\n aboutXHours: {\n one: '大約 1 小時',\n other: '大約 {{count}} 小時'\n },\n xDays: {\n one: '1 天',\n other: '{{count}} 天'\n },\n aboutXWeeks: {\n one: '大約 1 個星期',\n other: '大約 {{count}} 個星期'\n },\n xWeeks: {\n one: '1 個星期',\n other: '{{count}} 個星期'\n },\n aboutXMonths: {\n one: '大約 1 個月',\n other: '大約 {{count}} 個月'\n },\n xMonths: {\n one: '1 個月',\n other: '{{count}} 個月'\n },\n aboutXYears: {\n one: '大約 1 年',\n other: '大約 {{count}} 年'\n },\n xYears: {\n one: '1 年',\n other: '{{count}} 年'\n },\n overXYears: {\n one: '超過 1 年',\n other: '超過 {{count}} 年'\n },\n almostXYears: {\n one: '將近 1 年',\n other: '將近 {{count}} 年'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return result + '內';\n } else {\n return result + '前';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['前', '公元'],\n abbreviated: ['前', '公元'],\n wide: ['公元前', '公元']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['第一季', '第二季', '第三季', '第四季'],\n wide: ['第一季度', '第二季度', '第三季度', '第四季度']\n};\nvar monthValues = {\n narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n narrow: ['日', '一', '二', '三', '四', '五', '六'],\n short: ['日', '一', '二', '三', '四', '五', '六'],\n abbreviated: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],\n wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n narrow: {\n am: '上',\n pm: '下',\n midnight: '午夜',\n noon: '晌',\n morning: '早',\n afternoon: '午',\n evening: '晚',\n night: '夜'\n },\n abbreviated: {\n am: '上午',\n pm: '下午',\n midnight: '午夜',\n noon: '中午',\n morning: '上午',\n afternoon: '下午',\n evening: '晚上',\n night: '夜晚'\n },\n wide: {\n am: '上午',\n pm: '下午',\n midnight: '午夜',\n noon: '中午',\n morning: '上午',\n afternoon: '下午',\n evening: '晚上',\n night: '夜晚'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: '上',\n pm: '下',\n midnight: '午夜',\n noon: '晌',\n morning: '早',\n afternoon: '午',\n evening: '晚',\n night: '夜'\n },\n abbreviated: {\n am: '上午',\n pm: '下午',\n midnight: '午夜',\n noon: '中午',\n morning: '上午',\n afternoon: '下午',\n evening: '晚上',\n night: '夜晚'\n },\n wide: {\n am: '上午',\n pm: '下午',\n midnight: '午夜',\n noon: '中午',\n morning: '上午',\n afternoon: '下午',\n evening: '晚上',\n night: '夜晚'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n\n switch (options === null || options === void 0 ? void 0 : options.unit) {\n case 'date':\n return number + '日';\n\n case 'hour':\n return number + '時';\n\n case 'minute':\n return number + '分';\n\n case 'second':\n return number + '秒';\n\n default:\n return '第 ' + number;\n }\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(前)/i,\n abbreviated: /^(前)/i,\n wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^第[一二三四]季/i,\n wide: /^第[一二三四]季度/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n narrow: /^[一二三四五六日]/i,\n short: /^[一二三四五六日]/i,\n abbreviated: /^週[一二三四五六日]/i,\n wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^上午?/i,\n pm: /^下午?/i,\n midnight: /^午夜/i,\n noon: /^[中正]午/i,\n morning: /^早上/i,\n afternoon: /^下午/i,\n evening: /^晚上?/i,\n night: /^凌晨/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"y'年'M'月'd'日' EEEE\",\n long: \"y'年'M'月'd'日'\",\n medium: 'yyyy-MM-dd',\n short: 'yy-MM-dd'\n};\nvar timeFormats = {\n full: 'zzzz a h:mm:ss',\n long: 'z a h:mm:ss',\n medium: 'a h:mm:ss',\n short: 'a h:mm'\n};\nvar dateTimeFormats = {\n full: '{{date}} {{time}}',\n long: '{{date}} {{time}}',\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'上個'eeee p\",\n yesterday: \"'昨天' p\",\n today: \"'今天' p\",\n tomorrow: \"'明天' p\",\n nextWeek: \"'下個'eeee p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['前', '公元'],\n abbreviated: ['前', '公元'],\n wide: ['公元前', '公元']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['第一刻', '第二刻', '第三刻', '第四刻'],\n wide: ['第一刻鐘', '第二刻鐘', '第三刻鐘', '第四刻鐘']\n};\nvar monthValues = {\n narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n narrow: ['日', '一', '二', '三', '四', '五', '六'],\n short: ['日', '一', '二', '三', '四', '五', '六'],\n abbreviated: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],\n wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n narrow: {\n am: '上',\n pm: '下',\n midnight: '凌晨',\n noon: '午',\n morning: '早',\n afternoon: '下午',\n evening: '晚',\n night: '夜'\n },\n abbreviated: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜間'\n },\n wide: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜間'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: '上',\n pm: '下',\n midnight: '凌晨',\n noon: '午',\n morning: '早',\n afternoon: '下午',\n evening: '晚',\n night: '夜'\n },\n abbreviated: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜間'\n },\n wide: {\n am: '上午',\n pm: '下午',\n midnight: '凌晨',\n noon: '中午',\n morning: '早晨',\n afternoon: '中午',\n evening: '晚上',\n night: '夜間'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n var number = Number(dirtyNumber);\n\n switch (options === null || options === void 0 ? void 0 : options.unit) {\n case 'date':\n return number + '日';\n\n case 'hour':\n return number + '時';\n\n case 'minute':\n return number + '分';\n\n case 'second':\n return number + '秒';\n\n default:\n return '第 ' + number;\n }\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(前)/i,\n abbreviated: /^(前)/i,\n wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^第[一二三四]刻/i,\n wide: /^第[一二三四]刻鐘/i\n};\nvar parseQuarterPatterns = {\n any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n narrow: /^[一二三四五六日]/i,\n short: /^[一二三四五六日]/i,\n abbreviated: /^週[一二三四五六日]/i,\n wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^上午?/i,\n pm: /^下午?/i,\n midnight: /^午夜/i,\n noon: /^[中正]午/i,\n morning: /^早上/i,\n afternoon: /^下午/i,\n evening: /^晚上?/i,\n night: /^凌晨/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"cldr/event\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ) );\n\t} else {\n\n\t\t// Global\n\t\troot.Globalize = factory( root.Cldr );\n\t}\n}( this, function( Cldr ) {\n\n\n/**\n * A toString method that outputs meaningful values for objects or arrays and\n * still performs as fast as a plain string in case variable is string, or as\n * fast as `\"\" + number` in case variable is a number.\n * Ref: http://jsperf.com/my-stringify\n */\nvar toString = function( variable ) {\n\treturn typeof variable === \"string\" ? variable : ( typeof variable === \"number\" ? \"\" +\n\t\tvariable : JSON.stringify( variable ) );\n};\n\n\n\n\n/**\n * formatMessage( message, data )\n *\n * @message [String] A message with optional {vars} to be replaced.\n *\n * @data [Array or JSON] Object with replacing-variables content.\n *\n * Return the formatted message. For example:\n *\n * - formatMessage( \"{0} second\", [ 1 ] ); // 1 second\n *\n * - formatMessage( \"{0}/{1}\", [\"m\", \"s\"] ); // m/s\n *\n * - formatMessage( \"{name} <{email}>\", {\n * name: \"Foo\",\n * email: \"bar@baz.qux\"\n * }); // Foo <bar@baz.qux>\n */\nvar formatMessage = function( message, data ) {\n\n\t// Replace {attribute}'s\n\tmessage = message.replace( /{[0-9a-zA-Z-_. ]+}/g, function( name ) {\n\t\tname = name.replace( /^{([^}]*)}$/, \"$1\" );\n\t\treturn toString( data[ name ] );\n\t});\n\n\treturn message;\n};\n\n\n\n\nvar objectExtend = function() {\n\tvar destination = arguments[ 0 ],\n\t\tsources = [].slice.call( arguments, 1 );\n\n\tsources.forEach(function( source ) {\n\t\tvar prop;\n\t\tfor ( prop in source ) {\n\t\t\tdestination[ prop ] = source[ prop ];\n\t\t}\n\t});\n\n\treturn destination;\n};\n\n\n\n\nvar createError = function( code, message, attributes ) {\n\tvar error;\n\n\tmessage = code + ( message ? \": \" + formatMessage( message, attributes ) : \"\" );\n\terror = new Error( message );\n\terror.code = code;\n\n\tobjectExtend( error, attributes );\n\n\treturn error;\n};\n\n\n\n\n/**\n * Pushes part to parts array, concat two consecutive parts of the same type.\n */\nvar partsPush = function( parts, type, value ) {\n\n\t\t// Concat two consecutive parts of same type\n\t\tif ( parts.length && parts[ parts.length - 1 ].type === type ) {\n\t\t\tparts[ parts.length - 1 ].value += value;\n\t\t\treturn;\n\t\t}\n\n\t\tparts.push( { type: type, value: value } );\n};\n\n\n\n\n/**\n * formatMessage( message, data )\n *\n * @message [String] A message with optional {vars} to be replaced.\n *\n * @data [Array or JSON] Object with replacing-variables content.\n *\n * Return the formatted message. For example:\n *\n * - formatMessage( \"{0} second\", [ 1 ] );\n * > [{type: \"variable\", value: \"1\", name: \"0\"}, {type: \"literal\", value: \" second\"}]\n *\n * - formatMessage( \"{0}/{1}\", [\"m\", \"s\"] );\n * > [\n * { type: \"variable\", value: \"m\", name: \"0\" },\n * { type: \"literal\", value: \" /\" },\n * { type: \"variable\", value: \"s\", name: \"1\" }\n * ]\n */\nvar formatMessageToParts = function( message, data ) {\n\n\tvar lastOffset = 0,\n\t\tparts = [];\n\n\t// Create parts.\n\tmessage.replace( /{[0-9a-zA-Z-_. ]+}/g, function( nameIncludingBrackets, offset ) {\n\t\tvar name = nameIncludingBrackets.slice( 1, -1 );\n\t\tpartsPush( parts, \"literal\", message.slice( lastOffset, offset ));\n\t\tpartsPush( parts, \"variable\", data[ name ] );\n\t\tparts[ parts.length - 1 ].name = name;\n\t\tlastOffset += offset + nameIncludingBrackets.length;\n\t});\n\n\t// Skip empty ones such as `{ type: 'literal', value: '' }`.\n\treturn parts.filter(function( part ) {\n\t\treturn part.value !== \"\";\n\t});\n};\n\n\n\n\n/**\n * Returns joined parts values.\n */\nvar partsJoin = function( parts ) {\n\treturn parts.map( function( part ) {\n\t\treturn part.value;\n\t}).join( \"\" );\n};\n\n\n\n\nvar runtimeStringify = function( args ) {\n\treturn JSON.stringify( args, function( _key, value ) {\n\t\tif ( value && value.runtimeKey ) {\n\t\t\treturn value.runtimeKey;\n\t\t}\n\t\treturn value;\n\t} );\n};\n\n\n\n\n// Based on http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery\nvar stringHash = function( str ) {\n\treturn [].reduce.call( str, function( hash, i ) {\n\t\tvar chr = i.charCodeAt( 0 );\n\t\thash = ( ( hash << 5 ) - hash ) + chr;\n\t\treturn hash | 0;\n\t}, 0 );\n};\n\n\n\n\nvar runtimeKey = function( fnName, locale, args, argsStr ) {\n\tvar hash;\n\targsStr = argsStr || runtimeStringify( args );\n\thash = stringHash( fnName + locale + argsStr );\n\treturn hash > 0 ? \"a\" + hash : \"b\" + Math.abs( hash );\n};\n\n\n\n\nvar functionName = function( fn ) {\n\tif ( fn.name !== undefined ) {\n\t\treturn fn.name;\n\t}\n\n\t// fn.name is not supported by IE.\n\tvar matches = /^function\\s+([\\w\\$]+)\\s*\\(/.exec( fn.toString() );\n\n\tif ( matches && matches.length > 0 ) {\n\t\treturn matches[ 1 ];\n\t}\n};\n\n\n\n\nvar runtimeBind = function( args, cldr, fn, runtimeArgs ) {\n\n\tvar argsStr = runtimeStringify( args ),\n\t\tfnName = functionName( fn ),\n\t\tlocale = cldr.locale;\n\n\t// If name of the function is not available, this is most likely due to uglification,\n\t// which most likely means we are in production, and runtimeBind here is not necessary.\n\tif ( !fnName ) {\n\t\treturn fn;\n\t}\n\n\tfn.runtimeKey = runtimeKey( fnName, locale, null, argsStr );\n\n\tfn.generatorString = function() {\n\t\treturn \"Globalize(\\\"\" + locale + \"\\\").\" + fnName + \"(\" + argsStr.slice( 1, -1 ) + \")\";\n\t};\n\n\tfn.runtimeArgs = runtimeArgs;\n\n\treturn fn;\n};\n\n\n\n\nvar validate = function( code, message, check, attributes ) {\n\tif ( !check ) {\n\t\tthrow createError( code, message, attributes );\n\t}\n};\n\n\n\n\nvar alwaysArray = function( stringOrArray ) {\n\treturn Array.isArray( stringOrArray ) ? stringOrArray : stringOrArray ? [ stringOrArray ] : [];\n};\n\n\n\n\nvar validateCldr = function( path, value, options ) {\n\tvar skipBoolean;\n\toptions = options || {};\n\n\tskipBoolean = alwaysArray( options.skip ).some(function( pathRe ) {\n\t\treturn pathRe.test( path );\n\t});\n\n\tvalidate( \"E_MISSING_CLDR\", \"Missing required CLDR content `{path}`.\", value || skipBoolean, {\n\t\tpath: path\n\t});\n};\n\n\n\n\nvar validateDefaultLocale = function( value ) {\n\tvalidate( \"E_DEFAULT_LOCALE_NOT_DEFINED\", \"Default locale has not been defined.\",\n\t\tvalue !== undefined, {} );\n};\n\n\n\n\nvar validateParameterPresence = function( value, name ) {\n\tvalidate( \"E_MISSING_PARAMETER\", \"Missing required parameter `{name}`.\",\n\t\tvalue !== undefined, { name: name });\n};\n\n\n\n\n/**\n * range( value, name, minimum, maximum )\n *\n * @value [Number].\n *\n * @name [String] name of variable.\n *\n * @minimum [Number]. The lowest valid value, inclusive.\n *\n * @maximum [Number]. The greatest valid value, inclusive.\n */\nvar validateParameterRange = function( value, name, minimum, maximum ) {\n\tvalidate(\n\t\t\"E_PAR_OUT_OF_RANGE\",\n\t\t\"Parameter `{name}` has value `{value}` out of range [{minimum}, {maximum}].\",\n\t\tvalue === undefined || value >= minimum && value <= maximum,\n\t\t{\n\t\t\tmaximum: maximum,\n\t\t\tminimum: minimum,\n\t\t\tname: name,\n\t\t\tvalue: value\n\t\t}\n\t);\n};\n\n\n\n\nvar validateParameterType = function( value, name, check, expected ) {\n\tvalidate(\n\t\t\"E_INVALID_PAR_TYPE\",\n\t\t\"Invalid `{name}` parameter ({value}). {expected} expected.\",\n\t\tcheck,\n\t\t{\n\t\t\texpected: expected,\n\t\t\tname: name,\n\t\t\tvalue: value\n\t\t}\n\t);\n};\n\n\n\n\nvar validateParameterTypeLocale = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"string\" || value instanceof Cldr,\n\t\t\"String or Cldr instance\"\n\t);\n};\n\n\n\n\n/**\n * Function inspired by jQuery Core, but reduced to our use case.\n */\nvar isPlainObject = function( obj ) {\n\treturn obj !== null && \"\" + obj === \"[object Object]\";\n};\n\n\n\n\nvar validateParameterTypePlainObject = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || isPlainObject( value ),\n\t\t\"Plain Object\"\n\t);\n};\n\n\n\n\nvar alwaysCldr = function( localeOrCldr ) {\n\treturn localeOrCldr instanceof Cldr ? localeOrCldr : new Cldr( localeOrCldr );\n};\n\n\n\n\n// ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FRegular_Expressions\nvar regexpEscape = function( string ) {\n\treturn string.replace( /([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\" );\n};\n\n\n\n\nvar stringPad = function( str, count, right ) {\n\tvar length;\n\tif ( typeof str !== \"string\" ) {\n\t\tstr = String( str );\n\t}\n\tfor ( length = str.length; length < count; length += 1 ) {\n\t\tstr = ( right ? ( str + \"0\" ) : ( \"0\" + str ) );\n\t}\n\treturn str;\n};\n\n\n\n\nfunction validateLikelySubtags( cldr ) {\n\tcldr.once( \"get\", validateCldr );\n\tcldr.get( \"supplemental/likelySubtags\" );\n}\n\n/**\n * [new] Globalize( locale|cldr )\n *\n * @locale [String]\n *\n * @cldr [Cldr instance]\n *\n * Create a Globalize instance.\n */\nfunction Globalize( locale ) {\n\tif ( !( this instanceof Globalize ) ) {\n\t\treturn new Globalize( locale );\n\t}\n\n\tvalidateParameterPresence( locale, \"locale\" );\n\tvalidateParameterTypeLocale( locale, \"locale\" );\n\n\tthis.cldr = alwaysCldr( locale );\n\n\tvalidateLikelySubtags( this.cldr );\n}\n\n/**\n * Globalize.load( json, ... )\n *\n * @json [JSON]\n *\n * Load resolved or unresolved cldr data.\n * Somewhat equivalent to previous Globalize.addCultureInfo(...).\n */\nGlobalize.load = function() {\n\n\t// validations are delegated to Cldr.load().\n\tCldr.load.apply( Cldr, arguments );\n};\n\n/**\n * Globalize.locale( [locale|cldr] )\n *\n * @locale [String]\n *\n * @cldr [Cldr instance]\n *\n * Set default Cldr instance if locale or cldr argument is passed.\n *\n * Return the default Cldr instance.\n */\nGlobalize.locale = function( locale ) {\n\tvalidateParameterTypeLocale( locale, \"locale\" );\n\n\tif ( arguments.length ) {\n\t\tthis.cldr = alwaysCldr( locale );\n\t\tvalidateLikelySubtags( this.cldr );\n\t}\n\treturn this.cldr;\n};\n\n/**\n * Optimization to avoid duplicating some internal functions across modules.\n */\nGlobalize._alwaysArray = alwaysArray;\nGlobalize._createError = createError;\nGlobalize._formatMessage = formatMessage;\nGlobalize._formatMessageToParts = formatMessageToParts;\nGlobalize._isPlainObject = isPlainObject;\nGlobalize._objectExtend = objectExtend;\nGlobalize._partsJoin = partsJoin;\nGlobalize._partsPush = partsPush;\nGlobalize._regexpEscape = regexpEscape;\nGlobalize._runtimeBind = runtimeBind;\nGlobalize._stringPad = stringPad;\nGlobalize._validate = validate;\nGlobalize._validateCldr = validateCldr;\nGlobalize._validateDefaultLocale = validateDefaultLocale;\nGlobalize._validateParameterPresence = validateParameterPresence;\nGlobalize._validateParameterRange = validateParameterRange;\nGlobalize._validateParameterTypePlainObject = validateParameterTypePlainObject;\nGlobalize._validateParameterType = validateParameterType;\n\nreturn Globalize;\n\n\n\n\n}));\n","/*!\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"./number\",\n\t\t\t\"cldr/event\",\n\t\t\t\"cldr/supplemental\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar alwaysArray = Globalize._alwaysArray,\n\tcreateError = Globalize._createError,\n\tformatMessageToParts = Globalize._formatMessageToParts,\n\tnumberNumberingSystem = Globalize._numberNumberingSystem,\n\tnumberPattern = Globalize._numberPattern,\n\tpartsJoin = Globalize._partsJoin,\n\tpartsPush = Globalize._partsPush,\n\truntimeBind = Globalize._runtimeBind,\n\tstringPad = Globalize._stringPad,\n\tvalidateCldr = Globalize._validateCldr,\n\tvalidateDefaultLocale = Globalize._validateDefaultLocale,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterTypeNumber = Globalize._validateParameterTypeNumber,\n\tvalidateParameterTypePlainObject = Globalize._validateParameterTypePlainObject;\n\n\nvar createErrorPluralModulePresence = function() {\n\treturn createError( \"E_MISSING_PLURAL_MODULE\", \"Plural module not loaded.\" );\n};\n\n\n\n\nvar validateParameterTypeCurrency = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"string\" && ( /^[A-Za-z]{3}$/ ).test( value ),\n\t\t\"3-letter currency code string as defined by ISO 4217\"\n\t);\n};\n\n\n\n\nvar currencyFormatterFn = function( currencyToPartsFormatter ) {\n\treturn function currencyFormatter( value ) {\n\t\treturn partsJoin( currencyToPartsFormatter( value ));\n\t};\n};\n\n\n\n\n/**\n * supplementalOverride( currency, pattern, cldr )\n *\n * Return pattern with fraction digits overriden by supplemental currency data.\n */\nvar currencySupplementalOverride = function( currency, pattern, cldr ) {\n\tvar digits,\n\t\tfraction = \"\",\n\t\tfractionData = cldr.supplemental([ \"currencyData/fractions\", currency ]) ||\n\t\t\tcldr.supplemental( \"currencyData/fractions/DEFAULT\" );\n\n\tdigits = +fractionData._digits;\n\n\tif ( digits ) {\n\t\tfraction = \".\" + stringPad( \"0\", digits ).slice( 0, -1 ) + fractionData._rounding;\n\t}\n\n\treturn pattern.replace( /\\.(#+|0*[0-9]|0+[0-9]?)/g, fraction );\n};\n\n\n\n\nvar objectFilter = function( object, testRe ) {\n\tvar key,\n\t\tcopy = {};\n\n\tfor ( key in object ) {\n\t\tif ( testRe.test( key ) ) {\n\t\t\tcopy[ key ] = object[ key ];\n\t\t}\n\t}\n\n\treturn copy;\n};\n\n\n\n\nvar currencyUnitPatterns = function( cldr ) {\n\treturn objectFilter( cldr.main([\n\t\t\"numbers\",\n\t\t\"currencyFormats-numberSystem-\" + numberNumberingSystem( cldr )\n\t]), /^unitPattern/ );\n};\n\n\n\n\n/**\n * nameProperties( currency, cldr )\n *\n * Return number pattern with the appropriate currency code in as literal.\n */\nvar currencyNameProperties = function( currency, cldr ) {\n\tvar pattern = numberPattern( \"decimal\", cldr );\n\n\t// The number of decimal places and the rounding for each currency is not locale-specific. Those\n\t// values overridden by Supplemental Currency Data.\n\tpattern = currencySupplementalOverride( currency, pattern, cldr );\n\n\treturn {\n\t\tdisplayNames: objectFilter( cldr.main([\n\t\t\t\"numbers/currencies\",\n\t\t\tcurrency\n\t\t]), /^displayName/ ),\n\t\tpattern: pattern,\n\t\tunitPatterns: currencyUnitPatterns( cldr )\n\t};\n};\n\n\n\n\n/**\n * Unicode regular expression for: everything except symbols from the category S\n *\n * Generated by:\n *\n * var s = regenerate()\n * .addRange( 0x0, 0x10FFFF )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Math_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Currency_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Modifier_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Other_Symbol/symbols\" ) )\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n * http://www.unicode.org/reports/tr44/#General_Category_Values\n */\nvar regexpNotS = /[\\0-#%-\\*,-;\\?-\\]_a-\\{\\}\\x7F-\\xA1\\xA7\\xAA\\xAB\\xAD\\xB2\\xB3\\xB5-\\xB7\\xB9-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376-\\u0383\\u0386-\\u03F5\\u03F7-\\u0481\\u0483-\\u058C\\u0590-\\u0605\\u0609\\u060A\\u060C\\u060D\\u0610-\\u06DD\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF-\\u07F5\\u07F7-\\u07FD\\u0800-\\u09F1\\u09F4-\\u09F9\\u09FC-\\u0AF0\\u0AF2-\\u0B6F\\u0B71-\\u0BF2\\u0BFB-\\u0C7E\\u0C80-\\u0D4E\\u0D50-\\u0D78\\u0D7A-\\u0E3E\\u0E40-\\u0F00\\u0F04-\\u0F12\\u0F14\\u0F18\\u0F19\\u0F20-\\u0F33\\u0F35\\u0F37\\u0F39-\\u0FBD\\u0FC6\\u0FCD\\u0FD0-\\u0FD4\\u0FD9-\\u109D\\u10A0-\\u138F\\u139A-\\u166C\\u166E-\\u17DA\\u17DC-\\u193F\\u1941-\\u19DD\\u1A00-\\u1B60\\u1B6B-\\u1B73\\u1B7D-\\u1FBC\\u1FBE\\u1FC2-\\u1FCC\\u1FD0-\\u1FDC\\u1FE0-\\u1FEC\\u1FF0-\\u1FFC\\u1FFF-\\u2043\\u2045-\\u2051\\u2053-\\u2079\\u207D-\\u2089\\u208D-\\u209F\\u20C0-\\u20FF\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u218C-\\u218F\\u2308-\\u230B\\u2329\\u232A\\u2427-\\u243F\\u244B-\\u249B\\u24EA-\\u24FF\\u2768-\\u2793\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2B74\\u2B75\\u2B96\\u2C00-\\u2CE4\\u2CEB-\\u2E4F\\u2E52-\\u2E7F\\u2E9A\\u2EF4-\\u2EFF\\u2FD6-\\u2FEF\\u2FFC-\\u3003\\u3005-\\u3011\\u3014-\\u301F\\u3021-\\u3035\\u3038-\\u303D\\u3040-\\u309A\\u309D-\\u318F\\u3192-\\u3195\\u31A0-\\u31BF\\u31E4-\\u31FF\\u321F-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\uA48F\\uA4C7-\\uA6FF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA827\\uA82C-\\uA835\\uA83A-\\uAA76\\uAA7A-\\uAB5A\\uAB5C-\\uAB69\\uAB6C-\\uD7FF\\uE000-\\uFB28\\uFB2A-\\uFBB1\\uFBC2-\\uFDFB\\uFDFE-\\uFE61\\uFE63\\uFE67\\uFE68\\uFE6A-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF1B\\uFF1F-\\uFF3D\\uFF3F\\uFF41-\\uFF5B\\uFF5D\\uFF5F-\\uFFDF\\uFFE7\\uFFEF-\\uFFFB\\uFFFE\\uFFFF]|\\uD800[\\uDC00-\\uDD36\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDD8F\\uDD9D-\\uDD9F\\uDDA1-\\uDDCF\\uDDFD-\\uDFFF]|[\\uD801\\uD803\\uD804\\uD806\\uD808-\\uD819\\uD81B-\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83A\\uD83F-\\uDBFF][\\uDC00-\\uDFFF]|\\uD802[\\uDC00-\\uDC76\\uDC79-\\uDEC7\\uDEC9-\\uDFFF]|\\uD805[\\uDC00-\\uDF3E\\uDF40-\\uDFFF]|\\uD807[\\uDC00-\\uDFD4\\uDFF2-\\uDFFF]|\\uD81A[\\uDC00-\\uDF3B\\uDF40-\\uDF44\\uDF46-\\uDFFF]|\\uD82F[\\uDC00-\\uDC9B\\uDC9D-\\uDFFF]|\\uD834[\\uDCF6-\\uDCFF\\uDD27\\uDD28\\uDD65-\\uDD69\\uDD6D-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDDE9-\\uDDFF\\uDE42-\\uDE44\\uDE46-\\uDEFF\\uDF57-\\uDFFF]|\\uD835[\\uDC00-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE87-\\uDFFF]|\\uD838[\\uDC00-\\uDD4E\\uDD50-\\uDEFE\\uDF00-\\uDFFF]|\\uD83B[\\uDC00-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDD2D\\uDD2F-\\uDEEF\\uDEF2-\\uDFFF]|\\uD83C[\\uDC2C-\\uDC2F\\uDC94-\\uDC9F\\uDCAF\\uDCB0\\uDCC0\\uDCD0\\uDCF6-\\uDD0C\\uDDAE-\\uDDE5\\uDE03-\\uDE0F\\uDE3C-\\uDE3F\\uDE49-\\uDE4F\\uDE52-\\uDE5F\\uDE66-\\uDEFF]|\\uD83D[\\uDED8-\\uDEDF\\uDEED-\\uDEEF\\uDEFD-\\uDEFF\\uDF74-\\uDF7F\\uDFD9-\\uDFDF\\uDFEC-\\uDFFF]|\\uD83E[\\uDC0C-\\uDC0F\\uDC48-\\uDC4F\\uDC5A-\\uDC5F\\uDC88-\\uDC8F\\uDCAE\\uDCAF\\uDCB2-\\uDCFF\\uDD79\\uDDCC\\uDE54-\\uDE5F\\uDE6E\\uDE6F\\uDE75-\\uDE77\\uDE7B-\\uDE7F\\uDE87-\\uDE8F\\uDEA9-\\uDEAF\\uDEB7-\\uDEBF\\uDEC3-\\uDECF\\uDED7-\\uDEFF\\uDF93\\uDFCB-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\n\n\n\n/**\n * Unicode regular expression for: everything except symbols from categories S and Z\n *\n * Generated by:\n *\n * var s = regenerate()\n * .addRange( 0x0, 0x10FFFF )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Math_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Currency_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Modifier_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Other_Symbol/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Space_Separator/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Line_Separator/symbols\" ) )\n * .remove( require( \"@unicode/unicode-13.0.0/General_Category/Paragraph_Separator/symbols\" ) );\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n * http://www.unicode.org/reports/tr44/#General_Category_Values\n */\nvar regexpNotSAndZ = /[\\0-\\x1F!-#%-\\*,-;\\?-\\]_a-\\{\\}\\x7F-\\x9F\\xA1\\xA7\\xAA\\xAB\\xAD\\xB2\\xB3\\xB5-\\xB7\\xB9-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376-\\u0383\\u0386-\\u03F5\\u03F7-\\u0481\\u0483-\\u058C\\u0590-\\u0605\\u0609\\u060A\\u060C\\u060D\\u0610-\\u06DD\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF-\\u07F5\\u07F7-\\u07FD\\u0800-\\u09F1\\u09F4-\\u09F9\\u09FC-\\u0AF0\\u0AF2-\\u0B6F\\u0B71-\\u0BF2\\u0BFB-\\u0C7E\\u0C80-\\u0D4E\\u0D50-\\u0D78\\u0D7A-\\u0E3E\\u0E40-\\u0F00\\u0F04-\\u0F12\\u0F14\\u0F18\\u0F19\\u0F20-\\u0F33\\u0F35\\u0F37\\u0F39-\\u0FBD\\u0FC6\\u0FCD\\u0FD0-\\u0FD4\\u0FD9-\\u109D\\u10A0-\\u138F\\u139A-\\u166C\\u166E-\\u167F\\u1681-\\u17DA\\u17DC-\\u193F\\u1941-\\u19DD\\u1A00-\\u1B60\\u1B6B-\\u1B73\\u1B7D-\\u1FBC\\u1FBE\\u1FC2-\\u1FCC\\u1FD0-\\u1FDC\\u1FE0-\\u1FEC\\u1FF0-\\u1FFC\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u2060-\\u2079\\u207D-\\u2089\\u208D-\\u209F\\u20C0-\\u20FF\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u218C-\\u218F\\u2308-\\u230B\\u2329\\u232A\\u2427-\\u243F\\u244B-\\u249B\\u24EA-\\u24FF\\u2768-\\u2793\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2B74\\u2B75\\u2B96\\u2C00-\\u2CE4\\u2CEB-\\u2E4F\\u2E52-\\u2E7F\\u2E9A\\u2EF4-\\u2EFF\\u2FD6-\\u2FEF\\u2FFC-\\u2FFF\\u3001-\\u3003\\u3005-\\u3011\\u3014-\\u301F\\u3021-\\u3035\\u3038-\\u303D\\u3040-\\u309A\\u309D-\\u318F\\u3192-\\u3195\\u31A0-\\u31BF\\u31E4-\\u31FF\\u321F-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\uA48F\\uA4C7-\\uA6FF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA827\\uA82C-\\uA835\\uA83A-\\uAA76\\uAA7A-\\uAB5A\\uAB5C-\\uAB69\\uAB6C-\\uD7FF\\uE000-\\uFB28\\uFB2A-\\uFBB1\\uFBC2-\\uFDFB\\uFDFE-\\uFE61\\uFE63\\uFE67\\uFE68\\uFE6A-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF1B\\uFF1F-\\uFF3D\\uFF3F\\uFF41-\\uFF5B\\uFF5D\\uFF5F-\\uFFDF\\uFFE7\\uFFEF-\\uFFFB\\uFFFE\\uFFFF]|\\uD800[\\uDC00-\\uDD36\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDD8F\\uDD9D-\\uDD9F\\uDDA1-\\uDDCF\\uDDFD-\\uDFFF]|[\\uD801\\uD803\\uD804\\uD806\\uD808-\\uD819\\uD81B-\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83A\\uD83F-\\uDBFF][\\uDC00-\\uDFFF]|\\uD802[\\uDC00-\\uDC76\\uDC79-\\uDEC7\\uDEC9-\\uDFFF]|\\uD805[\\uDC00-\\uDF3E\\uDF40-\\uDFFF]|\\uD807[\\uDC00-\\uDFD4\\uDFF2-\\uDFFF]|\\uD81A[\\uDC00-\\uDF3B\\uDF40-\\uDF44\\uDF46-\\uDFFF]|\\uD82F[\\uDC00-\\uDC9B\\uDC9D-\\uDFFF]|\\uD834[\\uDCF6-\\uDCFF\\uDD27\\uDD28\\uDD65-\\uDD69\\uDD6D-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDDE9-\\uDDFF\\uDE42-\\uDE44\\uDE46-\\uDEFF\\uDF57-\\uDFFF]|\\uD835[\\uDC00-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE87-\\uDFFF]|\\uD838[\\uDC00-\\uDD4E\\uDD50-\\uDEFE\\uDF00-\\uDFFF]|\\uD83B[\\uDC00-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDD2D\\uDD2F-\\uDEEF\\uDEF2-\\uDFFF]|\\uD83C[\\uDC2C-\\uDC2F\\uDC94-\\uDC9F\\uDCAF\\uDCB0\\uDCC0\\uDCD0\\uDCF6-\\uDD0C\\uDDAE-\\uDDE5\\uDE03-\\uDE0F\\uDE3C-\\uDE3F\\uDE49-\\uDE4F\\uDE52-\\uDE5F\\uDE66-\\uDEFF]|\\uD83D[\\uDED8-\\uDEDF\\uDEED-\\uDEEF\\uDEFD-\\uDEFF\\uDF74-\\uDF7F\\uDFD9-\\uDFDF\\uDFEC-\\uDFFF]|\\uD83E[\\uDC0C-\\uDC0F\\uDC48-\\uDC4F\\uDC5A-\\uDC5F\\uDC88-\\uDC8F\\uDCAE\\uDCAF\\uDCB2-\\uDCFF\\uDD79\\uDDCC\\uDE54-\\uDE5F\\uDE6E\\uDE6F\\uDE75-\\uDE77\\uDE7B-\\uDE7F\\uDE87-\\uDE8F\\uDEA9-\\uDEAF\\uDEB7-\\uDEBF\\uDEC3-\\uDECF\\uDED7-\\uDEFF\\uDF93\\uDFCB-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\n\n\n\n/**\n * symbolProperties( currency, cldr )\n *\n * Return pattern replacing `¤` with the appropriate currency symbol literal.\n */\nvar currencySymbolProperties = function( currency, cldr, options ) {\n\tvar currencySpacing, pattern, symbol, symbolEntries,\n\t\tregexp = {\n\t\t\t\"[:digit:]\": /\\d/,\n\t\t\t\"[:^S:]\": regexpNotS,\n\t\t\t\"[[:^S:]&[:^Z:]]\": regexpNotSAndZ\n\t\t};\n\n\tif ( options.style === \"code\" ) {\n\t\tsymbol = currency;\n\t} else {\n\t\tsymbolEntries = [ \"symbol\" ];\n\n\t\t// If options.symbolForm === \"narrow\" was passed, prepend it.\n\t\tif ( options.symbolForm === \"narrow\" ) {\n\t\t\tsymbolEntries.unshift( \"symbol-alt-narrow\" );\n\t\t}\n\n\t\tsymbolEntries.some(function( symbolEntry ) {\n\t\t\treturn symbol = cldr.main([\n\t\t\t\t\"numbers/currencies\",\n\t\t\t\tcurrency,\n\t\t\t\tsymbolEntry\n\t\t\t]);\n\t\t});\n\t}\n\n\tcurrencySpacing = [ \"beforeCurrency\", \"afterCurrency\" ].map(function( position ) {\n\t\treturn cldr.main([\n\t\t\t\"numbers\",\n\t\t\t\"currencyFormats-numberSystem-\" + numberNumberingSystem( cldr ),\n\t\t\t\"currencySpacing\",\n\t\t\tposition\n\t\t]);\n\t});\n\n\tpattern = cldr.main([\n\t\t\"numbers\",\n\t\t\"currencyFormats-numberSystem-\" + numberNumberingSystem( cldr ),\n\t\toptions.style === \"accounting\" ? \"accounting\" : \"standard\"\n\t]);\n\n\tpattern =\n\n\t\t// The number of decimal places and the rounding for each currency is not locale-specific.\n\t\t// Those values are overridden by Supplemental Currency Data.\n\t\tcurrencySupplementalOverride( currency, pattern, cldr )\n\n\t\t// Replace \"¤\" (\\u00A4) with the appropriate symbol literal.\n\t\t.split( \";\" ).map(function( pattern ) {\n\n\t\t\treturn pattern.split( \"\\u00A4\" ).map(function( part, i ) {\n\t\t\t\tvar currencyMatch = regexp[ currencySpacing[ i ].currencyMatch ],\n\t\t\t\t\tsurroundingMatch = regexp[ currencySpacing[ i ].surroundingMatch ],\n\t\t\t\t\tinsertBetween = \"\";\n\n\t\t\t\t// For currencyMatch and surroundingMatch definitions, read [1].\n\t\t\t\t// When i === 0, beforeCurrency is being handled. Otherwise, afterCurrency.\n\t\t\t\t// 1: http://www.unicode.org/reports/tr35/tr35-numbers.html#Currencies\n\t\t\t\tcurrencyMatch = currencyMatch.test( symbol.charAt( i ? symbol.length - 1 : 0 ) );\n\t\t\t\tsurroundingMatch = surroundingMatch.test(\n\t\t\t\t\tpart.charAt( i ? 0 : part.length - 1 ).replace( /[#@,.]/g, \"0\" )\n\t\t\t\t);\n\n\t\t\t\tif ( currencyMatch && part && surroundingMatch ) {\n\t\t\t\t\tinsertBetween = currencySpacing[ i ].insertBetween;\n\t\t\t\t}\n\n\t\t\t\treturn ( i ? insertBetween : \"\" ) + part + ( i ? \"\" : insertBetween );\n\t\t\t}).join( \"\\u00A4\" );\n\t\t}).join( \";\" );\n\n\treturn {\n\t\tpattern: pattern,\n\t\tsymbol: symbol\n\t};\n};\n\n\n\n\n/**\n * nameFormat( formattedNumber, pluralForm, properties )\n *\n * Return the appropriate name form currency format.\n */\nvar currencyNameFormat = function( formattedNumber, pluralForm, properties ) {\n\tvar displayName, unitPattern,\n\t\tparts = [],\n\t\tdisplayNames = properties.displayNames || {},\n\t\tunitPatterns = properties.unitPatterns;\n\n\tdisplayName = displayNames[ \"displayName-count-\" + pluralForm ] ||\n\t\tdisplayNames[ \"displayName-count-other\" ] ||\n\t\tdisplayNames.displayName ||\n\t\tproperties.currency;\n\tunitPattern = unitPatterns[ \"unitPattern-count-\" + pluralForm ] ||\n\t\tunitPatterns[ \"unitPattern-count-other\" ];\n\n\tformatMessageToParts( unitPattern, [ formattedNumber, displayName ]).forEach(function( part ) {\n\t\tif ( part.type === \"variable\" && part.name === \"0\" ) {\n\t\t\tpart.value.forEach(function( part ) {\n\t\t\t\tpartsPush( parts, part.type, part.value );\n\t\t\t});\n\t\t} else if ( part.type === \"variable\" && part.name === \"1\" ) {\n\t\t\tpartsPush( parts, \"currency\", part.value );\n\t\t} else {\n\t\t\tpartsPush( parts, \"literal\", part.value );\n\t\t}\n\t});\n\n\treturn parts;\n};\n\n\n\n\n/**\n * symbolFormat( parts, symbol )\n *\n * Return the appropriate symbol/account form format.\n */\nvar currencySymbolFormat = function( parts, symbol ) {\n\tparts.forEach(function( part ) {\n\t\tif ( part.type === \"currency\" ) {\n\t\t\tpart.value = symbol;\n\t\t}\n\t});\n\treturn parts;\n};\n\n\n\n\nvar currencyToPartsFormatterFn = function( numberToPartsFormatter, pluralGenerator, properties ) {\n\tvar fn;\n\n\t// Return formatter when style is \"name\".\n\tif ( pluralGenerator && properties ) {\n\t\tfn = function currencyToPartsFormatter( value ) {\n\t\t\tvalidateParameterPresence( value, \"value\" );\n\t\t\tvalidateParameterTypeNumber( value, \"value\" );\n\t\t\treturn currencyNameFormat(\n\t\t\t\tnumberToPartsFormatter( value ),\n\t\t\t\tpluralGenerator( value ),\n\t\t\t\tproperties\n\t\t\t);\n\t\t};\n\n\t// Return formatter when style is \"symbol\", \"accounting\", or \"code\".\n\t} else {\n\t\tfn = function currencyToPartsFormatter( value ) {\n\n\t\t\t// 1: Reusing pluralGenerator argument, but in this case it is actually `symbol`\n\t\t\treturn currencySymbolFormat( numberToPartsFormatter( value ), pluralGenerator /* 1 */ );\n\t\t};\n\t}\n\n\treturn fn;\n};\n\n\n\n\n/**\n * objectOmit( object, keys )\n *\n * Return a copy of the object, filtered to omit the blacklisted key or array of keys.\n */\nvar objectOmit = function( object, keys ) {\n\tvar key,\n\t\tcopy = {};\n\n\tkeys = alwaysArray( keys );\n\n\tfor ( key in object ) {\n\t\tif ( keys.indexOf( key ) === -1 ) {\n\t\t\tcopy[ key ] = object[ key ];\n\t\t}\n\t}\n\n\treturn copy;\n};\n\n\n\n\nfunction validateRequiredCldr( path, value ) {\n\tvalidateCldr( path, value, {\n\t\tskip: [\n\t\t\t/numbers\\/currencies\\/[^/]+\\/symbol-alt-/,\n\t\t\t/supplemental\\/currencyData\\/fractions\\/[A-Za-z]{3}$/\n\t\t]\n\t});\n}\n\n/**\n * .currencyFormatter( currency [, options] )\n *\n * @currency [String] 3-letter currency code as defined by ISO 4217.\n *\n * @options [Object]:\n * - style: [String] \"symbol\" (default), \"accounting\", \"code\" or \"name\".\n * - see also number/format options.\n *\n * Return a function that formats a currency according to the given options and default/instance\n * locale.\n */\nGlobalize.currencyFormatter =\nGlobalize.prototype.currencyFormatter = function( currency, options ) {\n\tvar args, currencyToPartsFormatter, returnFn;\n\n\tvalidateParameterPresence( currency, \"currency\" );\n\tvalidateParameterTypeCurrency( currency, \"currency\" );\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\targs = [ currency, options ];\n\n\tcurrencyToPartsFormatter = this.currencyToPartsFormatter( currency, options );\n\treturnFn = currencyFormatterFn( currencyToPartsFormatter );\n\truntimeBind( args, this.cldr, returnFn, [ currencyToPartsFormatter ] );\n\n\treturn returnFn;\n};\n\n/**\n * .currencyToPartsFormatter( currency [, options] )\n *\n * @currency [String] 3-letter currency code as defined by ISO 4217.\n *\n * @options [Object]:\n * - style: [String] \"symbol\" (default), \"accounting\", \"code\" or \"name\".\n * - see also number/format options.\n *\n * Return a currency formatter function (of the form below) according to the given options and the\n * default/instance locale.\n *\n * fn( value )\n *\n * @value [Number]\n *\n * Return a function that formats a currency to parts according to the given options\n * and the default/instance locale.\n */\nGlobalize.currencyToPartsFormatter =\nGlobalize.prototype.currencyToPartsFormatter = function( currency, options ) {\n\tvar args, cldr, numberToPartsFormatter, pluralGenerator, properties, returnFn, style;\n\n\tvalidateParameterPresence( currency, \"currency\" );\n\tvalidateParameterTypeCurrency( currency, \"currency\" );\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\tcldr = this.cldr;\n\toptions = options || {};\n\n\targs = [ currency, options ];\n\tstyle = options.style || \"symbol\";\n\n\tvalidateDefaultLocale( cldr );\n\n\t// Get properties given style (\"symbol\" default, \"code\" or \"name\").\n\tcldr.on( \"get\", validateRequiredCldr );\n\ttry {\n\t\tproperties = ({\n\t\t\taccounting: currencySymbolProperties,\n\t\t\tcode: currencySymbolProperties,\n\t\t\tname: currencyNameProperties,\n\t\t\tsymbol: currencySymbolProperties\n\t\t}[ style ] )( currency, cldr, options );\n\t} finally {\n\t\tcldr.off( \"get\", validateRequiredCldr );\n\t}\n\n\t// options = options minus style, plus raw pattern.\n\toptions = objectOmit( options, \"style\" );\n\toptions.raw = properties.pattern;\n\n\t// Return formatter when style is \"symbol\", \"accounting\", or \"code\".\n\tif ( style === \"symbol\" || style === \"accounting\" || style === \"code\" ) {\n\t\tnumberToPartsFormatter = this.numberToPartsFormatter( options );\n\n\t\treturnFn = currencyToPartsFormatterFn( numberToPartsFormatter, properties.symbol );\n\n\t\truntimeBind( args, cldr, returnFn, [ numberToPartsFormatter, properties.symbol ] );\n\n\t// Return formatter when style is \"name\".\n\t} else {\n\t\tnumberToPartsFormatter = this.numberToPartsFormatter( options );\n\n\t\t// Is plural module present? Yes, use its generator. Nope, use an error generator.\n\t\tpluralGenerator = this.plural !== undefined ?\n\t\t\tthis.pluralGenerator() :\n\t\t\tcreateErrorPluralModulePresence;\n\n\t\treturnFn = currencyToPartsFormatterFn(\n\t\t\tnumberToPartsFormatter,\n\t\t\tpluralGenerator,\n\t\t\tproperties\n\t\t);\n\n\t\truntimeBind( args, cldr, returnFn, [\n\t\t\tnumberToPartsFormatter,\n\t\t\tpluralGenerator,\n\t\t\tproperties\n\t\t]);\n\t}\n\n\treturn returnFn;\n};\n\n/**\n * .currencyParser( currency [, options] )\n *\n * @currency [String] 3-letter currency code as defined by ISO 4217.\n *\n * @options [Object] see currencyFormatter.\n *\n * Return the currency parser according to the given options and the default/instance locale.\n */\nGlobalize.currencyParser =\nGlobalize.prototype.currencyParser = function( /* currency, options */ ) {\n\n\t// TODO implement parser.\n\n};\n\n/**\n * .formatCurrency( value, currency [, options] )\n *\n * @value [Number] number to be formatted.\n *\n * @currency [String] 3-letter currency code as defined by ISO 4217.\n *\n * @options [Object] see currencyFormatter.\n *\n * Format a currency according to the given options and the default/instance locale.\n */\nGlobalize.formatCurrency =\nGlobalize.prototype.formatCurrency = function( value, currency, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\treturn this.currencyFormatter( currency, options )( value );\n};\n\n/**\n * .formatCurrencyToParts( value, currency [, options] )\n *\n * @value [Number] number to be formatted.\n *\n * @currency [String] 3-letter currency code as defined by ISO 4217.\n *\n * @options [Object] see currencyFormatter.\n *\n * Format a currency to parts according to the given options and the default/instance locale.\n */\nGlobalize.formatCurrencyToParts =\nGlobalize.prototype.formatCurrencyToParts = function( value, currency, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\treturn this.currencyToPartsFormatter( currency, options )( value );\n};\n\n/**\n * .parseCurrency( value, currency [, options] )\n *\n * @value [String]\n *\n * @currency [String] 3-letter currency code as defined by ISO 4217.\n *\n * @options [Object]: See currencyFormatter.\n *\n * Return the parsed currency or NaN when value is invalid.\n */\nGlobalize.parseCurrency =\nGlobalize.prototype.parseCurrency = function( /* value, currency, options */ ) {\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"./number\",\n\t\t\t\"cldr/event\",\n\t\t\t\"cldr/supplemental\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar createError = Globalize._createError,\n\tcreateErrorUnsupportedFeature = Globalize._createErrorUnsupportedFeature,\n\tformatMessage = Globalize._formatMessage,\n\tisPlainObject = Globalize._isPlainObject,\n\tlooseMatching = Globalize._looseMatching,\n\tnumberNumberingSystemDigitsMap = Globalize._numberNumberingSystemDigitsMap,\n\tnumberSymbol = Globalize._numberSymbol,\n\tpartsJoin = Globalize._partsJoin,\n\tpartsPush = Globalize._partsPush,\n\tregexpEscape = Globalize._regexpEscape,\n\tremoveLiteralQuotes = Globalize._removeLiteralQuotes,\n\truntimeBind = Globalize._runtimeBind,\n\tstringPad = Globalize._stringPad,\n\tvalidate = Globalize._validate,\n\tvalidateCldr = Globalize._validateCldr,\n\tvalidateDefaultLocale = Globalize._validateDefaultLocale,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterTypePlainObject = Globalize._validateParameterTypePlainObject,\n\tvalidateParameterTypeString = Globalize._validateParameterTypeString;\n\n\nvar validateParameterTypeDate = function( value, name ) {\n\tvalidateParameterType( value, name, value === undefined || value instanceof Date, \"Date\" );\n};\n\n\n\n\nvar createErrorInvalidParameterValue = function( name, value ) {\n\treturn createError( \"E_INVALID_PAR_VALUE\", \"Invalid `{name}` value ({value}).\", {\n\t\tname: name,\n\t\tvalue: value\n\t});\n};\n\n\n\n\n/**\n * Create a map between the skeleton fields and their positions, e.g.,\n * {\n * G: 0\n * y: 1\n * ...\n * }\n */\nvar validateSkeletonFieldsPosMap = \"GyYuUrQqMLlwWEecdDFghHKkmsSAzZOvVXx\".split( \"\" ).reduce(function( memo, item, i ) {\n\tmemo[ item ] = i;\n\treturn memo;\n}, {});\n\n\n\n\n/**\n * validateSkeleton( skeleton )\n *\n * skeleton: Assume `j` has already been converted into a localized hour field.\n */\nvar validateSkeleton = function validateSkeleton( skeleton ) {\n\tvar last,\n\n\t\t// Using easier to read variable.\n\t\tfieldsPosMap = validateSkeletonFieldsPosMap;\n\n\t// \"The fields are from the Date Field Symbol Table in Date Format Patterns\"\n\t// Ref: http://www.unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\n\t// I.e., check for invalid characters.\n\tskeleton.replace( /[^GyYuUrQqMLlwWEecdDFghHKkmsSAzZOvVXx]/, function( field ) {\n\t\tthrow createError(\n\t\t\t\"E_INVALID_OPTIONS\", \"Invalid field `{invalidField}` of skeleton `{value}`\",\n\t\t\t{\n\t\t\t\tinvalidField: field,\n\t\t\t\ttype: \"skeleton\",\n\t\t\t\tvalue: skeleton\n\t\t\t}\n\t\t);\n\t});\n\n\t// \"The canonical order is from top to bottom in that table; that is, yM not My\".\n\t// http://www.unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\n\t// I.e., check for invalid order.\n\tskeleton.split( \"\" ).every(function( field ) {\n\t\tif ( fieldsPosMap[ field ] < last ) {\n\t\t\tthrow createError(\n\t\t\t\t\"E_INVALID_OPTIONS\", \"Invalid order `{invalidField}` of skeleton `{value}`\",\n\t\t\t\t{\n\t\t\t\t\tinvalidField: field,\n\t\t\t\t\ttype: \"skeleton\",\n\t\t\t\t\tvalue: skeleton\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tlast = fieldsPosMap[ field ];\n\t\treturn true;\n\t});\n};\n\n\n\n\n/**\n * Returns a new object created by using `object`'s values as keys, and the keys as values.\n */\nvar objectInvert = function( object, fn ) {\n\tfn = fn || function( object, key, value ) {\n\t\tobject[ value ] = key;\n\t\treturn object;\n\t};\n\treturn Object.keys( object ).reduce(function( newObject, key ) {\n\t\treturn fn( newObject, key, object[ key ] );\n\t}, {});\n};\n\n\n\n\n// Invert key and values, e.g., {\"e\": \"eEc\"} ==> {\"e\": \"e\", \"E\": \"e\", \"c\": \"e\"}.\nvar dateExpandPatternSimilarFieldsMap = objectInvert({\n\t\"e\": \"eEc\",\n\t\"L\": \"ML\"\n}, function( object, key, value ) {\n\tvalue.split( \"\" ).forEach(function( field ) {\n\t\tobject[ field ] = key;\n\t});\n\treturn object;\n});\n\n\n\n\nvar dateExpandPatternNormalizePatternType = function( character ) {\n\treturn dateExpandPatternSimilarFieldsMap[ character ] || character;\n};\n\n\n\n\nvar datePatternRe = ( /([a-z])\\1*|'([^']|'')+'|''|./ig );\n\n\n\n\nvar stringRepeat = function( str, count ) {\n\tvar i, result = \"\";\n\tfor ( i = 0; i < count; i++ ) {\n\t\tresult = result + str;\n\t}\n\treturn result;\n};\n\n\n\n\nfunction expandBestMatchFormat( skeletonWithoutFractionalSeconds, bestMatchFormat ) {\n\tvar i, j, bestMatchFormatParts, matchedType, matchedLength, requestedType,\n\t\trequestedLength, requestedSkeletonParts,\n\n\t\t// Using an easier to read variable.\n\t\tnormalizePatternType = dateExpandPatternNormalizePatternType;\n\n\trequestedSkeletonParts = skeletonWithoutFractionalSeconds.match( datePatternRe );\n\tbestMatchFormatParts = bestMatchFormat.match( datePatternRe );\n\n\tfor ( i = 0; i < bestMatchFormatParts.length; i++ ) {\n\t\tmatchedType = bestMatchFormatParts[ i ].charAt( 0 );\n\t\tmatchedLength = bestMatchFormatParts[ i ].length;\n\t\tfor ( j = 0; j < requestedSkeletonParts.length; j++ ) {\n\t\t\trequestedType = requestedSkeletonParts[ j ].charAt( 0 );\n\t\t\trequestedLength = requestedSkeletonParts[ j ].length;\n\t\t\tif ( normalizePatternType( matchedType ) === normalizePatternType( requestedType ) &&\n\t\t\t\tmatchedLength < requestedLength\n\t\t\t) {\n\t\t\t\tbestMatchFormatParts[ i ] = stringRepeat( matchedType, requestedLength );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn bestMatchFormatParts.join( \"\" );\n}\n\n// See: http://www.unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\nvar dateExpandPatternAugmentFormat = function( requestedSkeleton, bestMatchFormat, decimalSeparator ) {\n\tvar countOfFractionalSeconds, fractionalSecondMatch, lastSecondIdx,\n\t\tskeletonWithoutFractionalSeconds;\n\n\tfractionalSecondMatch = requestedSkeleton.match( /S/g );\n\tcountOfFractionalSeconds = fractionalSecondMatch ? fractionalSecondMatch.length : 0;\n\tskeletonWithoutFractionalSeconds = requestedSkeleton.replace( /S/g, \"\" );\n\n\tbestMatchFormat = expandBestMatchFormat( skeletonWithoutFractionalSeconds, bestMatchFormat );\n\n\tlastSecondIdx = bestMatchFormat.lastIndexOf( \"s\" );\n\tif ( lastSecondIdx !== -1 && countOfFractionalSeconds !== 0 ) {\n\t\tbestMatchFormat =\n\t\t\tbestMatchFormat.slice( 0, lastSecondIdx + 1 ) +\n\t\t\tdecimalSeparator +\n\t\t\tstringRepeat( \"S\", countOfFractionalSeconds ) +\n\t\t\tbestMatchFormat.slice( lastSecondIdx + 1 );\n\t}\n\treturn bestMatchFormat;\n};\n\n\n\n\nvar dateExpandPatternCompareFormats = function( formatA, formatB ) {\n\tvar a, b, distance, lenA, lenB, typeA, typeB, i, j,\n\n\t\t// Using easier to read variables.\n\t\tnormalizePatternType = dateExpandPatternNormalizePatternType;\n\n\tif ( formatA === formatB ) {\n\t\treturn 0;\n\t}\n\n\tformatA = formatA.match( datePatternRe );\n\tformatB = formatB.match( datePatternRe );\n\n\tif ( formatA.length !== formatB.length ) {\n\t\treturn -1;\n\t}\n\n\tdistance = 1;\n\tfor ( i = 0; i < formatA.length; i++ ) {\n\t\ta = formatA[ i ].charAt( 0 );\n\t\ttypeA = normalizePatternType( a );\n\t\ttypeB = null;\n\t\tfor ( j = 0; j < formatB.length; j++ ) {\n\t\t\tb = formatB[ j ].charAt( 0 );\n\t\t\ttypeB = normalizePatternType( b );\n\t\t\tif ( typeA === typeB ) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\ttypeB = null;\n\t\t\t}\n\t\t}\n\t\tif ( typeB === null ) {\n\t\t\treturn -1;\n\t\t}\n\t\tlenA = formatA[ i ].length;\n\t\tlenB = formatB[ j ].length;\n\t\tdistance = distance + Math.abs( lenA - lenB );\n\n\t\t// Most symbols have a small distance from each other, e.g., M ≅ L; E ≅ c; a ≅ b ≅ B;\n\t\t// H ≅ k ≅ h ≅ K; ...\n\t\tif ( a !== b ) {\n\t\t\tdistance += 1;\n\t\t}\n\n\t\t// Numeric (l<3) and text fields (l>=3) are given a larger distance from each other.\n\t\tif ( ( lenA < 3 && lenB >= 3 ) || ( lenA >= 3 && lenB < 3 ) ) {\n\t\t\tdistance += 20;\n\t\t}\n\t}\n\treturn distance;\n};\n\n\n\n\nvar dateExpandPatternGetBestMatchPattern = function( cldr, askedSkeleton ) {\n\tvar availableFormats, decimalSeparator, pattern, ratedFormats, skeleton,\n\t\tpath = \"dates/calendars/gregorian/dateTimeFormats/availableFormats\",\n\n\t\t// Using easier to read variables.\n\t\taugmentFormat = dateExpandPatternAugmentFormat,\n\t\tcompareFormats = dateExpandPatternCompareFormats;\n\n\tpattern = cldr.main([ path, askedSkeleton ]);\n\n\tif ( askedSkeleton && !pattern ) {\n\t\tavailableFormats = cldr.main([ path ]);\n\t\tratedFormats = [];\n\n\t\tfor ( skeleton in availableFormats ) {\n\t\t\tratedFormats.push({\n\t\t\t\tskeleton: skeleton,\n\t\t\t\tpattern: availableFormats[ skeleton ],\n\t\t\t\trate: compareFormats( askedSkeleton, skeleton )\n\t\t\t});\n\t\t}\n\n\t\tratedFormats = ratedFormats\n\t\t\t.filter( function( format ) {\n\t\t\t\treturn format.rate > -1;\n\t\t\t} )\n\t\t\t.sort( function( formatA, formatB ) {\n\t\t\t\treturn formatA.rate - formatB.rate;\n\t\t\t});\n\n\t\tif ( ratedFormats.length ) {\n\t\t\tdecimalSeparator = numberSymbol( \"decimal\", cldr );\n\t\t\tpattern = augmentFormat( askedSkeleton, ratedFormats[ 0 ].pattern, decimalSeparator );\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\n\n\n\n/**\n * expandPattern( options, cldr )\n *\n * @options [Object] if String, it's considered a skeleton. Object accepts:\n * - skeleton: [String] lookup availableFormat;\n * - date: [String] ( \"full\" | \"long\" | \"medium\" | \"short\" );\n * - time: [String] ( \"full\" | \"long\" | \"medium\" | \"short\" );\n * - datetime: [String] ( \"full\" | \"long\" | \"medium\" | \"short\" );\n * - raw: [String] For more info see datetime/format.js.\n *\n * @cldr [Cldr instance].\n *\n * Return the corresponding pattern.\n * Eg for \"en\":\n * - \"GyMMMd\" returns \"MMM d, y G\";\n * - { skeleton: \"GyMMMd\" } returns \"MMM d, y G\";\n * - { date: \"full\" } returns \"EEEE, MMMM d, y\";\n * - { time: \"full\" } returns \"h:mm:ss a zzzz\";\n * - { datetime: \"full\" } returns \"EEEE, MMMM d, y 'at' h:mm:ss a zzzz\";\n * - { raw: \"dd/mm\" } returns \"dd/mm\";\n */\nvar dateExpandPattern = function( options, cldr ) {\n\tvar dateSkeleton, result, skeleton, timeSkeleton, type,\n\n\t\t// Using easier to read variables.\n\t\tgetBestMatchPattern = dateExpandPatternGetBestMatchPattern;\n\n\tfunction combineDateTime( type, datePattern, timePattern ) {\n\t\treturn formatMessage(\n\t\t\tcldr.main([\n\t\t\t\t\"dates/calendars/gregorian/dateTimeFormats\",\n\t\t\t\ttype\n\t\t\t]),\n\t\t\t[ timePattern, datePattern ]\n\t\t);\n\t}\n\n\tswitch ( true ) {\n\t\tcase \"skeleton\" in options:\n\t\t\tskeleton = options.skeleton;\n\n\t\t\t// Preferred hour (j).\n\t\t\tskeleton = skeleton.replace( /j/g, function() {\n\t\t\t\treturn cldr.supplemental.timeData.preferred();\n\t\t\t});\n\n\t\t\tvalidateSkeleton( skeleton );\n\n\t\t\t// Try direct map (note that getBestMatchPattern handles it).\n\t\t\t// ... or, try to \"best match\" the whole skeleton.\n\t\t\tresult = getBestMatchPattern(\n\t\t\t\tcldr,\n\t\t\t\tskeleton\n\t\t\t);\n\t\t\tif ( result ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// ... or, try to \"best match\" the date and time parts individually.\n\t\t\ttimeSkeleton = skeleton.split( /[^hHKkmsSAzZOvVXx]/ ).slice( -1 )[ 0 ];\n\t\t\tdateSkeleton = skeleton.split( /[^GyYuUrQqMLlwWdDFgEec]/ )[ 0 ];\n\t\t\tdateSkeleton = getBestMatchPattern(\n\t\t\t\tcldr,\n\t\t\t\tdateSkeleton\n\t\t\t);\n\t\t\ttimeSkeleton = getBestMatchPattern(\n\t\t\t\tcldr,\n\t\t\t\ttimeSkeleton\n\t\t\t);\n\n\t\t\tif ( /(MMMM|LLLL).*[Ec]/.test( dateSkeleton ) ) {\n\t\t\t\ttype = \"full\";\n\t\t\t} else if ( /MMMM|LLLL/.test( dateSkeleton ) ) {\n\t\t\t\ttype = \"long\";\n\t\t\t} else if ( /MMM|LLL/.test( dateSkeleton ) ) {\n\t\t\t\ttype = \"medium\";\n\t\t\t} else {\n\t\t\t\ttype = \"short\";\n\t\t\t}\n\n\t\t\tif ( dateSkeleton && timeSkeleton ) {\n\t\t\t\tresult = combineDateTime( type, dateSkeleton, timeSkeleton );\n\t\t\t} else {\n\t\t\t\tresult = dateSkeleton || timeSkeleton;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"date\" in options:\n\t\tcase \"time\" in options:\n\t\t\tresult = cldr.main([\n\t\t\t\t\"dates/calendars/gregorian\",\n\t\t\t\t\"date\" in options ? \"dateFormats\" : \"timeFormats\",\n\t\t\t\t( options.date || options.time )\n\t\t\t]);\n\t\t\tbreak;\n\n\t\tcase \"datetime\" in options:\n\t\t\tresult = combineDateTime( options.datetime,\n\t\t\t\tcldr.main([ \"dates/calendars/gregorian/dateFormats\", options.datetime ]),\n\t\t\t\tcldr.main([ \"dates/calendars/gregorian/timeFormats\", options.datetime ])\n\t\t\t);\n\t\t\tbreak;\n\n\t\tcase \"raw\" in options:\n\t\t\tresult = options.raw;\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tthrow createErrorInvalidParameterValue({\n\t\t\t\tname: \"options\",\n\t\t\t\tvalue: options\n\t\t\t});\n\t}\n\n\treturn result;\n};\n\n\n\n\nvar dateWeekDays = [ \"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\" ];\n\n\n\n\n/**\n * firstDayOfWeek\n */\nvar dateFirstDayOfWeek = function( cldr ) {\n\treturn dateWeekDays.indexOf( cldr.supplemental.weekData.firstDay() );\n};\n\n\n\n\n/**\n * getTimeZoneName( length, type )\n */\nvar dateGetTimeZoneName = function( length, type, timeZone, cldr ) {\n\tvar metaZone, result;\n\n\tif ( !timeZone ) {\n\t\treturn;\n\t}\n\n\tresult = cldr.main([\n\t\t\"dates/timeZoneNames/zone\",\n\t\ttimeZone,\n\t\tlength < 4 ? \"short\" : \"long\",\n\t\ttype\n\t]);\n\n\tif ( result ) {\n\t\treturn result;\n\t}\n\n\t// The latest metazone data of the metazone array.\n\t// TODO expand to support the historic metazones based on the given date.\n\tmetaZone = cldr.supplemental([\n\t\t\"metaZones/metazoneInfo/timezone\", timeZone, 0,\n\t\t\"usesMetazone/_mzone\"\n\t]);\n\n\treturn cldr.main([\n\t\t\"dates/timeZoneNames/metazone\",\n\t\tmetaZone,\n\t\tlength < 4 ? \"short\" : \"long\",\n\t\ttype\n\t]);\n};\n\n\n\n\n/**\n * timezoneHourFormatShortH( hourFormat )\n *\n * @hourFormat [String]\n *\n * Unofficial deduction of the short hourFormat given time zone `hourFormat` element.\n * Official spec is pending resolution: http://unicode.org/cldr/trac/ticket/8293\n *\n * Example:\n * - \"+HH.mm;-HH.mm\" => \"+H;-H\"\n * - \"+HH:mm;-HH:mm\" => \"+H;-H\"\n * - \"+HH:mm;−HH:mm\" => \"+H;−H\" (Note MINUS SIGN \\u2212)\n * - \"+HHmm;-HHmm\" => \"+H:-H\"\n */\nvar dateTimezoneHourFormatH = function( hourFormat ) {\n\treturn hourFormat\n\t\t.split( \";\" )\n\t\t.map(function( format ) {\n\t\t\treturn format.slice( 0, format.indexOf( \"H\" ) + 1 );\n\t\t})\n\t\t.join( \";\" );\n};\n\n\n\n\n/**\n * timezoneHourFormatLongHm( hourFormat )\n *\n * @hourFormat [String]\n *\n * Unofficial deduction of the short hourFormat given time zone `hourFormat` element.\n * Official spec is pending resolution: http://unicode.org/cldr/trac/ticket/8293\n *\n * Example (hFormat === \"H\"): (used for short Hm)\n * - \"+HH.mm;-HH.mm\" => \"+H.mm;-H.mm\"\n * - \"+HH:mm;-HH:mm\" => \"+H:mm;-H:mm\"\n * - \"+HH:mm;−HH:mm\" => \"+H:mm;−H:mm\" (Note MINUS SIGN \\u2212)\n * - \"+HHmm;-HHmm\" => \"+Hmm:-Hmm\"\n *\n * Example (hFormat === \"HH\": (used for long Hm)\n * - \"+HH.mm;-HH.mm\" => \"+HH.mm;-HH.mm\"\n * - \"+HH:mm;-HH:mm\" => \"+HH:mm;-HH:mm\"\n * - \"+H:mm;-H:mm\" => \"+HH:mm;-HH:mm\"\n * - \"+HH:mm;−HH:mm\" => \"+HH:mm;−HH:mm\" (Note MINUS SIGN \\u2212)\n * - \"+HHmm;-HHmm\" => \"+HHmm:-HHmm\"\n */\nvar dateTimezoneHourFormatHm = function( hourFormat, hFormat ) {\n\treturn hourFormat\n\t\t.split( \";\" )\n\t\t.map(function( format ) {\n\t\t\tvar parts = format.split( /H+/ );\n\t\t\tparts.splice( 1, 0, hFormat );\n\t\t\treturn parts.join( \"\" );\n\t\t})\n\t\t.join( \";\" );\n};\n\n\n\n\nvar runtimeCacheDataBind = function( key, data ) {\n\tvar fn = function() {\n\t\treturn data;\n\t};\n\tfn.dataCacheKey = key;\n\treturn fn;\n};\n\n\n\n\n/**\n * properties( pattern, cldr )\n *\n * @pattern [String] raw pattern.\n * ref: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n *\n * @cldr [Cldr instance].\n *\n * Return the properties given the pattern and cldr.\n *\n * TODO Support other calendar types.\n */\nvar dateFormatProperties = function( pattern, cldr, timeZone ) {\n\tvar properties = {\n\t\t\tnumberFormatters: {},\n\t\t\tpattern: pattern,\n\t\t\ttimeSeparator: numberSymbol( \"timeSeparator\", cldr )\n\t\t},\n\t\twidths = [ \"abbreviated\", \"wide\", \"narrow\" ];\n\n\tfunction setNumberFormatterPattern( pad ) {\n\t\tproperties.numberFormatters[ pad ] = stringPad( \"\", pad );\n\t}\n\n\tif ( timeZone ) {\n\t\tproperties.timeZoneData = runtimeCacheDataBind( \"iana/\" + timeZone, {\n\t\t\toffsets: cldr.get([ \"globalize-iana/zoneData\", timeZone, \"offsets\" ]),\n\t\t\tuntils: cldr.get([ \"globalize-iana/zoneData\", timeZone, \"untils\" ]),\n\t\t\tisdsts: cldr.get([ \"globalize-iana/zoneData\", timeZone, \"isdsts\" ])\n\t\t});\n\t}\n\n\tpattern.replace( datePatternRe, function( current ) {\n\t\tvar aux, chr, daylightTzName, formatNumber, genericTzName, length, standardTzName;\n\n\t\tchr = current.charAt( 0 );\n\t\tlength = current.length;\n\n\t\tif ( chr === \"j\" ) {\n\n\t\t\t// Locale preferred hHKk.\n\t\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data\n\t\t\tproperties.preferredTime = chr = cldr.supplemental.timeData.preferred();\n\t\t}\n\n\t\t// ZZZZ: same as \"OOOO\".\n\t\tif ( chr === \"Z\" && length === 4 ) {\n\t\t\tchr = \"O\";\n\t\t\tlength = 4;\n\t\t}\n\n\t\t// z...zzz: \"{shortRegion}\", eg. \"PST\" or \"PDT\".\n\t\t// zzzz: \"{regionName} {Standard Time}\" or \"{regionName} {Daylight Time}\",\n\t\t// e.g., \"Pacific Standard Time\" or \"Pacific Daylight Time\".\n\t\t// http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n\t\tif ( chr === \"z\" ) {\n\t\t\tstandardTzName = dateGetTimeZoneName( length, \"standard\", timeZone, cldr );\n\t\t\tdaylightTzName = dateGetTimeZoneName( length, \"daylight\", timeZone, cldr );\n\t\t\tif ( standardTzName ) {\n\t\t\t\tproperties.standardTzName = standardTzName;\n\t\t\t}\n\t\t\tif ( daylightTzName ) {\n\t\t\t\tproperties.daylightTzName = daylightTzName;\n\t\t\t}\n\n\t\t\t// Fall through the \"O\" format in case one name is missing.\n\t\t\tif ( !standardTzName || !daylightTzName ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tif ( length < 4 ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// v...vvv: \"{shortRegion}\", eg. \"PT\".\n\t\t// vvvv: \"{regionName} {Time}\" or \"{regionName} {Time}\",\n\t\t// e.g., \"Pacific Time\"\n\t\t// http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n\t\tif ( chr === \"v\" ) {\n\t\t\tgenericTzName = dateGetTimeZoneName( length, \"generic\", timeZone, cldr );\n\n\t\t\t// Fall back to \"V\" format.\n\t\t\tif ( !genericTzName ) {\n\t\t\t\tchr = \"V\";\n\t\t\t\tlength = 4;\n\t\t\t}\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\tproperties.eras = cldr.main([\n\t\t\t\t\t\"dates/calendars/gregorian/eras\",\n\t\t\t\t\tlength <= 3 ? \"eraAbbr\" : ( length === 4 ? \"eraNames\" : \"eraNarrow\" )\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\n\t\t\t\t// Plain year.\n\t\t\t\tformatNumber = true;\n\t\t\t\tbreak;\n\n\t\t\tcase \"Y\":\n\n\t\t\t\t// Year in \"Week of Year\"\n\t\t\t\tproperties.firstDay = dateFirstDayOfWeek( cldr );\n\t\t\t\tproperties.minDays = cldr.supplemental.weekData.minDays();\n\t\t\t\tformatNumber = true;\n\t\t\t\tbreak;\n\n\t\t\tcase \"u\": // Extended year. Need to be implemented.\n\t\t\tcase \"U\": // Cyclic year name. Need to be implemented.\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"year pattern `\" + chr + \"`\"\n\t\t\t\t});\n\n\t\t\t// Quarter\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tif ( !properties.quarters ) {\n\t\t\t\t\t\tproperties.quarters = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( !properties.quarters[ chr ] ) {\n\t\t\t\t\t\tproperties.quarters[ chr ] = {};\n\t\t\t\t\t}\n\t\t\t\t\tproperties.quarters[ chr ][ length ] = cldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/quarters\",\n\t\t\t\t\t\tchr === \"Q\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tformatNumber = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tif ( !properties.months ) {\n\t\t\t\t\t\tproperties.months = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( !properties.months[ chr ] ) {\n\t\t\t\t\t\tproperties.months[ chr ] = {};\n\t\t\t\t\t}\n\t\t\t\t\tproperties.months[ chr ][ length ] = cldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/months\",\n\t\t\t\t\t\tchr === \"M\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tformatNumber = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Week - Week of Year (w) or Week of Month (W).\n\t\t\tcase \"w\":\n\t\t\tcase \"W\":\n\t\t\t\tproperties.firstDay = dateFirstDayOfWeek( cldr );\n\t\t\t\tproperties.minDays = cldr.supplemental.weekData.minDays();\n\t\t\t\tformatNumber = true;\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"d\":\n\t\t\tcase \"D\":\n\t\t\tcase \"F\":\n\t\t\t\tformatNumber = true;\n\t\t\t\tbreak;\n\n\t\t\tcase \"g\":\n\n\t\t\t\t// Modified Julian day. Need to be implemented.\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"Julian day pattern `g`\"\n\t\t\t\t});\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\t\t\t\tif ( length <= 2 ) {\n\t\t\t\t\tproperties.firstDay = dateFirstDayOfWeek( cldr );\n\t\t\t\t\tformatNumber = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"E\":\n\t\t\t\tif ( !properties.days ) {\n\t\t\t\t\tproperties.days = {};\n\t\t\t\t}\n\t\t\t\tif ( !properties.days[ chr ] ) {\n\t\t\t\t\tproperties.days[ chr ] = {};\n\t\t\t\t}\n\t\t\t\tif ( length === 6 ) {\n\n\t\t\t\t\t// If short day names are not explicitly specified, abbreviated day names are\n\t\t\t\t\t// used instead.\n\t\t\t\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#months_days_quarters_eras\n\t\t\t\t\t// http://unicode.org/cldr/trac/ticket/6790\n\t\t\t\t\tproperties.days[ chr ][ length ] = cldr.main([\n\t\t\t\t\t\t\t\"dates/calendars/gregorian/days\",\n\t\t\t\t\t\t\tchr === \"c\" ? \"stand-alone\" : \"format\",\n\t\t\t\t\t\t\t\"short\"\n\t\t\t\t\t\t]) || cldr.main([\n\t\t\t\t\t\t\t\"dates/calendars/gregorian/days\",\n\t\t\t\t\t\t\tchr === \"c\" ? \"stand-alone\" : \"format\",\n\t\t\t\t\t\t\t\"abbreviated\"\n\t\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tproperties.days[ chr ][ length ] = cldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/days\",\n\t\t\t\t\t\tchr === \"c\" ? \"stand-alone\" : \"format\",\n\t\t\t\t\t\twidths[ length < 3 ? 0 : length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tproperties.dayPeriods = {\n\t\t\t\t\tam: cldr.main(\n\t\t\t\t\t\t\"dates/calendars/gregorian/dayPeriods/format/wide/am\"\n\t\t\t\t\t),\n\t\t\t\t\tpm: cldr.main(\n\t\t\t\t\t\t\"dates/calendars/gregorian/dayPeriods/format/wide/pm\"\n\t\t\t\t\t)\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\t// Hour\n\t\t\tcase \"h\": // 1-12\n\t\t\tcase \"H\": // 0-23\n\t\t\tcase \"K\": // 0-11\n\t\t\tcase \"k\": // 1-24\n\n\t\t\t// Minute\n\t\t\tcase \"m\":\n\n\t\t\t// Second\n\t\t\tcase \"s\":\n\t\t\tcase \"S\":\n\t\t\tcase \"A\":\n\t\t\t\tformatNumber = true;\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"v\":\n\t\t\t\tif ( length !== 1 && length !== 4 ) {\n\t\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\t\tfeature: \"timezone pattern `\" + pattern + \"`\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tproperties.genericTzName = genericTzName;\n\t\t\t\tbreak;\n\n\t\t\tcase \"V\":\n\n\t\t\t\tif ( length === 1 ) {\n\t\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\t\tfeature: \"timezone pattern `\" + pattern + \"`\"\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif ( timeZone ) {\n\t\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\t\tproperties.timeZoneName = timeZone;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar timeZoneName,\n\t\t\t\t\t\texemplarCity = cldr.main([\n\t\t\t\t\t\t\t\"dates/timeZoneNames/zone\", timeZone, \"exemplarCity\"\n\t\t\t\t\t\t]);\n\n\t\t\t\t\tif ( length === 3 ) {\n\t\t\t\t\t\tif ( !exemplarCity ) {\n\t\t\t\t\t\t\texemplarCity = cldr.main([\n\t\t\t\t\t\t\t\t\"dates/timeZoneNames/zone/Etc/Unknown/exemplarCity\"\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeZoneName = exemplarCity;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( exemplarCity && length === 4 ) {\n\t\t\t\t\t\ttimeZoneName = formatMessage(\n\t\t\t\t\t\t\tcldr.main(\n\t\t\t\t\t\t\t\t\"dates/timeZoneNames/regionFormat\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t[ exemplarCity ]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( timeZoneName ) {\n\t\t\t\t\t\tproperties.timeZoneName = timeZoneName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( current === \"v\" ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"O\":\n\n\t\t\t\t// O: \"{gmtFormat}+H;{gmtFormat}-H\" or \"{gmtZeroFormat}\", eg. \"GMT-8\" or \"GMT\".\n\t\t\t\t// OOOO: \"{gmtFormat}{hourFormat}\" or \"{gmtZeroFormat}\", eg. \"GMT-08:00\" or \"GMT\".\n\t\t\t\tproperties.gmtFormat = cldr.main( \"dates/timeZoneNames/gmtFormat\" );\n\t\t\t\tproperties.gmtZeroFormat = cldr.main( \"dates/timeZoneNames/gmtZeroFormat\" );\n\n\t\t\t\t// Unofficial deduction of the hourFormat variations.\n\t\t\t\t// Official spec is pending resolution: http://unicode.org/cldr/trac/ticket/8293\n\t\t\t\taux = cldr.main( \"dates/timeZoneNames/hourFormat\" );\n\t\t\t\tproperties.hourFormat = length < 4 ?\n\t\t\t\t\t[ dateTimezoneHourFormatH( aux ), dateTimezoneHourFormatHm( aux, \"H\" ) ] :\n\t\t\t\t\tdateTimezoneHourFormatHm( aux, \"HH\" );\n\n\t\t\t/* falls through */\n\t\t\tcase \"Z\":\n\t\t\tcase \"X\":\n\t\t\tcase \"x\":\n\t\t\t\tsetNumberFormatterPattern( 1 );\n\t\t\t\tsetNumberFormatterPattern( 2 );\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( formatNumber ) {\n\t\t\tsetNumberFormatterPattern( length );\n\t\t}\n\t});\n\n\treturn properties;\n};\n\n\n\n\nvar dateFormatterFn = function( dateToPartsFormatter ) {\n\treturn function dateFormatter( value ) {\n\t\treturn partsJoin( dateToPartsFormatter( value ));\n\t};\n};\n\n\n\n\n/**\n * parseProperties( cldr )\n *\n * @cldr [Cldr instance].\n *\n * @timeZone [String] FIXME.\n *\n * Return parser properties.\n */\nvar dateParseProperties = function( cldr, timeZone ) {\n\tvar properties = {\n\t\tpreferredTimeData: cldr.supplemental.timeData.preferred()\n\t};\n\n\tif ( timeZone ) {\n\t\tproperties.timeZoneData = runtimeCacheDataBind( \"iana/\" + timeZone, {\n\t\t\toffsets: cldr.get([ \"globalize-iana/zoneData\", timeZone, \"offsets\" ]),\n\t\t\tuntils: cldr.get([ \"globalize-iana/zoneData\", timeZone, \"untils\" ]),\n\t\t\tisdsts: cldr.get([ \"globalize-iana/zoneData\", timeZone, \"isdsts\" ])\n\t\t});\n\t}\n\n\treturn properties;\n};\n\n\nvar ZonedDateTime = (function() {\nfunction definePrivateProperty(object, property, value) {\n Object.defineProperty(object, property, {\n value: value\n });\n}\n\nfunction getUntilsIndex(original, untils) {\n var index = 0;\n var originalTime = original.getTime();\n\n // TODO Should we do binary search for improved performance?\n while (index < untils.length - 1 && originalTime >= untils[index]) {\n index++;\n }\n return index;\n}\n\nfunction setWrap(fn) {\n var offset1 = this.getTimezoneOffset();\n var ret = fn();\n this.original.setTime(new Date(this.getTime()));\n var offset2 = this.getTimezoneOffset();\n if (offset2 - offset1) {\n this.original.setMinutes(this.original.getMinutes() + offset2 - offset1);\n }\n return ret;\n}\n\nvar ZonedDateTime = function(date, timeZoneData) {\n definePrivateProperty(this, \"original\", new Date(date.getTime()));\n definePrivateProperty(this, \"local\", new Date(date.getTime()));\n definePrivateProperty(this, \"timeZoneData\", timeZoneData);\n definePrivateProperty(this, \"setWrap\", setWrap);\n if (!(timeZoneData.untils && timeZoneData.offsets && timeZoneData.isdsts)) {\n throw new Error(\"Invalid IANA data\");\n }\n this.setTime(this.local.getTime() - this.getTimezoneOffset() * 60 * 1000);\n};\n\nZonedDateTime.prototype.clone = function() {\n return new ZonedDateTime(this.original, this.timeZoneData);\n};\n\n// Date field getters.\n[\"getFullYear\", \"getMonth\", \"getDate\", \"getDay\", \"getHours\", \"getMinutes\",\n\"getSeconds\", \"getMilliseconds\"].forEach(function(method) {\n // Corresponding UTC method, e.g., \"getUTCFullYear\" if method === \"getFullYear\".\n var utcMethod = \"getUTC\" + method.substr(3);\n ZonedDateTime.prototype[method] = function() {\n return this.local[utcMethod]();\n };\n});\n\n// Note: Define .valueOf = .getTime for arithmetic operations like date1 - date2.\nZonedDateTime.prototype.valueOf =\nZonedDateTime.prototype.getTime = function() {\n return this.local.getTime() + this.getTimezoneOffset() * 60 * 1000;\n};\n\nZonedDateTime.prototype.getTimezoneOffset = function() {\n var index = getUntilsIndex(this.original, this.timeZoneData.untils);\n return this.timeZoneData.offsets[index];\n};\n\n// Date field setters.\n[\"setFullYear\", \"setMonth\", \"setDate\", \"setHours\", \"setMinutes\", \"setSeconds\", \"setMilliseconds\"].forEach(function(method) {\n // Corresponding UTC method, e.g., \"setUTCFullYear\" if method === \"setFullYear\".\n var utcMethod = \"setUTC\" + method.substr(3);\n ZonedDateTime.prototype[method] = function(value) {\n var local = this.local;\n // Note setWrap is needed for seconds and milliseconds just because\n // abs(value) could be >= a minute.\n return this.setWrap(function() {\n return local[utcMethod](value);\n });\n };\n});\n\nZonedDateTime.prototype.setTime = function(time) {\n return this.local.setTime(time);\n};\n\nZonedDateTime.prototype.isDST = function() {\n var index = getUntilsIndex(this.original, this.timeZoneData.untils);\n return Boolean(this.timeZoneData.isdsts[index]);\n};\n\nZonedDateTime.prototype.inspect = function() {\n var index = getUntilsIndex(this.original, this.timeZoneData.untils);\n var abbrs = this.timeZoneData.abbrs;\n return this.local.toISOString().replace(/Z$/, \"\") + \" \" +\n (abbrs && abbrs[index] + \" \" || (this.getTimezoneOffset() * -1) + \" \") +\n (this.isDST() ? \"(daylight savings)\" : \"\");\n};\n\nZonedDateTime.prototype.toDate = function() {\n return new Date(this.getTime());\n};\n\n// Type cast getters.\n[\"toISOString\", \"toJSON\", \"toUTCString\"].forEach(function(method) {\n ZonedDateTime.prototype[method] = function() {\n return this.toDate()[method]();\n };\n});\n\nreturn ZonedDateTime;\n}());\n\n\n/**\n * isLeapYear( year )\n *\n * @year [Number]\n *\n * Returns an indication whether the specified year is a leap year.\n */\nvar dateIsLeapYear = function( year ) {\n\treturn new Date( year, 1, 29 ).getMonth() === 1;\n};\n\n\n\n\n/**\n * lastDayOfMonth( date )\n *\n * @date [Date]\n *\n * Return the last day of the given date's month\n */\nvar dateLastDayOfMonth = function( date ) {\n\treturn new Date( date.getFullYear(), date.getMonth() + 1, 0 ).getDate();\n};\n\n\n\n\n/**\n * startOf changes the input to the beginning of the given unit.\n *\n * For example, starting at the start of a day, resets hours, minutes\n * seconds and milliseconds to 0. Starting at the month does the same, but\n * also sets the date to 1.\n *\n * Returns the modified date\n */\nvar dateStartOf = function( date, unit ) {\n\tdate = date instanceof ZonedDateTime ? date.clone() : new Date( date.getTime() );\n\tswitch ( unit ) {\n\t\tcase \"year\":\n\t\t\tdate.setMonth( 0 );\n\t\t/* falls through */\n\t\tcase \"month\":\n\t\t\tdate.setDate( 1 );\n\t\t/* falls through */\n\t\tcase \"day\":\n\t\t\tdate.setHours( 0 );\n\t\t/* falls through */\n\t\tcase \"hour\":\n\t\t\tdate.setMinutes( 0 );\n\t\t/* falls through */\n\t\tcase \"minute\":\n\t\t\tdate.setSeconds( 0 );\n\t\t/* falls through */\n\t\tcase \"second\":\n\t\t\tdate.setMilliseconds( 0 );\n\t}\n\treturn date;\n};\n\n\n\n\n/**\n * Differently from native date.setDate(), this function returns a date whose\n * day remains inside the month boundaries. For example:\n *\n * setDate( FebDate, 31 ): a \"Feb 28\" date.\n * setDate( SepDate, 31 ): a \"Sep 30\" date.\n */\nvar dateSetDate = function( date, day ) {\n\tvar lastDay = new Date( date.getFullYear(), date.getMonth() + 1, 0 ).getDate();\n\n\tdate.setDate( day < 1 ? 1 : day < lastDay ? day : lastDay );\n};\n\n\n\n\n/**\n * Differently from native date.setMonth(), this function adjusts date if\n * needed, so final month is always the one set.\n *\n * setMonth( Jan31Date, 1 ): a \"Feb 28\" date.\n * setDate( Jan31Date, 8 ): a \"Sep 30\" date.\n */\nvar dateSetMonth = function( date, month ) {\n\tvar originalDate = date.getDate();\n\n\tdate.setDate( 1 );\n\tdate.setMonth( month );\n\tdateSetDate( date, originalDate );\n};\n\n\n\n\nvar outOfRange = function( value, low, high ) {\n\treturn value < low || value > high;\n};\n\n\n\n\n/**\n * parse( value, tokens, properties )\n *\n * @value [String] string date.\n *\n * @tokens [Object] tokens returned by date/tokenizer.\n *\n * @properties [Object] output returned by date/tokenizer-properties.\n *\n * ref: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n */\nvar dateParse = function( _value, tokens, properties ) {\n\tvar amPm, day, daysOfYear, month, era, hour, hour12, timezoneOffset, valid,\n\t\tYEAR = 0,\n\t\tMONTH = 1,\n\t\tDAY = 2,\n\t\tHOUR = 3,\n\t\tMINUTE = 4,\n\t\tSECOND = 5,\n\t\tMILLISECONDS = 6,\n\t\tdate = new Date(),\n\t\ttruncateAt = [],\n\t\tunits = [ \"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"milliseconds\" ];\n\n\t// Create globalize date with given timezone data.\n\tif ( properties.timeZoneData ) {\n\t\tdate = new ZonedDateTime( date, properties.timeZoneData() );\n\t}\n\n\tif ( !tokens.length ) {\n\t\treturn null;\n\t}\n\n\tvalid = tokens.every(function( token ) {\n\t\tvar century, chr, value, length;\n\n\t\tif ( token.type === \"literal\" ) {\n\n\t\t\t// continue\n\t\t\treturn true;\n\t\t}\n\n\t\tchr = token.type.charAt( 0 );\n\t\tlength = token.type.length;\n\n\t\tif ( chr === \"j\" ) {\n\n\t\t\t// Locale preferred hHKk.\n\t\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data\n\t\t\tchr = properties.preferredTimeData;\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\ttruncateAt.push( YEAR );\n\t\t\t\tera = +token.value;\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\tif ( outOfRange( value, 0, 99 ) ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// mimic dojo/date/locale: choose century to apply, according to a sliding\n\t\t\t\t\t// window of 80 years before and 20 years after present year.\n\t\t\t\t\tcentury = Math.floor( date.getFullYear() / 100 ) * 100;\n\t\t\t\t\tvalue += century;\n\t\t\t\t\tif ( value > date.getFullYear() + 20 ) {\n\t\t\t\t\t\tvalue -= 100;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdate.setFullYear( value );\n\t\t\t\ttruncateAt.push( YEAR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"Y\": // Year in \"Week of Year\"\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"year pattern `\" + chr + \"`\"\n\t\t\t\t});\n\n\t\t\t// Quarter (skip)\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\t\t\t\tif ( length <= 2 ) {\n\t\t\t\t\tvalue = token.value;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = +token.value;\n\t\t\t\t}\n\t\t\t\tif ( outOfRange( value, 1, 12 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Setting the month later so that we have the correct year and can determine\n\t\t\t\t// the correct last day of February in case of leap year.\n\t\t\t\tmonth = value;\n\t\t\t\ttruncateAt.push( MONTH );\n\t\t\t\tbreak;\n\n\t\t\t// Week (skip)\n\t\t\tcase \"w\": // Week of Year.\n\t\t\tcase \"W\": // Week of Month.\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"d\":\n\t\t\t\tday = token.value;\n\t\t\t\ttruncateAt.push( DAY );\n\t\t\t\tbreak;\n\n\t\t\tcase \"D\":\n\t\t\t\tdaysOfYear = token.value;\n\t\t\t\ttruncateAt.push( DAY );\n\t\t\t\tbreak;\n\n\t\t\tcase \"F\":\n\n\t\t\t\t// Day of Week in month. eg. 2nd Wed in July.\n\t\t\t\t// Skip\n\t\t\t\tbreak;\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\t\t\tcase \"E\":\n\n\t\t\t\t// Skip.\n\t\t\t\t// value = arrayIndexOf( dateWeekDays, token.value );\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tamPm = token.value;\n\t\t\t\tbreak;\n\n\t\t\t// Hour\n\t\t\tcase \"h\": // 1-12\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 1, 12 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = hour12 = true;\n\t\t\t\tdate.setHours( value === 12 ? 0 : value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"K\": // 0-11\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 11 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = hour12 = true;\n\t\t\t\tdate.setHours( value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"k\": // 1-24\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 1, 24 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = true;\n\t\t\t\tdate.setHours( value === 24 ? 0 : value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"H\": // 0-23\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 23 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = true;\n\t\t\t\tdate.setHours( value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\t// Minute\n\t\t\tcase \"m\":\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 59 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tdate.setMinutes( value );\n\t\t\t\ttruncateAt.push( MINUTE );\n\t\t\t\tbreak;\n\n\t\t\t// Second\n\t\t\tcase \"s\":\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 59 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tdate.setSeconds( value );\n\t\t\t\ttruncateAt.push( SECOND );\n\t\t\t\tbreak;\n\n\t\t\tcase \"A\":\n\t\t\t\tdate.setHours( 0 );\n\t\t\t\tdate.setMinutes( 0 );\n\t\t\t\tdate.setSeconds( 0 );\n\n\t\t\t/* falls through */\n\t\t\tcase \"S\":\n\t\t\t\tvalue = Math.round( token.value * Math.pow( 10, 3 - length ) );\n\t\t\t\tdate.setMilliseconds( value );\n\t\t\t\ttruncateAt.push( MILLISECONDS );\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"z\":\n\t\t\tcase \"Z\":\n\t\t\tcase \"O\":\n\t\t\tcase \"v\":\n\t\t\tcase \"V\":\n\t\t\tcase \"X\":\n\t\t\tcase \"x\":\n\t\t\t\tif ( typeof token.value === \"number\" ) {\n\t\t\t\t\ttimezoneOffset = token.value;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\tif ( !valid ) {\n\t\treturn null;\n\t}\n\n\t// 12-hour format needs AM or PM, 24-hour format doesn't, ie. return null\n\t// if amPm && !hour12 || !amPm && hour12.\n\tif ( hour && !( !amPm ^ hour12 ) ) {\n\t\treturn null;\n\t}\n\n\tif ( era === 0 ) {\n\n\t\t// 1 BC = year 0\n\t\tdate.setFullYear( date.getFullYear() * -1 + 1 );\n\t}\n\n\tif ( month !== undefined ) {\n\t\tdateSetMonth( date, month - 1 );\n\t}\n\n\tif ( day !== undefined ) {\n\t\tif ( outOfRange( day, 1, dateLastDayOfMonth( date ) ) ) {\n\t\t\treturn null;\n\t\t}\n\t\tdate.setDate( day );\n\t} else if ( daysOfYear !== undefined ) {\n\t\tif ( outOfRange( daysOfYear, 1, dateIsLeapYear( date.getFullYear() ) ? 366 : 365 ) ) {\n\t\t\treturn null;\n\t\t}\n\t\tdate.setMonth( 0 );\n\t\tdate.setDate( daysOfYear );\n\t}\n\n\tif ( hour12 && amPm === \"pm\" ) {\n\t\tdate.setHours( date.getHours() + 12 );\n\t}\n\n\tif ( timezoneOffset !== undefined ) {\n\t\tdate.setMinutes( date.getMinutes() + timezoneOffset - date.getTimezoneOffset() );\n\t}\n\n\t// Truncate date at the most precise unit defined. Eg.\n\t// If value is \"12/31\", and pattern is \"MM/dd\":\n\t// => new Date( <current Year>, 12, 31, 0, 0, 0, 0 );\n\ttruncateAt = Math.max.apply( null, truncateAt );\n\tdate = dateStartOf( date, units[ truncateAt ] );\n\n\t// Get date back from globalize date.\n\tif ( date instanceof ZonedDateTime ) {\n\t\tdate = date.toDate();\n\t}\n\n\treturn date;\n};\n\n\n/* eslint-disable no-unused-expressions */\n\n\n\n/**\n * tokenizer( value, numberParser, properties )\n *\n * @value [String] string date.\n *\n * @numberParser [Function]\n *\n * @properties [Object] output returned by date/tokenizer-properties.\n *\n * Returns an Array of tokens, eg. value \"5 o'clock PM\", pattern \"h 'o''clock' a\":\n * [{\n * type: \"h\",\n * lexeme: \"5\"\n * }, {\n * type: \"literal\",\n * lexeme: \" \"\n * }, {\n * type: \"literal\",\n * lexeme: \"o'clock\"\n * }, {\n * type: \"literal\",\n * lexeme: \" \"\n * }, {\n * type: \"a\",\n * lexeme: \"PM\",\n * value: \"pm\"\n * }]\n *\n * OBS: lexeme's are always String and may return invalid ranges depending of the token type.\n * Eg. \"99\" for month number.\n *\n * Return an empty Array when not successfully parsed.\n */\nvar dateTokenizer = function( value, numberParser, properties ) {\n\tvar digitsRe, valid,\n\t\ttokens = [],\n\t\twidths = [ \"abbreviated\", \"wide\", \"narrow\" ];\n\n\tdigitsRe = properties.digitsRe;\n\tvalue = looseMatching( value );\n\n\tvalid = properties.pattern.match( datePatternRe ).every(function( current ) {\n\t\tvar aux, chr, length, numeric, tokenRe,\n\t\t\ttoken = {};\n\n\t\tfunction hourFormatParse( tokenRe, numberParser ) {\n\t\t\tvar aux, isPositive,\n\t\t\t\tmatch = value.match( tokenRe );\n\t\t\tnumberParser = numberParser || function( value ) {\n\t\t\t\treturn +value;\n\t\t\t};\n\n\t\t\tif ( !match ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tisPositive = match[ 1 ];\n\n\t\t\t// hourFormat containing H only, e.g., `+H;-H`\n\t\t\tif ( match.length < 6 ) {\n\t\t\t\taux = isPositive ? 1 : 3;\n\t\t\t\ttoken.value = numberParser( match[ aux ] ) * 60;\n\n\t\t\t// hourFormat containing H and m, e.g., `+HHmm;-HHmm`\n\t\t\t} else if ( match.length < 10 ) {\n\t\t\t\taux = isPositive ? [ 1, 3 ] : [ 5, 7 ];\n\t\t\t\ttoken.value = numberParser( match[ aux[ 0 ] ] ) * 60 +\n\t\t\t\t\tnumberParser( match[ aux[ 1 ] ] );\n\n\t\t\t// hourFormat containing H, m, and s e.g., `+HHmmss;-HHmmss`\n\t\t\t} else {\n\t\t\t\taux = isPositive ? [ 1, 3, 5 ] : [ 7, 9, 11 ];\n\t\t\t\ttoken.value = numberParser( match[ aux[ 0 ] ] ) * 60 +\n\t\t\t\t\tnumberParser( match[ aux[ 1 ] ] ) +\n\t\t\t\t\tnumberParser( match[ aux[ 2 ] ] ) / 60;\n\t\t\t}\n\n\t\t\tif ( isPositive ) {\n\t\t\t\ttoken.value *= -1;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction oneDigitIfLengthOne() {\n\t\t\tif ( length === 1 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = digitsRe;\n\t\t\t}\n\t\t}\n\n\t\tfunction oneOrTwoDigitsIfLengthOne() {\n\t\t\tif ( length === 1 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d\\d?/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = new RegExp( \"^(\" + digitsRe.source + \"){1,2}\" );\n\t\t\t}\n\t\t}\n\n\t\tfunction oneOrTwoDigitsIfLengthOneOrTwo() {\n\t\t\tif ( length === 1 || length === 2 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d\\d?/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = new RegExp( \"^(\" + digitsRe.source + \"){1,2}\" );\n\t\t\t}\n\t\t}\n\n\t\tfunction twoDigitsIfLengthTwo() {\n\t\t\tif ( length === 2 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d\\d/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = new RegExp( \"^(\" + digitsRe.source + \"){2}\" );\n\t\t\t}\n\t\t}\n\n\t\t// Brute-force test every locale entry in an attempt to match the given value.\n\t\t// Return the first found one (and set token accordingly), or null.\n\t\tfunction lookup( path ) {\n\t\t\tvar array = properties[ path.join( \"/\" ) ];\n\n\t\t\tif ( !array ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// array of pairs [key, value] sorted by desc value length.\n\t\t\tarray.some(function( item ) {\n\t\t\t\tvar valueRe = item[ 1 ];\n\t\t\t\tif ( valueRe.test( value ) ) {\n\t\t\t\t\ttoken.value = item[ 0 ];\n\t\t\t\t\ttokenRe = item[ 1 ];\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn null;\n\t\t}\n\n\t\ttoken.type = current;\n\t\tchr = current.charAt( 0 );\n\t\tlength = current.length;\n\n\t\tif ( chr === \"Z\" ) {\n\n\t\t\t// Z..ZZZ: same as \"xxxx\".\n\t\t\tif ( length < 4 ) {\n\t\t\t\tchr = \"x\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZ: same as \"OOOO\".\n\t\t\t} else if ( length < 5 ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZZ: same as \"XXXXX\"\n\t\t\t} else {\n\t\t\t\tchr = \"X\";\n\t\t\t\tlength = 5;\n\t\t\t}\n\t\t}\n\n\t\tif ( chr === \"z\" ) {\n\t\t\tif ( properties.standardOrDaylightTzName ) {\n\t\t\t\ttoken.value = null;\n\t\t\t\ttokenRe = properties.standardOrDaylightTzName;\n\t\t\t}\n\t\t}\n\n\t\t// v...vvv: \"{shortRegion}\", eg. \"PT\".\n\t\t// vvvv: \"{regionName} {Time}\" or \"{regionName} {Time}\",\n\t\t// e.g., \"Pacific Time\"\n\t\t// http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n\t\tif ( chr === \"v\" ) {\n\t\t\tif ( properties.genericTzName ) {\n\t\t\t\ttoken.value = null;\n\t\t\t\ttokenRe = properties.genericTzName;\n\n\t\t\t// Fall back to \"V\" format.\n\t\t\t} else {\n\t\t\t\tchr = \"V\";\n\t\t\t\tlength = 4;\n\t\t\t}\n\t\t}\n\n\t\tif ( chr === \"V\" && properties.timeZoneName ) {\n\t\t\ttoken.value = length === 2 ? properties.timeZoneName : null;\n\t\t\ttokenRe = properties.timeZoneNameRe;\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\tlookup([\n\t\t\t\t\t\"gregorian/eras\",\n\t\t\t\t\tlength <= 3 ? \"eraAbbr\" : ( length === 4 ? \"eraNames\" : \"eraNarrow\" )\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\t\t\tcase \"Y\":\n\t\t\t\tnumeric = true;\n\n\t\t\t\t// number l=1:+, l=2:{2}, l=3:{3,}, l=4:{4,}, ...\n\t\t\t\tif ( length === 1 ) {\n\n\t\t\t\t\t// Unicode equivalent to /\\d+/.\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \")+\" );\n\t\t\t\t} else if ( length === 2 ) {\n\n\t\t\t\t\t// Lenient parsing: there's no year pattern to indicate non-zero-padded 2-digits\n\t\t\t\t\t// year, so parser accepts both zero-padded and non-zero-padded for `yy`.\n\t\t\t\t\t//\n\t\t\t\t\t// Unicode equivalent to /\\d\\d?/\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){1,2}\" );\n\t\t\t\t} else {\n\n\t\t\t\t\t// Unicode equivalent to /\\d{length,}/\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + length + \",}\" );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Quarter\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\n\t\t\t\t// number l=1:{1}, l=2:{2}.\n\t\t\t\t// lookup l=3...\n\t\t\t\toneDigitIfLengthOne() || twoDigitsIfLengthTwo() ||\n\t\t\t\t\tlookup([\n\t\t\t\t\t\t\"gregorian/quarters\",\n\t\t\t\t\t\tchr === \"Q\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\n\t\t\t\t// number l=1:{1,2}, l=2:{2}.\n\t\t\t\t// lookup l=3...\n\t\t\t\t//\n\t\t\t\t// Lenient parsing: skeleton \"yMd\" (i.e., one M) may include MM for the pattern,\n\t\t\t\t// therefore parser accepts both zero-padded and non-zero-padded for M and MM.\n\t\t\t\t// Similar for L.\n\t\t\t\toneOrTwoDigitsIfLengthOneOrTwo() || lookup([\n\t\t\t\t\t\"gregorian/months\",\n\t\t\t\t\tchr === \"M\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"D\":\n\n\t\t\t\t// number {l,3}.\n\t\t\t\tif ( length <= 3 ) {\n\n\t\t\t\t\t// Equivalent to /\\d{length,3}/\n\t\t\t\t\tnumeric = true;\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + length + \",3}\" );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"W\":\n\t\t\tcase \"F\":\n\n\t\t\t\t// number l=1:{1}.\n\t\t\t\toneDigitIfLengthOne();\n\t\t\t\tbreak;\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\n\t\t\t\t// number l=1:{1}, l=2:{2}.\n\t\t\t\t// lookup for length >=3.\n\t\t\t\tif ( length <= 2 ) {\n\t\t\t\t\toneDigitIfLengthOne() || twoDigitsIfLengthTwo();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"E\":\n\t\t\t\tif ( length === 6 ) {\n\n\t\t\t\t\t// Note: if short day names are not explicitly specified, abbreviated day\n\t\t\t\t\t// names are used instead http://www.unicode.org/reports/tr35/tr35-dates.html#months_days_quarters_eras\n\t\t\t\t\tlookup([\n\t\t\t\t\t\t\"gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\t\"short\"\n\t\t\t\t\t]) || lookup([\n\t\t\t\t\t\t\"gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\t\"abbreviated\"\n\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tlookup([\n\t\t\t\t\t\t\"gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\twidths[ length < 3 ? 0 : length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tlookup([\n\t\t\t\t\t\"gregorian/dayPeriods/format/wide\"\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Week\n\t\t\tcase \"w\":\n\n\t\t\t\t// number l1:{1,2}, l2:{2}.\n\t\t\t\toneOrTwoDigitsIfLengthOne() || twoDigitsIfLengthTwo();\n\t\t\t\tbreak;\n\n\t\t\t// Day, Hour, Minute, or Second\n\t\t\tcase \"d\":\n\t\t\tcase \"h\":\n\t\t\tcase \"H\":\n\t\t\tcase \"K\":\n\t\t\tcase \"k\":\n\t\t\tcase \"j\":\n\t\t\tcase \"m\":\n\t\t\tcase \"s\":\n\n\t\t\t\t// number l1:{1,2}, l2:{2}.\n\t\t\t\t//\n\t\t\t\t// Lenient parsing:\n\t\t\t\t// - skeleton \"hms\" (i.e., one m) always includes mm for the pattern, i.e., it's\n\t\t\t\t// impossible to use a different skeleton to parse non-zero-padded minutes,\n\t\t\t\t// therefore parser accepts both zero-padded and non-zero-padded for m. Similar\n\t\t\t\t// for seconds s.\n\t\t\t\t// - skeleton \"hms\" (i.e., one h) may include h or hh for the pattern, i.e., it's\n\t\t\t\t// impossible to use a different skeleton to parser non-zero-padded hours for some\n\t\t\t\t// locales, therefore parser accepts both zero-padded and non-zero-padded for h.\n\t\t\t\t// Similar for d (in skeleton yMd).\n\t\t\t\toneOrTwoDigitsIfLengthOneOrTwo();\n\t\t\t\tbreak;\n\n\t\t\tcase \"S\":\n\n\t\t\t\t// number {l}.\n\n\t\t\t\t// Unicode equivalent to /\\d{length}/\n\t\t\t\tnumeric = true;\n\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + length + \"}\" );\n\t\t\t\tbreak;\n\n\t\t\tcase \"A\":\n\n\t\t\t\t// number {l+5}.\n\n\t\t\t\t// Unicode equivalent to /\\d{length+5}/\n\t\t\t\tnumeric = true;\n\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + ( length + 5 ) + \"}\" );\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"v\":\n\t\t\tcase \"V\":\n\t\t\tcase \"z\":\n\t\t\t\tif ( tokenRe && tokenRe.test( value ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( chr === \"V\" && length === 2 ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"O\":\n\n\t\t\t\t// O: \"{gmtFormat}+H;{gmtFormat}-H\" or \"{gmtZeroFormat}\", eg. \"GMT-8\" or \"GMT\".\n\t\t\t\t// OOOO: \"{gmtFormat}{hourFormat}\" or \"{gmtZeroFormat}\", eg. \"GMT-08:00\" or \"GMT\".\n\t\t\t\tif ( value === properties[ \"timeZoneNames/gmtZeroFormat\" ] ) {\n\t\t\t\t\ttoken.value = 0;\n\t\t\t\t\ttokenRe = properties[ \"timeZoneNames/gmtZeroFormatRe\" ];\n\t\t\t\t} else {\n\t\t\t\t\taux = properties[ \"timeZoneNames/hourFormat\" ].some(function( hourFormatRe ) {\n\t\t\t\t\t\tif ( hourFormatParse( hourFormatRe, numberParser ) ) {\n\t\t\t\t\t\t\ttokenRe = hourFormatRe;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif ( !aux ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"X\":\n\n\t\t\t\t// Same as x*, except it uses \"Z\" for zero offset.\n\t\t\t\tif ( value === \"Z\" ) {\n\t\t\t\t\ttoken.value = 0;\n\t\t\t\t\ttokenRe = /^Z/;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"x\":\n\n\t\t\t\t// x: hourFormat(\"+HH[mm];-HH[mm]\")\n\t\t\t\t// xx: hourFormat(\"+HHmm;-HHmm\")\n\t\t\t\t// xxx: hourFormat(\"+HH:mm;-HH:mm\")\n\t\t\t\t// xxxx: hourFormat(\"+HHmm[ss];-HHmm[ss]\")\n\t\t\t\t// xxxxx: hourFormat(\"+HH:mm[:ss];-HH:mm[:ss]\")\n\t\t\t\taux = properties.x.some(function( hourFormatRe ) {\n\t\t\t\t\tif ( hourFormatParse( hourFormatRe ) ) {\n\t\t\t\t\t\ttokenRe = hourFormatRe;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif ( !aux ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"'\":\n\t\t\t\ttoken.type = \"literal\";\n\t\t\t\ttokenRe = new RegExp( \"^\" + regexpEscape( removeLiteralQuotes( current ) ) );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\ttoken.type = \"literal\";\n\t\t\t\ttokenRe = new RegExp( \"^\" + regexpEscape( current ) );\n\t\t}\n\n\t\tif ( !tokenRe ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Get lexeme and consume it.\n\t\tvalue = value.replace( tokenRe, function( lexeme ) {\n\t\t\ttoken.lexeme = lexeme;\n\t\t\tif ( numeric ) {\n\t\t\t\ttoken.value = numberParser( lexeme );\n\t\t\t}\n\t\t\treturn \"\";\n\t\t});\n\n\t\tif ( !token.lexeme ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( numeric && isNaN( token.value ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttokens.push( token );\n\t\treturn true;\n\t});\n\n\tif ( value !== \"\" ) {\n\t\tvalid = false;\n\t}\n\n\treturn valid ? tokens : [];\n};\n\n\n\n\nvar dateParserFn = function( numberParser, parseProperties, tokenizerProperties ) {\n\treturn function dateParser( value ) {\n\t\tvar tokens;\n\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeString( value, \"value\" );\n\n\t\ttokens = dateTokenizer( value, numberParser, tokenizerProperties );\n\t\treturn dateParse( value, tokens, parseProperties ) || null;\n\t};\n};\n\n\n\n\nvar objectFilter = function( object, testRe ) {\n\tvar key,\n\t\tcopy = {};\n\n\tfor ( key in object ) {\n\t\tif ( testRe.test( key ) ) {\n\t\t\tcopy[ key ] = object[ key ];\n\t\t}\n\t}\n\n\treturn copy;\n};\n\n\n\n\n/**\n * tokenizerProperties( pattern, cldr )\n *\n * @pattern [String] raw pattern.\n *\n * @cldr [Cldr instance].\n *\n * Return Object with data that will be used by tokenizer.\n */\nvar dateTokenizerProperties = function( pattern, cldr, timeZone ) {\n\tvar digitsReSource,\n\t\tproperties = {\n\t\t\tpattern: looseMatching( pattern )\n\t\t},\n\t\ttimeSeparator = numberSymbol( \"timeSeparator\", cldr ),\n\t\twidths = [ \"abbreviated\", \"wide\", \"narrow\" ];\n\n\tdigitsReSource = numberNumberingSystemDigitsMap( cldr );\n\tdigitsReSource = digitsReSource ? \"[\" + digitsReSource + \"]\" : \"\\\\d\";\n\tproperties.digitsRe = new RegExp( digitsReSource );\n\n\t// Transform:\n\t// - \"+H;-H\" -> /\\+(\\d\\d?)|-(\\d\\d?)/\n\t// - \"+HH;-HH\" -> /\\+(\\d\\d)|-(\\d\\d)/\n\t// - \"+HHmm;-HHmm\" -> /\\+(\\d\\d)(\\d\\d)|-(\\d\\d)(\\d\\d)/\n\t// - \"+HH:mm;-HH:mm\" -> /\\+(\\d\\d):(\\d\\d)|-(\\d\\d):(\\d\\d)/\n\t//\n\t// If gmtFormat is GMT{0}, the regexp must fill {0} in each side, e.g.:\n\t// - \"+H;-H\" -> /GMT\\+(\\d\\d?)|GMT-(\\d\\d?)/\n\tfunction hourFormatRe( hourFormat, gmtFormat, digitsReSource, timeSeparator ) {\n\t\tvar re;\n\n\t\tif ( !digitsReSource ) {\n\t\t\tdigitsReSource = \"\\\\d\";\n\t\t}\n\t\tif ( !gmtFormat ) {\n\t\t\tgmtFormat = \"{0}\";\n\t\t}\n\n\t\tre = hourFormat\n\t\t\t.replace( \"+\", \"\\\\+\" )\n\n\t\t\t// Unicode equivalent to (\\\\d\\\\d)\n\t\t\t.replace( /HH|mm|ss/g, \"((\" + digitsReSource + \"){2})\" )\n\n\t\t\t// Unicode equivalent to (\\\\d\\\\d?)\n\t\t\t.replace( /H|m/g, \"((\" + digitsReSource + \"){1,2})\" );\n\n\t\tif ( timeSeparator ) {\n\t\t\tre = re.replace( /:/g, timeSeparator );\n\t\t}\n\n\t\tre = re.split( \";\" ).map(function( part ) {\n\t\t\treturn gmtFormat.replace( \"{0}\", part );\n\t\t}).join( \"|\" );\n\n\t\treturn new RegExp( \"^\" + re );\n\t}\n\n\tfunction populateProperties( path, value ) {\n\n\t\t// Skip\n\t\tvar skipRe = /(timeZoneNames\\/zone|supplemental\\/metaZones|timeZoneNames\\/metazone|timeZoneNames\\/regionFormat|timeZoneNames\\/gmtFormat)/;\n\t\tif ( skipRe.test( path ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !value ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The `dates` and `calendars` trim's purpose is to reduce properties' key size only.\n\t\tpath = path.replace( /^.*\\/dates\\//, \"\" ).replace( /calendars\\//, \"\" );\n\n\t\t// Specific filter for \"gregorian/dayPeriods/format/wide\".\n\t\tif ( path === \"gregorian/dayPeriods/format/wide\" ) {\n\t\t\tvalue = objectFilter( value, /^am|^pm/ );\n\t\t}\n\n\t\t// Transform object into array of pairs [key, /value/], sort by desc value length.\n\t\tif ( isPlainObject( value ) ) {\n\t\t\tvalue = Object.keys( value ).map(function( key ) {\n\t\t\t\treturn [ key, new RegExp( \"^\" + regexpEscape( looseMatching( value[ key ] ) ) ) ];\n\t\t\t}).sort(function( a, b ) {\n\t\t\t\treturn b[ 1 ].source.length - a[ 1 ].source.length;\n\t\t\t});\n\n\t\t// If typeof value === \"string\".\n\t\t} else {\n\t\t\tvalue = looseMatching( value );\n\t\t}\n\t\tproperties[ path ] = value;\n\t}\n\n\tfunction regexpSourceSomeTerm( terms ) {\n\t\treturn \"(\" + terms.filter(function( item ) {\n\t\t\treturn item;\n\t\t}).reduce(function( memo, item ) {\n\t\t\treturn memo + \"|\" + item;\n\t\t}) + \")\";\n\t}\n\n\tcldr.on( \"get\", populateProperties );\n\n\tpattern.match( datePatternRe ).forEach(function( current ) {\n\t\tvar aux, chr, daylightTzName, gmtFormat, length, standardTzName;\n\n\t\tchr = current.charAt( 0 );\n\t\tlength = current.length;\n\n\t\tif ( chr === \"Z\" ) {\n\t\t\tif ( length < 5 ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tlength = 4;\n\t\t\t} else {\n\t\t\t\tchr = \"X\";\n\t\t\t\tlength = 5;\n\t\t\t}\n\t\t}\n\n\t\t// z...zzz: \"{shortRegion}\", eg. \"PST\" or \"PDT\".\n\t\t// zzzz: \"{regionName} {Standard Time}\" or \"{regionName} {Daylight Time}\",\n\t\t// e.g., \"Pacific Standard Time\" or \"Pacific Daylight Time\".\n\t\t// http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n\t\tif ( chr === \"z\" ) {\n\t\t\tstandardTzName = dateGetTimeZoneName( length, \"standard\", timeZone, cldr );\n\t\t\tdaylightTzName = dateGetTimeZoneName( length, \"daylight\", timeZone, cldr );\n\t\t\tif ( standardTzName ) {\n\t\t\t\tstandardTzName = regexpEscape( looseMatching( standardTzName ) );\n\t\t\t}\n\t\t\tif ( daylightTzName ) {\n\t\t\t\tdaylightTzName = regexpEscape( looseMatching( daylightTzName ) );\n\t\t\t}\n\t\t\tif ( standardTzName || daylightTzName ) {\n\t\t\t\tproperties.standardOrDaylightTzName = new RegExp(\n\t\t\t\t\t\"^\" + regexpSourceSomeTerm([ standardTzName, daylightTzName ])\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Fall through the \"O\" format in case one name is missing.\n\t\t\tif ( !standardTzName || !daylightTzName ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tif ( length < 4 ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// v...vvv: \"{shortRegion}\", eg. \"PT\".\n\t\t// vvvv: \"{regionName} {Time}\" or \"{regionName} {Time}\",\n\t\t// e.g., \"Pacific Time\"\n\t\t// http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n\t\tif ( chr === \"v\" ) {\n\t\t\tif ( length !== 1 && length !== 4 ) {\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"timezone pattern `\" + pattern + \"`\"\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar genericTzName = dateGetTimeZoneName( length, \"generic\", timeZone, cldr );\n\t\t\tif ( genericTzName ) {\n\t\t\t\tproperties.genericTzName = new RegExp(\n\t\t\t\t\t\"^\" + regexpEscape( looseMatching( genericTzName ) )\n\t\t\t\t);\n\t\t\t\tchr = \"O\";\n\n\t\t\t// Fall back to \"V\" format.\n\t\t\t} else {\n\t\t\t\tchr = \"V\";\n\t\t\t\tlength = 4;\n\t\t\t}\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\tcldr.main([\n\t\t\t\t\t\"dates/calendars/gregorian/eras\",\n\t\t\t\t\tlength <= 3 ? \"eraAbbr\" : ( length === 4 ? \"eraNames\" : \"eraNarrow\" )\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"u\": // Extended year. Need to be implemented.\n\t\t\tcase \"U\": // Cyclic year name. Need to be implemented.\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"year pattern `\" + chr + \"`\"\n\t\t\t\t});\n\n\t\t\t// Quarter\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tcldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/quarters\",\n\t\t\t\t\t\tchr === \"Q\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\n\t\t\t\t// number l=1:{1,2}, l=2:{2}.\n\t\t\t\t// lookup l=3...\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tcldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/months\",\n\t\t\t\t\t\tchr === \"M\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"g\":\n\n\t\t\t\t// Modified Julian day. Need to be implemented.\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"Julian day pattern `g`\"\n\t\t\t\t});\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\n\t\t\t\t// lookup for length >=3.\n\t\t\t\tif ( length <= 2 ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"E\":\n\t\t\t\tif ( length === 6 ) {\n\n\t\t\t\t\t// Note: if short day names are not explicitly specified, abbreviated day\n\t\t\t\t\t// names are used instead http://www.unicode.org/reports/tr35/tr35-dates.html#months_days_quarters_eras\n\t\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\t\tcldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\t\"short\"\n\t\t\t\t\t]) || cldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\t\"abbreviated\"\n\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tcldr.main([\n\t\t\t\t\t\t\"dates/calendars/gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\twidths[ length < 3 ? 0 : length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tcldr.main(\n\t\t\t\t\t\"dates/calendars/gregorian/dayPeriods/format/wide\"\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"V\":\n\n\t\t\t\tif ( length === 1 ) {\n\t\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\t\tfeature: \"timezone pattern `\" + pattern + \"`\"\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif ( timeZone ) {\n\t\t\t\t\tif ( length === 2 ) {\n\n\t\t\t\t\t\t// Skip looseMatching processing since timeZone is a canonical posix value.\n\t\t\t\t\t\tproperties.timeZoneName = timeZone;\n\t\t\t\t\t\tproperties.timeZoneNameRe = new RegExp( \"^\" + regexpEscape( timeZone ) );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar timeZoneName,\n\t\t\t\t\t\texemplarCity = cldr.main([\n\t\t\t\t\t\t\t\"dates/timeZoneNames/zone\", timeZone, \"exemplarCity\"\n\t\t\t\t\t\t]);\n\n\t\t\t\t\tif ( length === 3 ) {\n\t\t\t\t\t\tif ( !exemplarCity ) {\n\t\t\t\t\t\t\texemplarCity = cldr.main([\n\t\t\t\t\t\t\t\t\"dates/timeZoneNames/zone/Etc/Unknown/exemplarCity\"\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeZoneName = exemplarCity;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( exemplarCity && length === 4 ) {\n\t\t\t\t\t\ttimeZoneName = formatMessage(\n\t\t\t\t\t\t\tcldr.main(\n\t\t\t\t\t\t\t\t\"dates/timeZoneNames/regionFormat\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t[ exemplarCity ]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( timeZoneName ) {\n\t\t\t\t\t\ttimeZoneName = looseMatching( timeZoneName );\n\t\t\t\t\t\tproperties.timeZoneName = timeZoneName;\n\t\t\t\t\t\tproperties.timeZoneNameRe = new RegExp(\n\t\t\t\t\t\t\t\"^\" + regexpEscape( timeZoneName )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( current === \"v\" ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"z\":\n\t\t\tcase \"O\":\n\t\t\t\tgmtFormat = cldr.main( \"dates/timeZoneNames/gmtFormat\" );\n\t\t\t\tcldr.main( \"dates/timeZoneNames/gmtZeroFormat\" );\n\t\t\t\tcldr.main( \"dates/timeZoneNames/hourFormat\" );\n\t\t\t\tproperties[ \"timeZoneNames/gmtZeroFormatRe\" ] =\n\t\t\t\t\tnew RegExp( \"^\" + regexpEscape( properties[ \"timeZoneNames/gmtZeroFormat\" ] ) );\n\t\t\t\taux = properties[ \"timeZoneNames/hourFormat\" ];\n\t\t\t\tproperties[ \"timeZoneNames/hourFormat\" ] = (\n\t\t\t\t\tlength < 4 ?\n\t\t\t\t\t\t[ dateTimezoneHourFormatHm( aux, \"H\" ), dateTimezoneHourFormatH( aux ) ] :\n\t\t\t\t\t\t[ dateTimezoneHourFormatHm( aux, \"HH\" ) ]\n\t\t\t\t).map(function( hourFormat ) {\n\t\t\t\t\treturn hourFormatRe(\n\t\t\t\t\t\thourFormat,\n\t\t\t\t\t\tgmtFormat,\n\t\t\t\t\t\tdigitsReSource,\n\t\t\t\t\t\ttimeSeparator\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t/* falls through */\n\t\t\tcase \"X\":\n\t\t\tcase \"x\":\n\n\t\t\t\t// x: hourFormat(\"+HH[mm];-HH[mm]\")\n\t\t\t\t// xx: hourFormat(\"+HHmm;-HHmm\")\n\t\t\t\t// xxx: hourFormat(\"+HH:mm;-HH:mm\")\n\t\t\t\t// xxxx: hourFormat(\"+HHmm[ss];-HHmm[ss]\")\n\t\t\t\t// xxxxx: hourFormat(\"+HH:mm[:ss];-HH:mm[:ss]\")\n\t\t\t\tproperties.x = [\n\t\t\t\t\t[ \"+HHmm;-HHmm\", \"+HH;-HH\" ],\n\t\t\t\t\t[ \"+HHmm;-HHmm\" ],\n\t\t\t\t\t[ \"+HH:mm;-HH:mm\" ],\n\t\t\t\t\t[ \"+HHmmss;-HHmmss\", \"+HHmm;-HHmm\" ],\n\t\t\t\t\t[ \"+HH:mm:ss;-HH:mm:ss\", \"+HH:mm;-HH:mm\" ]\n\t\t\t\t][ length - 1 ].map(function( hourFormat ) {\n\t\t\t\t\treturn hourFormatRe( hourFormat );\n\t\t\t\t});\n\t\t}\n\t});\n\n\tcldr.off( \"get\", populateProperties );\n\n\treturn properties;\n};\n\n\n\n\n/**\n * dayOfWeek( date, firstDay )\n *\n * @date\n *\n * @firstDay the result of `dateFirstDayOfWeek( cldr )`\n *\n * Return the day of the week normalized by the territory's firstDay [0-6].\n * Eg for \"mon\":\n * - return 0 if territory is GB, or BR, or DE, or FR (week starts on \"mon\");\n * - return 1 if territory is US (week starts on \"sun\");\n * - return 2 if territory is EG (week starts on \"sat\");\n */\nvar dateDayOfWeek = function( date, firstDay ) {\n\treturn ( date.getDay() - firstDay + 7 ) % 7;\n};\n\n\n\n\n/**\n * distanceInDays( from, to )\n *\n * Return the distance in days between from and to Dates.\n */\nvar dateDistanceInDays = function( from, to ) {\n\tvar inDays = 864e5;\n\treturn ( to.getTime() - from.getTime() ) / inDays;\n};\n\n\n\n\n/**\n * dayOfYear\n *\n * Return the distance in days of the date to the begin of the year [0-d].\n */\nvar dateDayOfYear = function( date ) {\n\treturn Math.floor( dateDistanceInDays( dateStartOf( date, \"year\" ), date ) );\n};\n\n\n\n\n// Invert key and values, e.g., {\"year\": \"yY\"} ==> {\"y\": \"year\", \"Y\": \"year\"}\nvar dateFieldsMap = objectInvert({\n\t\"era\": \"G\",\n\t\"year\": \"yY\",\n\t\"quarter\": \"qQ\",\n\t\"month\": \"ML\",\n\t\"week\": \"wW\",\n\t\"day\": \"dDF\",\n\t\"weekday\": \"ecE\",\n\t\"dayperiod\": \"a\",\n\t\"hour\": \"hHkK\",\n\t\"minute\": \"m\",\n\t\"second\": \"sSA\",\n\t\"zone\": \"zvVOxX\"\n}, function( object, key, value ) {\n\tvalue.split( \"\" ).forEach(function( symbol ) {\n\t\tobject[ symbol ] = key;\n\t});\n\treturn object;\n});\n\n\n\n\n/**\n * millisecondsInDay\n */\nvar dateMillisecondsInDay = function( date ) {\n\n\t// TODO Handle daylight savings discontinuities\n\treturn date - dateStartOf( date, \"day\" );\n};\n\n\n\n\n/**\n * hourFormat( date, format, timeSeparator, formatNumber )\n *\n * Return date's timezone offset according to the format passed.\n * Eg for format when timezone offset is 180:\n * - \"+H;-H\": -3\n * - \"+HHmm;-HHmm\": -0300\n * - \"+HH:mm;-HH:mm\": -03:00\n * - \"+HH:mm:ss;-HH:mm:ss\": -03:00:00\n */\nvar dateTimezoneHourFormat = function( date, format, timeSeparator, formatNumber ) {\n\tvar absOffset,\n\t\toffset = date.getTimezoneOffset();\n\n\tabsOffset = Math.abs( offset );\n\tformatNumber = formatNumber || {\n\t\t1: function( value ) {\n\t\t\treturn stringPad( value, 1 );\n\t\t},\n\t\t2: function( value ) {\n\t\t\treturn stringPad( value, 2 );\n\t\t}\n\t};\n\n\treturn format\n\n\t\t// Pick the correct sign side (+ or -).\n\t\t.split( \";\" )[ offset > 0 ? 1 : 0 ]\n\n\t\t// Localize time separator\n\t\t.replace( \":\", timeSeparator )\n\n\t\t// Update hours offset.\n\t\t.replace( /HH?/, function( match ) {\n\t\t\treturn formatNumber[ match.length ]( Math.floor( absOffset / 60 ) );\n\t\t})\n\n\t\t// Update minutes offset and return.\n\t\t.replace( /mm/, function() {\n\t\t\treturn formatNumber[ 2 ]( Math.floor( absOffset % 60 ) );\n\t\t})\n\n\t\t// Update minutes offset and return.\n\t\t.replace( /ss/, function() {\n\t\t\treturn formatNumber[ 2 ]( Math.floor( absOffset % 1 * 60 ) );\n\t\t});\n};\n\n\n\n\n/**\n * format( date, properties )\n *\n * @date [Date instance].\n *\n * @properties\n *\n * TODO Support other calendar types.\n *\n * Disclosure: this function borrows excerpts of dojo/date/locale.\n */\nvar dateFormat = function( date, numberFormatters, properties ) {\n\tvar parts = [];\n\n\tvar timeSeparator = properties.timeSeparator;\n\n\t// create globalize date with given timezone data\n\tif ( properties.timeZoneData ) {\n\t\tdate = new ZonedDateTime( date, properties.timeZoneData() );\n\t}\n\n\tproperties.pattern.replace( datePatternRe, function( current ) {\n\t\tvar aux, dateField, type, value,\n\t\t\tchr = current.charAt( 0 ),\n\t\t\tlength = current.length;\n\n\t\tif ( chr === \"j\" ) {\n\n\t\t\t// Locale preferred hHKk.\n\t\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data\n\t\t\tchr = properties.preferredTime;\n\t\t}\n\n\t\tif ( chr === \"Z\" ) {\n\n\t\t\t// Z..ZZZ: same as \"xxxx\".\n\t\t\tif ( length < 4 ) {\n\t\t\t\tchr = \"x\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZ: same as \"OOOO\".\n\t\t\t} else if ( length < 5 ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZZ: same as \"XXXXX\"\n\t\t\t} else {\n\t\t\t\tchr = \"X\";\n\t\t\t\tlength = 5;\n\t\t\t}\n\t\t}\n\n\t\t// z...zzz: \"{shortRegion}\", e.g., \"PST\" or \"PDT\".\n\t\t// zzzz: \"{regionName} {Standard Time}\" or \"{regionName} {Daylight Time}\",\n\t\t// e.g., \"Pacific Standard Time\" or \"Pacific Daylight Time\".\n\t\tif ( chr === \"z\" ) {\n\t\t\tif ( date.isDST ) {\n\t\t\t\tvalue = date.isDST() ? properties.daylightTzName : properties.standardTzName;\n\t\t\t}\n\n\t\t\t// Fall back to \"O\" format.\n\t\t\tif ( !value ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tif ( length < 4 ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\tvalue = properties.eras[ date.getFullYear() < 0 ? 0 : 1 ];\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\n\t\t\t\t// Plain year.\n\t\t\t\t// The length specifies the padding, but for two letters it also specifies the\n\t\t\t\t// maximum length.\n\t\t\t\tvalue = date.getFullYear();\n\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\tvalue = String( value );\n\t\t\t\t\tvalue = +value.substr( value.length - 2 );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"Y\":\n\n\t\t\t\t// Year in \"Week of Year\"\n\t\t\t\t// The length specifies the padding, but for two letters it also specifies the\n\t\t\t\t// maximum length.\n\t\t\t\t// yearInWeekofYear = date + DaysInAWeek - (dayOfWeek - firstDay) - minDays\n\t\t\t\tvalue = new Date( date.getTime() );\n\t\t\t\tvalue.setDate(\n\t\t\t\t\tvalue.getDate() + 7 -\n\t\t\t\t\tdateDayOfWeek( date, properties.firstDay ) -\n\t\t\t\t\tproperties.firstDay -\n\t\t\t\t\tproperties.minDays\n\t\t\t\t);\n\t\t\t\tvalue = value.getFullYear();\n\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\tvalue = String( value );\n\t\t\t\t\tvalue = +value.substr( value.length - 2 );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Quarter\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\t\t\t\tvalue = Math.ceil( ( date.getMonth() + 1 ) / 3 );\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tvalue = properties.quarters[ chr ][ length ][ value ];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\t\t\t\tvalue = date.getMonth() + 1;\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tvalue = properties.months[ chr ][ length ][ value ];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Week\n\t\t\tcase \"w\":\n\n\t\t\t\t// Week of Year.\n\t\t\t\t// woy = ceil( ( doy + dow of 1/1 ) / 7 ) - minDaysStuff ? 1 : 0.\n\t\t\t\t// TODO should pad on ww? Not documented, but I guess so.\n\t\t\t\tvalue = dateDayOfWeek( dateStartOf( date, \"year\" ), properties.firstDay );\n\t\t\t\tvalue = Math.ceil( ( dateDayOfYear( date ) + value ) / 7 ) -\n\t\t\t\t\t( 7 - value >= properties.minDays ? 0 : 1 );\n\t\t\t\tbreak;\n\n\t\t\tcase \"W\":\n\n\t\t\t\t// Week of Month.\n\t\t\t\t// wom = ceil( ( dom + dow of `1/month` ) / 7 ) - minDaysStuff ? 1 : 0.\n\t\t\t\tvalue = dateDayOfWeek( dateStartOf( date, \"month\" ), properties.firstDay );\n\t\t\t\tvalue = Math.ceil( ( date.getDate() + value ) / 7 ) -\n\t\t\t\t\t( 7 - value >= properties.minDays ? 0 : 1 );\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"d\":\n\t\t\t\tvalue = date.getDate();\n\t\t\t\tbreak;\n\n\t\t\tcase \"D\":\n\t\t\t\tvalue = dateDayOfYear( date ) + 1;\n\t\t\t\tbreak;\n\n\t\t\tcase \"F\":\n\n\t\t\t\t// Day of Week in month. eg. 2nd Wed in July.\n\t\t\t\tvalue = Math.floor( date.getDate() / 7 ) + 1;\n\t\t\t\tbreak;\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\t\t\t\tif ( length <= 2 ) {\n\n\t\t\t\t\t// Range is [1-7] (deduced by example provided on documentation)\n\t\t\t\t\t// TODO Should pad with zeros (not specified in the docs)?\n\t\t\t\t\tvalue = dateDayOfWeek( date, properties.firstDay ) + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"E\":\n\t\t\t\tvalue = dateWeekDays[ date.getDay() ];\n\t\t\t\tvalue = properties.days[ chr ][ length ][ value ];\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tvalue = properties.dayPeriods[ date.getHours() < 12 ? \"am\" : \"pm\" ];\n\t\t\t\tbreak;\n\n\t\t\t// Hour\n\t\t\tcase \"h\": // 1-12\n\t\t\t\tvalue = ( date.getHours() % 12 ) || 12;\n\t\t\t\tbreak;\n\n\t\t\tcase \"H\": // 0-23\n\t\t\t\tvalue = date.getHours();\n\t\t\t\tbreak;\n\n\t\t\tcase \"K\": // 0-11\n\t\t\t\tvalue = date.getHours() % 12;\n\t\t\t\tbreak;\n\n\t\t\tcase \"k\": // 1-24\n\t\t\t\tvalue = date.getHours() || 24;\n\t\t\t\tbreak;\n\n\t\t\t// Minute\n\t\t\tcase \"m\":\n\t\t\t\tvalue = date.getMinutes();\n\t\t\t\tbreak;\n\n\t\t\t// Second\n\t\t\tcase \"s\":\n\t\t\t\tvalue = date.getSeconds();\n\t\t\t\tbreak;\n\n\t\t\tcase \"S\":\n\t\t\t\tvalue = Math.round( date.getMilliseconds() * Math.pow( 10, length - 3 ) );\n\t\t\t\tbreak;\n\n\t\t\tcase \"A\":\n\t\t\t\tvalue = Math.round( dateMillisecondsInDay( date ) * Math.pow( 10, length - 3 ) );\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"z\":\n\t\t\t\tbreak;\n\n\t\t\tcase \"v\":\n\n\t\t\t\t// v...vvv: \"{shortRegion}\", eg. \"PT\".\n\t\t\t\t// vvvv: \"{regionName} {Time}\",\n\t\t\t\t// e.g., \"Pacific Time\".\n\t\t\t\tif ( properties.genericTzName ) {\n\t\t\t\t\tvalue = properties.genericTzName;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"V\":\n\n\t\t\t\t//VVVV: \"{explarCity} {Time}\", e.g., \"Los Angeles Time\"\n\t\t\t\tif ( properties.timeZoneName ) {\n\t\t\t\t\tvalue = properties.timeZoneName;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( current === \"v\" ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"O\":\n\n\t\t\t\t// O: \"{gmtFormat}+H;{gmtFormat}-H\" or \"{gmtZeroFormat}\", eg. \"GMT-8\" or \"GMT\".\n\t\t\t\t// OOOO: \"{gmtFormat}{hourFormat}\" or \"{gmtZeroFormat}\", eg. \"GMT-08:00\" or \"GMT\".\n\t\t\t\tif ( date.getTimezoneOffset() === 0 ) {\n\t\t\t\t\tvalue = properties.gmtZeroFormat;\n\t\t\t\t} else {\n\n\t\t\t\t\t// If O..OOO and timezone offset has non-zero minutes, show minutes.\n\t\t\t\t\tif ( length < 4 ) {\n\t\t\t\t\t\taux = date.getTimezoneOffset();\n\t\t\t\t\t\taux = properties.hourFormat[ aux % 60 - aux % 1 === 0 ? 0 : 1 ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\taux = properties.hourFormat;\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = dateTimezoneHourFormat(\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\taux,\n\t\t\t\t\t\ttimeSeparator,\n\t\t\t\t\t\tnumberFormatters\n\t\t\t\t\t);\n\t\t\t\t\tvalue = properties.gmtFormat.replace( /\\{0\\}/, value );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"X\":\n\n\t\t\t\t// Same as x*, except it uses \"Z\" for zero offset.\n\t\t\t\tif ( date.getTimezoneOffset() === 0 ) {\n\t\t\t\t\tvalue = \"Z\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"x\":\n\n\t\t\t\t// x: hourFormat(\"+HH[mm];-HH[mm]\")\n\t\t\t\t// xx: hourFormat(\"+HHmm;-HHmm\")\n\t\t\t\t// xxx: hourFormat(\"+HH:mm;-HH:mm\")\n\t\t\t\t// xxxx: hourFormat(\"+HHmm[ss];-HHmm[ss]\")\n\t\t\t\t// xxxxx: hourFormat(\"+HH:mm[:ss];-HH:mm[:ss]\")\n\t\t\t\taux = date.getTimezoneOffset();\n\n\t\t\t\t// If x and timezone offset has non-zero minutes, use xx (i.e., show minutes).\n\t\t\t\tif ( length === 1 && aux % 60 - aux % 1 !== 0 ) {\n\t\t\t\t\tlength += 1;\n\t\t\t\t}\n\n\t\t\t\t// If (xxxx or xxxxx) and timezone offset has zero seconds, use xx or xxx\n\t\t\t\t// respectively (i.e., don't show optional seconds).\n\t\t\t\tif ( ( length === 4 || length === 5 ) && aux % 1 === 0 ) {\n\t\t\t\t\tlength -= 2;\n\t\t\t\t}\n\n\t\t\t\tvalue = [\n\t\t\t\t\t\"+HH;-HH\",\n\t\t\t\t\t\"+HHmm;-HHmm\",\n\t\t\t\t\t\"+HH:mm;-HH:mm\",\n\t\t\t\t\t\"+HHmmss;-HHmmss\",\n\t\t\t\t\t\"+HH:mm:ss;-HH:mm:ss\"\n\t\t\t\t][ length - 1 ];\n\n\t\t\t\tvalue = dateTimezoneHourFormat( date, value, \":\" );\n\t\t\t\tbreak;\n\n\t\t\t// timeSeparator\n\t\t\tcase \":\":\n\t\t\t\tvalue = timeSeparator;\n\t\t\t\tbreak;\n\n\t\t\t// ' literals.\n\t\t\tcase \"'\":\n\t\t\t\tvalue = removeLiteralQuotes( current );\n\t\t\t\tbreak;\n\n\t\t\t// Anything else is considered a literal, including [ ,:/.@#], chinese, japonese, and\n\t\t\t// arabic characters.\n\t\t\tdefault:\n\t\t\t\tvalue = current;\n\n\t\t}\n\t\tif ( typeof value === \"number\" ) {\n\t\t\tvalue = numberFormatters[ length ]( value );\n\t\t}\n\n\t\tdateField = dateFieldsMap[ chr ];\n\t\ttype = dateField ? dateField : \"literal\";\n\n\t\tpartsPush( parts, type, value );\n\t});\n\n\treturn parts;\n\n};\n\n\n\n\nvar dateToPartsFormatterFn = function( numberFormatters, properties ) {\n\treturn function dateToPartsFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeDate( value, \"value\" );\n\n\t\treturn dateFormat( value, numberFormatters, properties );\n\t};\n\n};\n\n\n\n\nfunction optionsHasStyle( options ) {\n\treturn options.skeleton !== undefined ||\n\t\toptions.date !== undefined ||\n\t\toptions.time !== undefined ||\n\t\toptions.datetime !== undefined ||\n\t\toptions.raw !== undefined;\n}\n\nfunction validateRequiredCldr( path, value ) {\n\tvalidateCldr( path, value, {\n\t\tskip: [\n\t\t\t/dates\\/calendars\\/gregorian\\/dateTimeFormats\\/availableFormats/,\n\t\t\t/dates\\/calendars\\/gregorian\\/days\\/.*\\/short/,\n\t\t\t/dates\\/timeZoneNames\\/zone/,\n\t\t\t/dates\\/timeZoneNames\\/metazone/,\n\t\t\t/globalize-iana/,\n\t\t\t/supplemental\\/metaZones/,\n\t\t\t/supplemental\\/timeData\\/(?!001)/,\n\t\t\t/supplemental\\/weekData\\/(?!001)/\n\t\t]\n\t});\n}\n\nfunction validateOptionsPreset( options ) {\n\tvalidateOptionsPresetEach( \"date\", options );\n\tvalidateOptionsPresetEach( \"time\", options );\n\tvalidateOptionsPresetEach( \"datetime\", options );\n}\n\nfunction validateOptionsPresetEach( type, options ) {\n\tvar value = options[ type ];\n\tvalidate(\n\t\t\"E_INVALID_OPTIONS\",\n\t\t\"Invalid `{{type}: \\\"{value}\\\"}`.\",\n\t\tvalue === undefined || [ \"short\", \"medium\", \"long\", \"full\" ].indexOf( value ) !== -1,\n\t\t{ type: type, value: value }\n\t);\n}\n\nfunction validateOptionsSkeleton( pattern, skeleton ) {\n\tvalidate(\n\t\t\"E_INVALID_OPTIONS\",\n\t\t\"Invalid `{skeleton: \\\"{value}\\\"}` based on provided CLDR.\",\n\t\tskeleton === undefined || ( typeof pattern === \"string\" && pattern ),\n\t\t{ type: \"skeleton\", value: skeleton }\n\t);\n}\n\nfunction validateRequiredIana( timeZone ) {\n\treturn function( path, value ) {\n\n\t\tif ( !/globalize-iana/.test( path ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvalidate(\n\t\t\t\"E_MISSING_IANA_TZ\",\n\t\t\t\"Missing required IANA timezone content for `{timeZone}`: `{path}`.\",\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tpath: path.replace( /globalize-iana\\//, \"\" ),\n\t\t\t\ttimeZone: timeZone\n\t\t\t}\n\t\t);\n\t};\n}\n\n/**\n * .loadTimeZone( json )\n *\n * @json [JSON]\n *\n * Load IANA timezone data.\n */\nGlobalize.loadTimeZone = function( json ) {\n\tvar customData = {\n\t\t\t\"globalize-iana\": json\n\t\t};\n\n\tvalidateParameterPresence( json, \"json\" );\n\tvalidateParameterTypePlainObject( json, \"json\" );\n\n\tCldr.load( customData );\n};\n\n/**\n * .dateFormatter( options )\n *\n * @options [Object] see date/expand_pattern for more info.\n *\n * Return a date formatter function (of the form below) according to the given options and the\n * default/instance locale.\n *\n * fn( value )\n *\n * @value [Date]\n *\n * Return a function that formats a date according to the given `format` and the default/instance\n * locale.\n */\nGlobalize.dateFormatter =\nGlobalize.prototype.dateFormatter = function( options ) {\n\tvar args, dateToPartsFormatter, returnFn;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\tif ( !optionsHasStyle( options ) ) {\n\t\toptions.skeleton = \"yMd\";\n\t}\n\targs = [ options ];\n\n\tdateToPartsFormatter = this.dateToPartsFormatter( options );\n\treturnFn = dateFormatterFn( dateToPartsFormatter );\n\truntimeBind( args, this.cldr, returnFn, [ dateToPartsFormatter ] );\n\n\treturn returnFn;\n};\n\n/**\n * .dateToPartsFormatter( options )\n *\n * @options [Object] see date/expand_pattern for more info.\n *\n * Return a date formatter function (of the form below) according to the given options and the\n * default/instance locale.\n *\n * fn( value )\n *\n * @value [Date]\n *\n * Return a function that formats a date to parts according to the given `format`\n * and the default/instance\n * locale.\n */\nGlobalize.dateToPartsFormatter =\nGlobalize.prototype.dateToPartsFormatter = function( options ) {\n\tvar args, cldr, numberFormatters, pad, pattern, properties, returnFn,\n\t\ttimeZone, ianaListener;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\tcldr = this.cldr;\n\toptions = options || {};\n\tif ( !optionsHasStyle( options ) ) {\n\t\toptions.skeleton = \"yMd\";\n\t}\n\n\tvalidateOptionsPreset( options );\n\tvalidateDefaultLocale( cldr );\n\n\ttimeZone = options.timeZone;\n\tvalidateParameterTypeString( timeZone, \"options.timeZone\" );\n\n\targs = [ options ];\n\n\tcldr.on( \"get\", validateRequiredCldr );\n\tif ( timeZone ) {\n\t\tianaListener = validateRequiredIana( timeZone );\n\t\tcldr.on( \"get\", ianaListener );\n\t}\n\ttry {\n\t\tpattern = dateExpandPattern( options, cldr );\n\t\tvalidateOptionsSkeleton( pattern, options.skeleton );\n\t\tproperties = dateFormatProperties( pattern, cldr, timeZone );\n\t} finally {\n\t\tcldr.off( \"get\", validateRequiredCldr );\n\t\tif ( ianaListener ) {\n\t\t\tcldr.off( \"get\", ianaListener );\n\t\t}\n\t}\n\n\t// Create needed number formatters.\n\tnumberFormatters = properties.numberFormatters;\n\tdelete properties.numberFormatters;\n\tfor ( pad in numberFormatters ) {\n\t\tnumberFormatters[ pad ] = this.numberFormatter({\n\t\t\traw: numberFormatters[ pad ]\n\t\t});\n\t}\n\n\treturnFn = dateToPartsFormatterFn( numberFormatters, properties );\n\n\truntimeBind( args, cldr, returnFn, [ numberFormatters, properties ] );\n\n\treturn returnFn;\n};\n\n/**\n * .dateParser( options )\n *\n * @options [Object] see date/expand_pattern for more info.\n *\n * Return a function that parses a string date according to the given `formats` and the\n * default/instance locale.\n */\nGlobalize.dateParser =\nGlobalize.prototype.dateParser = function( options ) {\n\tvar args, cldr, numberParser, parseProperties, pattern, returnFn, timeZone,\n\t\ttokenizerProperties;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\tcldr = this.cldr;\n\toptions = options || {};\n\tif ( !optionsHasStyle( options ) ) {\n\t\toptions.skeleton = \"yMd\";\n\t}\n\n\tvalidateOptionsPreset( options );\n\tvalidateDefaultLocale( cldr );\n\n\ttimeZone = options.timeZone;\n\tvalidateParameterTypeString( timeZone, \"options.timeZone\" );\n\n\targs = [ options ];\n\n\ttry {\n\t\tcldr.on( \"get\", validateRequiredCldr );\n\t\tif ( timeZone ) {\n\t\t\tcldr.on( \"get\", validateRequiredIana( timeZone ) );\n\t\t}\n\t\tpattern = dateExpandPattern( options, cldr );\n\t\tvalidateOptionsSkeleton( pattern, options.skeleton );\n\t\ttokenizerProperties = dateTokenizerProperties( pattern, cldr, timeZone );\n\t\tparseProperties = dateParseProperties( cldr, timeZone );\n\t} finally {\n\t\tcldr.off( \"get\", validateRequiredCldr );\n\t\tif ( timeZone ) {\n\t\t\tcldr.off( \"get\", validateRequiredIana( timeZone ) );\n\t\t}\n\t}\n\tnumberParser = this.numberParser({ raw: \"0\" });\n\n\treturnFn = dateParserFn( numberParser, parseProperties, tokenizerProperties );\n\n\truntimeBind( args, cldr, returnFn, [ numberParser, parseProperties, tokenizerProperties ] );\n\n\treturn returnFn;\n};\n\n/**\n * .formatDate( value, options )\n *\n * @value [Date]\n *\n * @options [Object] see date/expand_pattern for more info.\n *\n * Formats a date or number according to the given options string and the default/instance locale.\n */\nGlobalize.formatDate =\nGlobalize.prototype.formatDate = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeDate( value, \"value\" );\n\n\treturn this.dateFormatter( options )( value );\n};\n\n/**\n * .formatDateToParts( value, options )\n *\n * @value [Date]\n *\n * @options [Object] see date/expand_pattern for more info.\n *\n * Formats a date or number to parts according to the given options and the default/instance locale.\n */\nGlobalize.formatDateToParts =\nGlobalize.prototype.formatDateToParts = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeDate( value, \"value\" );\n\n\treturn this.dateToPartsFormatter( options )( value );\n};\n\n/**\n * .parseDate( value, options )\n *\n * @value [String]\n *\n * @options [Object] see date/expand_pattern for more info.\n *\n * Return a Date instance or null.\n */\nGlobalize.parseDate =\nGlobalize.prototype.parseDate = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeString( value, \"value\" );\n\n\treturn this.dateParser( options )( value );\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"cldr/event\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar alwaysArray = Globalize._alwaysArray,\n\tcreateError = Globalize._createError,\n\tisPlainObject = Globalize._isPlainObject,\n\truntimeBind = Globalize._runtimeBind,\n\tvalidateDefaultLocale = Globalize._validateDefaultLocale,\n\tvalidate = Globalize._validate,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterTypePlainObject = Globalize._validateParameterTypePlainObject;\nvar MessageFormat;\n/* eslint-disable */\nMessageFormat = (function() {\nMessageFormat._parse = (function() {\n\n /*\n * Generated by PEG.js 0.8.0.\n *\n * http://pegjs.majda.cz/\n */\n\n function peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function SyntaxError(message, expected, found, offset, line, column) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.offset = offset;\n this.line = line;\n this.column = column;\n\n this.name = \"SyntaxError\";\n }\n\n peg$subclass(SyntaxError, Error);\n\n function parse(input) {\n var options = arguments.length > 1 ? arguments[1] : {},\n\n peg$FAILED = {},\n\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n\n peg$c0 = [],\n peg$c1 = function(st) {\n return { type: 'messageFormatPattern', statements: st };\n },\n peg$c2 = peg$FAILED,\n peg$c3 = \"{\",\n peg$c4 = { type: \"literal\", value: \"{\", description: \"\\\"{\\\"\" },\n peg$c5 = null,\n peg$c6 = \",\",\n peg$c7 = { type: \"literal\", value: \",\", description: \"\\\",\\\"\" },\n peg$c8 = \"}\",\n peg$c9 = { type: \"literal\", value: \"}\", description: \"\\\"}\\\"\" },\n peg$c10 = function(argIdx, efmt) {\n var res = {\n type: \"messageFormatElement\",\n argumentIndex: argIdx\n };\n if (efmt && efmt.length) {\n res.elementFormat = efmt[1];\n } else {\n res.output = true;\n }\n return res;\n },\n peg$c11 = \"plural\",\n peg$c12 = { type: \"literal\", value: \"plural\", description: \"\\\"plural\\\"\" },\n peg$c13 = function(t, s) {\n return { type: \"elementFormat\", key: t, val: s };\n },\n peg$c14 = \"selectordinal\",\n peg$c15 = { type: \"literal\", value: \"selectordinal\", description: \"\\\"selectordinal\\\"\" },\n peg$c16 = \"select\",\n peg$c17 = { type: \"literal\", value: \"select\", description: \"\\\"select\\\"\" },\n peg$c18 = function(t, p) {\n return { type: \"elementFormat\", key: t, val: p };\n },\n peg$c19 = function(op, pf) {\n return { type: \"pluralFormatPattern\", pluralForms: pf, offset: op || 0 };\n },\n peg$c20 = \"offset\",\n peg$c21 = { type: \"literal\", value: \"offset\", description: \"\\\"offset\\\"\" },\n peg$c22 = \":\",\n peg$c23 = { type: \"literal\", value: \":\", description: \"\\\":\\\"\" },\n peg$c24 = function(d) { return d; },\n peg$c25 = function(k, mfp) {\n return { key: k, val: mfp };\n },\n peg$c26 = function(i) { return i; },\n peg$c27 = \"=\",\n peg$c28 = { type: \"literal\", value: \"=\", description: \"\\\"=\\\"\" },\n peg$c29 = function(pf) { return { type: \"selectFormatPattern\", pluralForms: pf }; },\n peg$c30 = function(p) { return p; },\n peg$c31 = \"#\",\n peg$c32 = { type: \"literal\", value: \"#\", description: \"\\\"#\\\"\" },\n peg$c33 = function() { return {type: 'octothorpe'}; },\n peg$c34 = function(s) { return { type: \"string\", val: s.join('') }; },\n peg$c35 = { type: \"other\", description: \"identifier\" },\n peg$c36 = /^[0-9a-zA-Z$_]/,\n peg$c37 = { type: \"class\", value: \"[0-9a-zA-Z$_]\", description: \"[0-9a-zA-Z$_]\" },\n peg$c38 = /^[^ \\t\\n\\r,.+={}]/,\n peg$c39 = { type: \"class\", value: \"[^ \\\\t\\\\n\\\\r,.+={}]\", description: \"[^ \\\\t\\\\n\\\\r,.+={}]\" },\n peg$c40 = function(s) { return s; },\n peg$c41 = function(chars) { return chars.join(''); },\n peg$c42 = /^[^{}#\\\\\\0-\\x1F \\t\\n\\r]/,\n peg$c43 = { type: \"class\", value: \"[^{}#\\\\\\\\\\\\0-\\\\x1F \\\\t\\\\n\\\\r]\", description: \"[^{}#\\\\\\\\\\\\0-\\\\x1F \\\\t\\\\n\\\\r]\" },\n peg$c44 = function(x) { return x; },\n peg$c45 = \"\\\\\\\\\",\n peg$c46 = { type: \"literal\", value: \"\\\\\\\\\", description: \"\\\"\\\\\\\\\\\\\\\\\\\"\" },\n peg$c47 = function() { return \"\\\\\"; },\n peg$c48 = \"\\\\#\",\n peg$c49 = { type: \"literal\", value: \"\\\\#\", description: \"\\\"\\\\\\\\#\\\"\" },\n peg$c50 = function() { return \"#\"; },\n peg$c51 = \"\\\\{\",\n peg$c52 = { type: \"literal\", value: \"\\\\{\", description: \"\\\"\\\\\\\\{\\\"\" },\n peg$c53 = function() { return \"\\u007B\"; },\n peg$c54 = \"\\\\}\",\n peg$c55 = { type: \"literal\", value: \"\\\\}\", description: \"\\\"\\\\\\\\}\\\"\" },\n peg$c56 = function() { return \"\\u007D\"; },\n peg$c57 = \"\\\\u\",\n peg$c58 = { type: \"literal\", value: \"\\\\u\", description: \"\\\"\\\\\\\\u\\\"\" },\n peg$c59 = function(h1, h2, h3, h4) {\n return String.fromCharCode(parseInt(\"0x\" + h1 + h2 + h3 + h4));\n },\n peg$c60 = /^[0-9]/,\n peg$c61 = { type: \"class\", value: \"[0-9]\", description: \"[0-9]\" },\n peg$c62 = function(ds) {\n //the number might start with 0 but must not be interpreted as an octal number\n //Hence, the base is passed to parseInt explicitely\n return parseInt((ds.join('')), 10);\n },\n peg$c63 = /^[0-9a-fA-F]/,\n peg$c64 = { type: \"class\", value: \"[0-9a-fA-F]\", description: \"[0-9a-fA-F]\" },\n peg$c65 = { type: \"other\", description: \"whitespace\" },\n peg$c66 = function(w) { return w.join(''); },\n peg$c67 = /^[ \\t\\n\\r]/,\n peg$c68 = { type: \"class\", value: \"[ \\\\t\\\\n\\\\r]\", description: \"[ \\\\t\\\\n\\\\r]\" },\n\n peg$currPos = 0,\n peg$reportedPos = 0,\n peg$cachedPos = 0,\n peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$reportedPos, peg$currPos);\n }\n\n function offset() {\n return peg$reportedPos;\n }\n\n function line() {\n return peg$computePosDetails(peg$reportedPos).line;\n }\n\n function column() {\n return peg$computePosDetails(peg$reportedPos).column;\n }\n\n function expected(description) {\n throw peg$buildException(\n null,\n [{ type: \"other\", description: description }],\n peg$reportedPos\n );\n }\n\n function error(message) {\n throw peg$buildException(message, null, peg$reportedPos);\n }\n\n function peg$computePosDetails(pos) {\n function advance(details, startPos, endPos) {\n var p, ch;\n\n for (p = startPos; p < endPos; p++) {\n ch = input.charAt(p);\n if (ch === \"\\n\") {\n if (!details.seenCR) { details.line++; }\n details.column = 1;\n details.seenCR = false;\n } else if (ch === \"\\r\" || ch === \"\\u2028\" || ch === \"\\u2029\") {\n details.line++;\n details.column = 1;\n details.seenCR = true;\n } else {\n details.column++;\n details.seenCR = false;\n }\n }\n }\n\n if (peg$cachedPos !== pos) {\n if (peg$cachedPos > pos) {\n peg$cachedPos = 0;\n peg$cachedPosDetails = { line: 1, column: 1, seenCR: false };\n }\n advance(peg$cachedPosDetails, peg$cachedPos, pos);\n peg$cachedPos = pos;\n }\n\n return peg$cachedPosDetails;\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildException(message, expected, pos) {\n function cleanupExpected(expected) {\n var i = 1;\n\n expected.sort(function(a, b) {\n if (a.description < b.description) {\n return -1;\n } else if (a.description > b.description) {\n return 1;\n } else {\n return 0;\n }\n });\n\n while (i < expected.length) {\n if (expected[i - 1] === expected[i]) {\n expected.splice(i, 1);\n } else {\n i++;\n }\n }\n }\n\n function buildMessage(expected, found) {\n function stringEscape(s) {\n function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }\n\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\x08/g, '\\\\b')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\f/g, '\\\\f')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x80-\\xFF]/g, function(ch) { return '\\\\x' + hex(ch); })\n .replace(/[\\u0180-\\u0FFF]/g, function(ch) { return '\\\\u0' + hex(ch); })\n .replace(/[\\u1080-\\uFFFF]/g, function(ch) { return '\\\\u' + hex(ch); });\n }\n\n var expectedDescs = new Array(expected.length),\n expectedDesc, foundDesc, i;\n\n for (i = 0; i < expected.length; i++) {\n expectedDescs[i] = expected[i].description;\n }\n\n expectedDesc = expected.length > 1\n ? expectedDescs.slice(0, -1).join(\", \")\n + \" or \"\n + expectedDescs[expected.length - 1]\n : expectedDescs[0];\n\n foundDesc = found ? \"\\\"\" + stringEscape(found) + \"\\\"\" : \"end of input\";\n\n return \"Expected \" + expectedDesc + \" but \" + foundDesc + \" found.\";\n }\n\n var posDetails = peg$computePosDetails(pos),\n found = pos < input.length ? input.charAt(pos) : null;\n\n if (expected !== null) {\n cleanupExpected(expected);\n }\n\n return new SyntaxError(\n message !== null ? message : buildMessage(expected, found),\n expected,\n found,\n pos,\n posDetails.line,\n posDetails.column\n );\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n if (s2 === peg$FAILED) {\n s2 = peg$parsestring();\n if (s2 === peg$FAILED) {\n s2 = peg$parseoctothorpe();\n }\n }\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n if (s2 === peg$FAILED) {\n s2 = peg$parsestring();\n if (s2 === peg$FAILED) {\n s2 = peg$parseoctothorpe();\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c3;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseid();\n if (s3 !== peg$FAILED) {\n s4 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c6;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parseelementFormat();\n if (s6 !== peg$FAILED) {\n s5 = [s5, s6];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$c2;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$c2;\n }\n if (s4 === peg$FAILED) {\n s4 = peg$c5;\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c8;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n if (s6 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c10(s3, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c11) {\n s2 = peg$c11;\n peg$currPos += 6;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c12); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c6;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsepluralFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c13(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c14) {\n s2 = peg$c14;\n peg$currPos += 13;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c6;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsepluralFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c13(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c16) {\n s2 = peg$c16;\n peg$currPos += 6;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c17); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c6;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseselectFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c13(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseid();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseargStylePattern();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseargStylePattern();\n }\n if (s3 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c18(s2, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsepluralFormatPattern() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseoffsetPattern();\n if (s1 === peg$FAILED) {\n s1 = peg$c5;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsepluralForm();\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsepluralForm();\n }\n } else {\n s2 = peg$c2;\n }\n if (s2 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c19(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseoffsetPattern() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c20) {\n s2 = peg$c20;\n peg$currPos += 6;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c21); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 58) {\n s4 = peg$c22;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsedigits();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c24(s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parsepluralForm() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralKey();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c3;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessageFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s8 = peg$c8;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n if (s8 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c25(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parsepluralKey() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseid();\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c26(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c27;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedigits();\n if (s2 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n }\n\n return s0;\n }\n\n function peg$parseselectFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseselectForm();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseselectForm();\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c29(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseselectForm() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseid();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c3;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessageFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s8 = peg$c8;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n if (s8 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c25(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseargStylePattern() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s2 = peg$c6;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseid();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c30(s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseoctothorpe() {\n var s0, s1;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c31;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c33();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsestring() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechars();\n if (s2 === peg$FAILED) {\n s2 = peg$parsewhitespace();\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechars();\n if (s2 === peg$FAILED) {\n s2 = peg$parsewhitespace();\n }\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c34(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseid() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n if (s4 !== peg$FAILED) {\n s5 = [];\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s6 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c39); }\n }\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s6 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c39); }\n }\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n if (s3 !== peg$FAILED) {\n s3 = input.substring(s2, peg$currPos);\n }\n s2 = s3;\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c40(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c41(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (peg$c42.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c43); }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c44(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c45) {\n s1 = peg$c45;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c46); }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c47();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c48) {\n s1 = peg$c48;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c50();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c51) {\n s1 = peg$c51;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c52); }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c53();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c54) {\n s1 = peg$c54;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c55); }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c56();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c57) {\n s1 = peg$c57;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c58); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsehexDigit();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsehexDigit();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c59(s2, s3, s4, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsedigits() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n if (peg$c60.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c61); }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (peg$c60.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c61); }\n }\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c62(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c63.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c64); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhitespace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhitespace();\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c66(s1);\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c65); }\n }\n\n return s0;\n }\n\n function peg$parsewhitespace() {\n var s0;\n\n if (peg$c67.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c68); }\n }\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail({ type: \"end\", description: \"end of input\" });\n }\n\n throw peg$buildException(null, peg$maxFailExpected, peg$maxFailPos);\n }\n }\n\n return {\n SyntaxError: SyntaxError,\n parse: parse\n };\n}()).parse;\n\n\n/** @file messageformat.js - ICU PluralFormat + SelectFormat for JavaScript\n * @author Alex Sexton - @SlexAxton\n * @version 0.3.0-1\n * @copyright 2012-2015 Alex Sexton, Eemeli Aro, and Contributors\n * @license To use or fork, MIT. To contribute back, Dojo CLA */\n\n\n/** Utility function for quoting an Object's key value iff required\n * @private */\nfunction propname(key, obj) {\n if (/^[A-Z_$][0-9A-Z_$]*$/i.test(key)) {\n return obj ? obj + '.' + key : key;\n } else {\n var jkey = JSON.stringify(key);\n return obj ? obj + '[' + jkey + ']' : jkey;\n }\n};\n\n\n/** Create a new message formatter\n *\n * @class\n * @global\n * @param {string|string[]} [locale=\"en\"] - The locale to use, with fallbacks\n * @param {function} [pluralFunc] - Optional custom pluralization function\n * @param {function[]} [formatters] - Optional custom formatting functions */\nfunction MessageFormat(locale, pluralFunc, formatters) {\n this.lc = [locale]; \n this.runtime.pluralFuncs = {};\n this.runtime.pluralFuncs[this.lc[0]] = pluralFunc;\n this.runtime.fmt = {};\n if (formatters) for (var f in formatters) {\n this.runtime.fmt[f] = formatters[f];\n }\n}\n\n\n\n\n/** Parse an input string to its AST\n *\n * Precompiled from `lib/messageformat-parser.pegjs` by\n * {@link http://pegjs.org/ PEG.js}. Included in MessageFormat object\n * to enable testing.\n *\n * @private */\n\n\n\n/** Pluralization functions from\n * {@link http://github.com/eemeli/make-plural.js make-plural}\n *\n * @memberof MessageFormat\n * @type Object.<string,function> */\nMessageFormat.plurals = {};\n\n\n/** Default number formatting functions in the style of ICU's\n * {@link http://icu-project.org/apiref/icu4j/com/ibm/icu/text/MessageFormat.html simpleArg syntax}\n * implemented using the\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl Intl}\n * object defined by ECMA-402.\n *\n * **Note**: Intl is not defined in default Node until 0.11.15 / 0.12.0, so\n * earlier versions require a {@link https://www.npmjs.com/package/intl polyfill}.\n * Therefore {@link MessageFormat.withIntlSupport} needs to be true for these\n * functions to be available for inclusion in the output.\n *\n * @see MessageFormat#setIntlSupport\n *\n * @namespace\n * @memberof MessageFormat\n * @property {function} number - Represent a number as an integer, percent or currency value\n * @property {function} date - Represent a date as a full/long/default/short string\n * @property {function} time - Represent a time as a full/long/default/short string\n *\n * @example\n * > var MessageFormat = require('messageformat');\n * > var mf = (new MessageFormat('en')).setIntlSupport(true);\n * > mf.currency = 'EUR';\n * > var mfunc = mf.compile(\"The total is {V,number,currency}.\");\n * > mfunc({V:5.5})\n * \"The total is €5.50.\"\n *\n * @example\n * > var MessageFormat = require('messageformat');\n * > var mf = new MessageFormat('en', null, {number: MessageFormat.number});\n * > mf.currency = 'EUR';\n * > var mfunc = mf.compile(\"The total is {V,number,currency}.\");\n * > mfunc({V:5.5})\n * \"The total is €5.50.\" */\nMessageFormat.formatters = {};\n\n/** Enable or disable support for the default formatters, which require the\n * `Intl` object. Note that this can't be autodetected, as the environment\n * in which the formatted text is compiled into Javascript functions is not\n * necessarily the same environment in which they will get executed.\n *\n * @see MessageFormat.formatters\n *\n * @memberof MessageFormat\n * @param {boolean} [enable=true]\n * @returns {Object} The MessageFormat instance, to allow for chaining\n * @example\n * > var Intl = require('intl');\n * > var MessageFormat = require('messageformat');\n * > var mf = (new MessageFormat('en')).setIntlSupport(true);\n * > mf.currency = 'EUR';\n * > mf.compile(\"The total is {V,number,currency}.\")({V:5.5});\n * \"The total is €5.50.\" */\n\n\n\n/** A set of utility functions that are called by the compiled Javascript\n * functions, these are included locally in the output of {@link\n * MessageFormat#compile compile()}.\n *\n * @namespace\n * @memberof MessageFormat */\nMessageFormat.prototype.runtime = {\n\n /** Utility function for `#` in plural rules\n *\n * @param {number} value - The value to operate on\n * @param {number} [offset=0] - An optional offset, set by the surrounding context */\n number: function(value, offset) {\n if (isNaN(value)) throw new Error(\"'\" + value + \"' isn't a number.\");\n return value - (offset || 0);\n },\n\n /** Utility function for `{N, plural|selectordinal, ...}`\n *\n * @param {number} value - The key to use to find a pluralization rule\n * @param {number} offset - An offset to apply to `value`\n * @param {function} lcfunc - A locale function from `pluralFuncs`\n * @param {Object.<string,string>} data - The object from which results are looked up\n * @param {?boolean} isOrdinal - If true, use ordinal rather than cardinal rules\n * @returns {string} The result of the pluralization */\n plural: function(value, offset, lcfunc, data, isOrdinal) {\n if ({}.hasOwnProperty.call(data, value)) return data[value]();\n if (offset) value -= offset;\n var key = lcfunc(value, isOrdinal);\n if (key in data) return data[key]();\n return data.other();\n },\n\n /** Utility function for `{N, select, ...}`\n *\n * @param {number} value - The key to use to find a selection\n * @param {Object.<string,string>} data - The object from which results are looked up\n * @returns {string} The result of the select statement */\n select: function(value, data) {\n if ({}.hasOwnProperty.call(data, value)) return data[value]();\n return data.other()\n },\n\n /** Pluralization functions included in compiled output\n * @instance\n * @type Object.<string,function> */\n pluralFuncs: {},\n\n /** Custom formatting functions called by `{var, fn[, args]*}` syntax\n *\n * For examples, see {@link MessageFormat.formatters}\n *\n * @instance\n * @see MessageFormat.formatters\n * @type Object.<string,function> */\n fmt: {},\n\n /** Custom stringifier to clean up browser inconsistencies\n * @instance */\n toString: function () {\n var _stringify = function(o, level) {\n if (typeof o != 'object') {\n var funcStr = o.toString().replace(/^(function )\\w*/, '$1');\n var indent = /([ \\t]*)\\S.*$/.exec(funcStr);\n return indent ? funcStr.replace(new RegExp('^' + indent[1], 'mg'), '') : funcStr;\n }\n var s = [];\n for (var i in o) if (i != 'toString') {\n if (level == 0) s.push('var ' + i + ' = ' + _stringify(o[i], level + 1) + ';\\n');\n else s.push(propname(i) + ': ' + _stringify(o[i], level + 1));\n }\n if (level == 0) return s.join('');\n if (s.length == 0) return '{}';\n var indent = ' '; while (--level) indent += ' ';\n return '{\\n' + s.join(',\\n').replace(/^/gm, indent) + '\\n}';\n };\n return _stringify(this, 0);\n }\n};\n\n\n/** Recursively map an AST to its resulting string\n *\n * @memberof MessageFormat\n *\n * @param ast - the Ast node for which the JS code should be generated\n *\n * @private */\nMessageFormat.prototype._precompile = function(ast, data) {\n data = data || { keys: {}, offset: {} };\n var r = [], i, tmp, args = [];\n\n switch ( ast.type ) {\n case 'messageFormatPattern':\n for ( i = 0; i < ast.statements.length; ++i ) {\n r.push(this._precompile( ast.statements[i], data ));\n }\n tmp = r.join(' + ') || '\"\"';\n return data.pf_count ? tmp : 'function(d) { return ' + tmp + '; }';\n\n case 'messageFormatElement':\n data.pf_count = data.pf_count || 0;\n if ( ast.output ) {\n return propname(ast.argumentIndex, 'd');\n }\n else {\n data.keys[data.pf_count] = ast.argumentIndex;\n return this._precompile( ast.elementFormat, data );\n }\n return '';\n\n case 'elementFormat':\n args = [ propname(data.keys[data.pf_count], 'd') ];\n switch (ast.key) {\n case 'select':\n args.push(this._precompile(ast.val, data));\n return 'select(' + args.join(', ') + ')';\n case 'selectordinal':\n args = args.concat([ 0, propname(this.lc[0], 'pluralFuncs'), this._precompile(ast.val, data), 1 ]);\n return 'plural(' + args.join(', ') + ')';\n case 'plural':\n data.offset[data.pf_count || 0] = ast.val.offset || 0;\n args = args.concat([ data.offset[data.pf_count] || 0, propname(this.lc[0], 'pluralFuncs'), this._precompile(ast.val, data) ]);\n return 'plural(' + args.join(', ') + ')';\n default:\n if (this.withIntlSupport && !(ast.key in this.runtime.fmt) && (ast.key in MessageFormat.formatters)) {\n tmp = MessageFormat.formatters[ast.key];\n this.runtime.fmt[ast.key] = (typeof tmp(this) == 'function') ? tmp(this) : tmp;\n }\n args.push(JSON.stringify(this.lc));\n if (ast.val && ast.val.length) args.push(JSON.stringify(ast.val.length == 1 ? ast.val[0] : ast.val));\n return 'fmt.' + ast.key + '(' + args.join(', ') + ')';\n }\n\n case 'pluralFormatPattern':\n case 'selectFormatPattern':\n data.pf_count = data.pf_count || 0;\n if (ast.type == 'selectFormatPattern') data.offset[data.pf_count] = 0;\n var needOther = true;\n for (i = 0; i < ast.pluralForms.length; ++i) {\n var key = ast.pluralForms[i].key;\n if (key === 'other') needOther = false;\n var data_copy = JSON.parse(JSON.stringify(data));\n data_copy.pf_count++;\n r.push(propname(key) + ': function() { return ' + this._precompile(ast.pluralForms[i].val, data_copy) + ';}');\n }\n if (needOther) throw new Error(\"No 'other' form found in \" + ast.type + \" \" + data.pf_count);\n return '{ ' + r.join(', ') + ' }';\n\n case 'string':\n return JSON.stringify(ast.val || \"\");\n\n case 'octothorpe':\n if (!data.pf_count) return '\"#\"';\n args = [ propname(data.keys[data.pf_count-1], 'd') ];\n if (data.offset[data.pf_count-1]) args.push(data.offset[data.pf_count-1]);\n return 'number(' + args.join(', ') + ')';\n\n default:\n throw new Error( 'Bad AST type: ' + ast.type );\n }\n};\n\n/** Compile messages into an executable function with clean string\n * representation.\n *\n * If `messages` is a single string including ICU MessageFormat declarations,\n * `opt` is ignored and the returned function takes a single Object parameter\n * `d` representing each of the input's defined variables. The returned\n * function will be defined in a local scope that includes all the required\n * runtime variables.\n *\n * If `messages` is a map of keys to strings, or a map of namespace keys to\n * such key/string maps, the returned function will fill the specified global\n * with javascript functions matching the structure of the input. In such use,\n * the output of `compile()` is expected to be serialized using `.toString()`,\n * and will include definitions of the runtime functions. If `opt.global` is\n * null, calling the output function will return the object itself.\n *\n * Together, the input parameters should match the following patterns:\n * ```js\n * messages = \"string\" || { key0: \"string0\", key1: \"string1\", ... } || {\n * ns0: { key0: \"string0\", key1: \"string1\", ... },\n * ns1: { key0: \"string0\", key1: \"string1\", ... },\n * ...\n * }\n *\n * opt = null || {\n * locale: null || {\n * ns0: \"lc0\" || [ \"lc0\", ... ],\n * ns1: \"lc1\" || [ \"lc1\", ... ],\n * ...\n * },\n * global: null || \"module.exports\" || \"exports\" || \"i18n\" || ...\n * }\n * ```\n *\n * @memberof MessageFormat\n * @param {string|Object}\n * messages - The input message(s) to be compiled, in ICU MessageFormat\n * @param {Object} [opt={}] - Options controlling output for non-simple intput\n * @param {Object} [opt.locale] - The locales to use for the messages, with a\n * structure matching that of `messages`\n * @param {string} [opt.global=\"\"] - The global variable that the output\n * function should use, or a null string for none. \"exports\" and\n * \"module.exports\" are recognised as special cases.\n * @returns {function} The first match found for the given locale(s)\n *\n * @example\n * > var MessageFormat = require('messageformat'),\n * ... mf = new MessageFormat('en'),\n * ... mfunc0 = mf.compile('A {TYPE} example.');\n * > mfunc0({TYPE:'simple'})\n * 'A simple example.'\n * > mfunc0.toString()\n * 'function (d) { return \"A \" + d.TYPE + \" example.\"; }'\n *\n * @example\n * > var msgSet = { a: 'A {TYPE} example.',\n * ... b: 'This has {COUNT, plural, one{one member} other{# members}}.' },\n * ... mfuncSet = mf.compile(msgSet);\n * > mfuncSet().a({TYPE:'more complex'})\n * 'A more complex example.'\n * > mfuncSet().b({COUNT:2})\n * 'This has 2 members.'\n *\n * > console.log(mfuncSet.toString())\n * function anonymous() {\n * var number = function (value, offset) {\n * if (isNaN(value)) throw new Error(\"'\" + value + \"' isn't a number.\");\n * return value - (offset || 0);\n * };\n * var plural = function (value, offset, lcfunc, data, isOrdinal) {\n * if ({}.hasOwnProperty.call(data, value)) return data[value]();\n * if (offset) value -= offset;\n * var key = lcfunc(value, isOrdinal);\n * if (key in data) return data[key]();\n * return data.other();\n * };\n * var select = function (value, data) {\n * if ({}.hasOwnProperty.call(data, value)) return data[value]();\n * return data.other()\n * };\n * var pluralFuncs = {\n * en: function (n, ord) {\n * var s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n,\n * n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n * if (ord) return (n10 == 1 && n100 != 11) ? 'one'\n * : (n10 == 2 && n100 != 12) ? 'two'\n * : (n10 == 3 && n100 != 13) ? 'few'\n * : 'other';\n * return (n == 1 && v0) ? 'one' : 'other';\n * }\n * };\n * var fmt = {};\n *\n * return {\n * a: function(d) { return \"A \" + d.TYPE + \" example.\"; },\n * b: function(d) { return \"This has \" + plural(d.COUNT, 0, pluralFuncs.en, { one: function() { return \"one member\";}, other: function() { return number(d.COUNT)+\" members\";} }) + \".\"; }\n * }\n * }\n *\n * @example\n * > mf.runtime.pluralFuncs.fi = MessageFormat.plurals.fi;\n * > var multiSet = { en: { a: 'A {TYPE} example.',\n * ... b: 'This is the {COUNT, selectordinal, one{#st} two{#nd} few{#rd} other{#th}} example.' },\n * ... fi: { a: '{TYPE} esimerkki.',\n * ... b: 'Tämä on {COUNT, selectordinal, other{#.}} esimerkki.' } },\n * ... multiSetLocales = { en: 'en', fi: 'fi' },\n * ... mfuncSet = mf.compile(multiSet, { locale: multiSetLocales, global: 'i18n' });\n * > mfuncSet(this);\n * > i18n.en.b({COUNT:3})\n * 'This is the 3rd example.'\n * > i18n.fi.b({COUNT:3})\n * 'Tämä on 3. esimerkki.' */\nMessageFormat.prototype.compile = function ( messages, opt ) {\n var r = {}, lc0 = this.lc,\n compileMsg = function(self, msg) {\n try {\n var ast = MessageFormat._parse(msg);\n return self._precompile(ast);\n } catch (e) {\n throw new Error((ast ? 'Precompiler' : 'Parser') + ' error: ' + e.toString());\n }\n },\n stringify = function(r, level) {\n if (!level) level = 0;\n if (typeof r != 'object') return r;\n var o = [], indent = '';\n for (var i = 0; i < level; ++i) indent += ' ';\n for (var k in r) o.push('\\n' + indent + ' ' + propname(k) + ': ' + stringify(r[k], level + 1));\n return '{' + o.join(',') + '\\n' + indent + '}';\n };\n\n if (typeof messages == 'string') {\n var f = new Function(\n 'number, plural, select, pluralFuncs, fmt',\n 'return ' + compileMsg(this, messages));\n return f(this.runtime.number, this.runtime.plural, this.runtime.select,\n this.runtime.pluralFuncs, this.runtime.fmt);\n }\n\n opt = opt || {};\n\n for (var ns in messages) {\n if (opt.locale) this.lc = opt.locale[ns] && [].concat(opt.locale[ns]) || lc0;\n if (typeof messages[ns] == 'string') {\n try { r[ns] = compileMsg(this, messages[ns]); }\n catch (e) { e.message = e.message.replace(':', ' with `' + ns + '`:'); throw e; }\n } else {\n r[ns] = {};\n for (var key in messages[ns]) {\n try { r[ns][key] = compileMsg(this, messages[ns][key]); }\n catch (e) { e.message = e.message.replace(':', ' with `' + key + '` in `' + ns + '`:'); throw e; }\n }\n }\n }\n\n this.lc = lc0;\n var s = this.runtime.toString() + '\\n';\n switch (opt.global || '') {\n case 'exports':\n var o = [];\n for (var k in r) o.push(propname(k, 'exports') + ' = ' + stringify(r[k]));\n return new Function(s + o.join(';\\n'));\n case 'module.exports':\n return new Function(s + 'module.exports = ' + stringify(r));\n case '':\n return new Function(s + 'return ' + stringify(r));\n default:\n return new Function('G', s + propname(opt.global, 'G') + ' = ' + stringify(r));\n }\n};\n\n\nreturn MessageFormat;\n}());\n/* eslint-enable */\n\n\nvar createErrorPluralModulePresence = function() {\n\treturn createError( \"E_MISSING_PLURAL_MODULE\", \"Plural module not loaded.\" );\n};\n\n\n\n\nvar validateMessageBundle = function( cldr ) {\n\tvalidate(\n\t\t\"E_MISSING_MESSAGE_BUNDLE\",\n\t\t\"Missing message bundle for locale `{locale}`.\",\n\t\tcldr.attributes.bundle && cldr.get( \"globalize-messages/{bundle}\" ) !== undefined,\n\t\t{\n\t\t\tlocale: cldr.locale\n\t\t}\n\t);\n};\n\n\n\n\nvar validateMessagePresence = function( path, value ) {\n\tpath = path.join( \"/\" );\n\tvalidate( \"E_MISSING_MESSAGE\", \"Missing required message content `{path}`.\",\n\t\tvalue !== undefined, { path: path } );\n};\n\n\n\n\nvar validateMessageType = function( path, value ) {\n\tpath = path.join( \"/\" );\n\tvalidate(\n\t\t\"E_INVALID_MESSAGE\",\n\t\t\"Invalid message content `{path}`. {expected} expected.\",\n\t\ttypeof value === \"string\",\n\t\t{\n\t\t\texpected: \"a string\",\n\t\t\tpath: path\n\t\t}\n\t);\n};\n\n\n\n\nvar validateParameterTypeMessageVariables = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || isPlainObject( value ) || Array.isArray( value ),\n\t\t\"Array or Plain Object\"\n\t);\n};\n\n\n\n\nvar messageFormatterFn = function( formatter ) {\n\treturn function messageFormatter( variables ) {\n\t\tif ( typeof variables === \"number\" || typeof variables === \"string\" ) {\n\t\t\tvariables = [].slice.call( arguments, 0 );\n\t\t}\n\t\tvalidateParameterTypeMessageVariables( variables, \"variables\" );\n\t\treturn formatter( variables );\n\t};\n};\n\n\n\n\nvar messageFormatterRuntimeBind = function( cldr, messageformatter ) {\n\tvar locale = cldr.locale,\n\t\torigToString = messageformatter.toString;\n\n\tmessageformatter.toString = function() {\n\t\tvar argNames, argValues, output,\n\t\t\targs = {};\n\n\t\t// Properly adjust SlexAxton/messageformat.js compiled variables with Globalize variables:\n\t\toutput = origToString.call( messageformatter );\n\n\t\tif ( /number\\(/.test( output ) ) {\n\t\t\targs.number = \"messageFormat.number\";\n\t\t}\n\n\t\tif ( /plural\\(/.test( output ) ) {\n\t\t\targs.plural = \"messageFormat.plural\";\n\t\t}\n\n\t\tif ( /select\\(/.test( output ) ) {\n\t\t\targs.select = \"messageFormat.select\";\n\t\t}\n\n\t\toutput.replace( /pluralFuncs(\\[([^\\]]+)\\]|\\.([a-zA-Z]+))/, function( match ) {\n\t\t\targs.pluralFuncs = \"{\" +\n\t\t\t\t\"\\\"\" + locale + \"\\\": Globalize(\\\"\" + locale + \"\\\").pluralGenerator()\" +\n\t\t\t\t\"}\";\n\t\t\treturn match;\n\t\t});\n\n\t\targNames = Object.keys( args ).join( \", \" );\n\t\targValues = Object.keys( args ).map(function( key ) {\n\t\t\treturn args[ key ];\n\t\t}).join( \", \" );\n\n\t\treturn \"(function( \" + argNames + \" ) {\\n\" +\n\t\t\t\" return \" + output + \"\\n\" +\n\t\t\t\"})(\" + argValues + \")\";\n\t};\n\n\treturn messageformatter;\n};\n\n\n\n\nvar slice = [].slice;\n\n/**\n * .loadMessages( json )\n *\n * @json [JSON]\n *\n * Load translation data.\n */\nGlobalize.loadMessages = function( json ) {\n\tvar locale,\n\t\tcustomData = {\n\t\t\t\"globalize-messages\": json,\n\t\t\t\"main\": {}\n\t\t};\n\n\tvalidateParameterPresence( json, \"json\" );\n\tvalidateParameterTypePlainObject( json, \"json\" );\n\n\t// Set available bundles by populating customData main dataset.\n\tfor ( locale in json ) {\n\t\tif ( json.hasOwnProperty( locale ) ) {\n\t\t\tcustomData.main[ locale ] = {};\n\t\t}\n\t}\n\n\tCldr.load( customData );\n};\n\n/**\n * .messageFormatter( path )\n *\n * @path [String or Array]\n *\n * Format a message given its path.\n */\nGlobalize.messageFormatter =\nGlobalize.prototype.messageFormatter = function( path ) {\n\tvar cldr, formatter, message, pluralGenerator, returnFn,\n\t\targs = slice.call( arguments, 0 );\n\n\tvalidateParameterPresence( path, \"path\" );\n\tvalidateParameterType( path, \"path\", typeof path === \"string\" || Array.isArray( path ),\n\t\t\"a String nor an Array\" );\n\n\tpath = alwaysArray( path );\n\tcldr = this.cldr;\n\n\tvalidateDefaultLocale( cldr );\n\tvalidateMessageBundle( cldr );\n\n\tmessage = cldr.get( [ \"globalize-messages/{bundle}\" ].concat( path ) );\n\tvalidateMessagePresence( path, message );\n\n\t// If message is an Array, concatenate it.\n\tif ( Array.isArray( message ) ) {\n\t\tmessage = message.join( \" \" );\n\t}\n\tvalidateMessageType( path, message );\n\n\t// Is plural module present? Yes, use its generator. Nope, use an error generator.\n\tpluralGenerator = this.plural !== undefined ?\n\t\tthis.pluralGenerator() :\n\t\tcreateErrorPluralModulePresence;\n\n\tformatter = new MessageFormat( cldr.locale, pluralGenerator ).compile( message );\n\n\treturnFn = messageFormatterFn( formatter );\n\n\truntimeBind( args, cldr, returnFn,\n\t\t[ messageFormatterRuntimeBind( cldr, formatter ), pluralGenerator ] );\n\n\treturn returnFn;\n};\n\n/**\n * .formatMessage( path [, variables] )\n *\n * @path [String or Array]\n *\n * @variables [Number, String, Array or Object]\n *\n * Format a message given its path.\n */\nGlobalize.formatMessage =\nGlobalize.prototype.formatMessage = function( path /* , variables */ ) {\n\treturn this.messageFormatter( path ).apply( {}, slice.call( arguments, 1 ) );\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"cldr/event\",\n\t\t\t\"cldr/supplemental\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar createError = Globalize._createError,\n\tpartsJoin = Globalize._partsJoin,\n\tpartsPush = Globalize._partsPush,\n\tregexpEscape = Globalize._regexpEscape,\n\truntimeBind = Globalize._runtimeBind,\n\tstringPad = Globalize._stringPad,\n\tvalidateCldr = Globalize._validateCldr,\n\tvalidateDefaultLocale = Globalize._validateDefaultLocale,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterRange = Globalize._validateParameterRange,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterTypePlainObject = Globalize._validateParameterTypePlainObject;\n\n\nvar createErrorUnsupportedFeature = function( feature ) {\n\treturn createError( \"E_UNSUPPORTED\", \"Unsupported {feature}.\", {\n\t\tfeature: feature\n\t});\n};\n\n\n\n\nvar validateParameterTypeNumber = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"number\",\n\t\t\"Number\"\n\t);\n};\n\n\n\n\nvar validateParameterTypeString = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"string\",\n\t\t\"a string\"\n\t);\n};\n\n\n\n\nvar numberFormatterFn = function( numberToPartsFormatter ) {\n\treturn function numberFormatter( value ) {\n\t\treturn partsJoin( numberToPartsFormatter( value ));\n\t};\n};\n\n\n\n\n/**\n * NumberingSystem( cldr )\n *\n * - http://www.unicode.org/reports/tr35/tr35-numbers.html#otherNumberingSystems\n * - http://cldr.unicode.org/index/bcp47-extension\n * - http://www.unicode.org/reports/tr35/#u_Extension\n */\nvar numberNumberingSystem = function( cldr ) {\n\tvar nu = cldr.attributes[ \"u-nu\" ];\n\n\tif ( nu ) {\n\t\tif ( nu === \"traditio\" ) {\n\t\t\tnu = \"traditional\";\n\t\t}\n\t\tif ( [ \"native\", \"traditional\", \"finance\" ].indexOf( nu ) !== -1 ) {\n\n\t\t\t// Unicode locale extension `u-nu` is set using either (native, traditional or\n\t\t\t// finance). So, lookup the respective locale's numberingSystem and return it.\n\t\t\treturn cldr.main([ \"numbers/otherNumberingSystems\", nu ]);\n\t\t}\n\n\t\t// Unicode locale extension `u-nu` is set with an explicit numberingSystem. Return it.\n\t\treturn nu;\n\t}\n\n\t// Return the default numberingSystem.\n\treturn cldr.main( \"numbers/defaultNumberingSystem\" );\n};\n\n\n\n\n/**\n * Compact( name, cldr )\n *\n * @compactType [String] Compact mode, `short` or `long`.\n *\n * @cldr [Cldr instance].\n *\n * Return the localized compact map for the given compact mode.\n */\nvar numberCompact = function( compactType, cldr ) {\n\tvar maxExponent = 0;\n\n\tvar object = cldr.main([\n\t\t\"numbers/decimalFormats-numberSystem-\" + numberNumberingSystem( cldr ),\n\t\tcompactType,\n\t\t\"decimalFormat\"\n\t]);\n\n\tobject = Object.keys( object ).reduce(function( newObject, compactKey ) {\n\t\tvar numberExponent = compactKey.split( \"0\" ).length - 1;\n\t\tvar pluralForm = compactKey.split( \"-\" )[ 2 ];\n\t\tnewObject[ numberExponent ] = newObject[ numberExponent ] || {};\n\t\tnewObject[ numberExponent ][ pluralForm ] = object[ compactKey ];\n\t\tmaxExponent = Math.max( numberExponent, maxExponent );\n\t\treturn newObject;\n\t}, {});\n\n\tobject.maxExponent = maxExponent;\n\n\treturn object;\n};\n\n\n\n\n/**\n * nuMap( cldr )\n *\n * @cldr [Cldr instance].\n *\n * Return digits map if numbering system is different than `latn`.\n */\nvar numberNumberingSystemDigitsMap = function( cldr ) {\n\tvar aux,\n\t\tnu = numberNumberingSystem( cldr );\n\n\tif ( nu === \"latn\" ) {\n\t\treturn;\n\t}\n\n\taux = cldr.supplemental([ \"numberingSystems\", nu ]);\n\n\tif ( aux._type !== \"numeric\" ) {\n\t\tthrow createErrorUnsupportedFeature( \"`\" + aux._type + \"` numbering system\" );\n\t}\n\n\treturn aux._digits;\n};\n\n\n\n\n/**\n * EBNF representation:\n *\n * number_pattern_re = prefix?\n * padding?\n * (integer_fraction_pattern | significant_pattern)\n * scientific_notation?\n * suffix?\n *\n * prefix = non_number_stuff\n *\n * padding = \"*\" regexp(.)\n *\n * integer_fraction_pattern = integer_pattern\n * fraction_pattern?\n *\n * integer_pattern = regexp([#,]*[0,]*0+)\n *\n * fraction_pattern = \".\" regexp(0*[0-9]*#*)\n *\n * significant_pattern = regexp([#,]*@+#*)\n *\n * scientific_notation = regexp(E\\+?0+)\n *\n * suffix = non_number_stuff\n *\n * non_number_stuff = regexp(('[^']+'|''|[^*#@0,.E])*)\n *\n *\n * Regexp groups:\n *\n * 0: number_pattern_re\n * 1: prefix\n * 2: -\n * 3: -\n * 4: padding\n * 5: (integer_fraction_pattern | significant_pattern)\n * 6: integer_fraction_pattern\n * 7: integer_pattern\n * 8: fraction_pattern\n * 9: significant_pattern\n * 10: scientific_notation\n * 11: suffix\n * 12: -\n */\nvar numberPatternRe = ( /^(('([^']|'')*'|[^*#@0,.E])*)(\\*.)?((([#,]*[0,]*0+)(\\.0*[0-9]*#*)?)|([#,]*@+#*))(E\\+?0+)?(('[^']+'|''|[^*#@0,.E])*)$/ );\n\n\n\n\n/**\n * format( number, pattern )\n *\n * @number [Number].\n *\n * @pattern [String] raw pattern for numbers.\n *\n * Return the formatted number.\n * ref: http://www.unicode.org/reports/tr35/tr35-numbers.html\n */\nvar numberPatternProperties = function( pattern ) {\n\tvar aux1, aux2, fractionPattern, integerFractionOrSignificantPattern, integerPattern,\n\t\tmaximumFractionDigits, maximumSignificantDigits, minimumFractionDigits,\n\t\tminimumIntegerDigits, minimumSignificantDigits, padding, prefix, primaryGroupingSize,\n\t\troundIncrement, scientificNotation, secondaryGroupingSize, significantPattern, suffix;\n\n\tpattern = pattern.match( numberPatternRe );\n\tif ( !pattern ) {\n\t\tthrow new Error( \"Invalid pattern: \" + pattern );\n\t}\n\n\tprefix = pattern[ 1 ];\n\tpadding = pattern[ 4 ];\n\tintegerFractionOrSignificantPattern = pattern[ 5 ];\n\tsignificantPattern = pattern[ 9 ];\n\tscientificNotation = pattern[ 10 ];\n\tsuffix = pattern[ 11 ];\n\n\t// Significant digit format\n\tif ( significantPattern ) {\n\t\tsignificantPattern.replace( /(@+)(#*)/, function( _match, minimumSignificantDigitsMatch, maximumSignificantDigitsMatch ) {\n\t\t\tminimumSignificantDigits = minimumSignificantDigitsMatch.length;\n\t\t\tmaximumSignificantDigits = minimumSignificantDigits +\n\t\t\t\tmaximumSignificantDigitsMatch.length;\n\t\t});\n\n\t// Integer and fractional format\n\t} else {\n\t\tfractionPattern = pattern[ 8 ];\n\t\tintegerPattern = pattern[ 7 ];\n\n\t\tif ( fractionPattern ) {\n\n\t\t\t// Minimum fraction digits, and rounding.\n\t\t\tfractionPattern.replace( /[0-9]+/, function( match ) {\n\t\t\t\tminimumFractionDigits = match;\n\t\t\t});\n\t\t\tif ( minimumFractionDigits ) {\n\t\t\t\troundIncrement = +( \"0.\" + minimumFractionDigits );\n\t\t\t\tminimumFractionDigits = minimumFractionDigits.length;\n\t\t\t} else {\n\t\t\t\tminimumFractionDigits = 0;\n\t\t\t}\n\n\t\t\t// Maximum fraction digits\n\t\t\t// 1: ignore decimal character\n\t\t\tmaximumFractionDigits = fractionPattern.length - 1; /* 1 */\n\t\t} else {\n\t\t\tminimumFractionDigits = 0;\n\t\t\tmaximumFractionDigits = 0;\n\t\t}\n\n\t\t// Minimum integer digits\n\t\tintegerPattern.replace( /0+$/, function( match ) {\n\t\t\tminimumIntegerDigits = match.length;\n\t\t});\n\t}\n\n\t// Scientific notation\n\tif ( scientificNotation ) {\n\t\tthrow createErrorUnsupportedFeature({\n\t\t\tfeature: \"scientific notation (not implemented)\"\n\t\t});\n\t}\n\n\t// Padding\n\tif ( padding ) {\n\t\tthrow createErrorUnsupportedFeature({\n\t\t\tfeature: \"padding (not implemented)\"\n\t\t});\n\t}\n\n\t// Grouping\n\tif ( ( aux1 = integerFractionOrSignificantPattern.lastIndexOf( \",\" ) ) !== -1 ) {\n\n\t\t// Primary grouping size is the interval between the last group separator and the end of\n\t\t// the integer (or the end of the significant pattern).\n\t\taux2 = integerFractionOrSignificantPattern.split( \".\" )[ 0 ];\n\t\tprimaryGroupingSize = aux2.length - aux1 - 1;\n\n\t\t// Secondary grouping size is the interval between the last two group separators.\n\t\tif ( ( aux2 = integerFractionOrSignificantPattern.lastIndexOf( \",\", aux1 - 1 ) ) !== -1 ) {\n\t\t\tsecondaryGroupingSize = aux1 - 1 - aux2;\n\t\t}\n\t}\n\n\t// Return:\n\t// 0: @prefix String\n\t// 1: @padding Array [ <character>, <count> ] TODO\n\t// 2: @minimumIntegerDigits non-negative integer Number value indicating the minimum integer\n\t// digits to be used. Numbers will be padded with leading zeroes if necessary.\n\t// 3: @minimumFractionDigits and\n\t// 4: @maximumFractionDigits are non-negative integer Number values indicating the minimum and\n\t// maximum fraction digits to be used. Numbers will be rounded or padded with trailing\n\t// zeroes if necessary.\n\t// 5: @minimumSignificantDigits and\n\t// 6: @maximumSignificantDigits are positive integer Number values indicating the minimum and\n\t// maximum fraction digits to be shown. Either none or both of these properties are\n\t// present; if they are, they override minimum and maximum integer and fraction digits\n\t// – the formatter uses however many integer and fraction digits are required to display\n\t// the specified number of significant digits.\n\t// 7: @roundIncrement Decimal round increment or null\n\t// 8: @primaryGroupingSize\n\t// 9: @secondaryGroupingSize\n\t// 10: @suffix String\n\treturn [\n\t\tprefix,\n\t\tpadding,\n\t\tminimumIntegerDigits,\n\t\tminimumFractionDigits,\n\t\tmaximumFractionDigits,\n\t\tminimumSignificantDigits,\n\t\tmaximumSignificantDigits,\n\t\troundIncrement,\n\t\tprimaryGroupingSize,\n\t\tsecondaryGroupingSize,\n\t\tsuffix\n\t];\n};\n\n\n\n\n/**\n * Symbol( name, cldr )\n *\n * @name [String] Symbol name.\n *\n * @cldr [Cldr instance].\n *\n * Return the localized symbol given its name.\n */\nvar numberSymbol = function( name, cldr ) {\n\treturn cldr.main([\n\t\t\"numbers/symbols-numberSystem-\" + numberNumberingSystem( cldr ),\n\t\tname\n\t]);\n};\n\n\n\n\nvar numberSymbolName = {\n\t\".\": \"decimal\",\n\t\",\": \"group\",\n\t\"%\": \"percentSign\",\n\t\"+\": \"plusSign\",\n\t\"-\": \"minusSign\",\n\t\"E\": \"exponential\",\n\t\"\\u2030\": \"perMille\"\n};\n\n\n\n\n/**\n * symbolMap( cldr )\n *\n * @cldr [Cldr instance].\n *\n * Return the (localized symbol, pattern symbol) key value pair, eg. {\n * \".\": \"٫\",\n * \",\": \"٬\",\n * \"%\": \"٪\",\n * ...\n * };\n */\nvar numberSymbolMap = function( cldr ) {\n\tvar symbol,\n\t\tsymbolMap = {};\n\n\tfor ( symbol in numberSymbolName ) {\n\t\tsymbolMap[ symbol ] = numberSymbol( numberSymbolName[ symbol ], cldr );\n\t}\n\n\treturn symbolMap;\n};\n\n\n\n\nvar numberTruncate = function( value ) {\n\tif ( isNaN( value ) ) {\n\t\treturn NaN;\n\t}\n\treturn Math[ value < 0 ? \"ceil\" : \"floor\" ]( value );\n};\n\n\n\n\n/**\n * round( method )\n *\n * @method [String] with either \"round\", \"ceil\", \"floor\", or \"truncate\".\n *\n * Return function( value, incrementOrExp ):\n *\n * @value [Number] eg. 123.45.\n *\n * @incrementOrExp [Number] optional, eg. 0.1; or\n * [Object] Either { increment: <value> } or { exponent: <value> }\n *\n * Return the rounded number, eg:\n * - round( \"round\" )( 123.45 ): 123;\n * - round( \"ceil\" )( 123.45 ): 124;\n * - round( \"floor\" )( 123.45 ): 123;\n * - round( \"truncate\" )( 123.45 ): 123;\n * - round( \"round\" )( 123.45, 0.1 ): 123.5;\n * - round( \"round\" )( 123.45, 10 ): 120;\n *\n * Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\n * Ref: #376\n */\nvar numberRound = function( method ) {\n\tmethod = method || \"round\";\n\tmethod = method === \"truncate\" ? numberTruncate : Math[ method ];\n\n\treturn function( value, incrementOrExp ) {\n\t\tvar exp, increment;\n\n\t\tvalue = +value;\n\n\t\t// If the value is not a number, return NaN.\n\t\tif ( isNaN( value ) ) {\n\t\t\treturn NaN;\n\t\t}\n\n\t\t// Exponent given.\n\t\tif ( typeof incrementOrExp === \"object\" && incrementOrExp.exponent ) {\n\t\t\texp = +incrementOrExp.exponent;\n\t\t\tincrement = 1;\n\n\t\t\tif ( exp === 0 ) {\n\t\t\t\treturn method( value );\n\t\t\t}\n\n\t\t\t// If the exp is not an integer, return NaN.\n\t\t\tif ( !( typeof exp === \"number\" && exp % 1 === 0 ) ) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\n\t\t// Increment given.\n\t\t} else {\n\t\t\tincrement = +incrementOrExp || 1;\n\n\t\t\tif ( increment === 1 ) {\n\t\t\t\treturn method( value );\n\t\t\t}\n\n\t\t\t// If the increment is not a number, return NaN.\n\t\t\tif ( isNaN( increment ) ) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\n\t\t\tincrement = increment.toExponential().split( \"e\" );\n\t\t\texp = +increment[ 1 ];\n\t\t\tincrement = +increment[ 0 ];\n\t\t}\n\n\t\t// Shift & Round\n\t\tvalue = value.toString().split( \"e\" );\n\t\tvalue[ 0 ] = +value[ 0 ] / increment;\n\t\tvalue[ 1 ] = value[ 1 ] ? ( +value[ 1 ] - exp ) : -exp;\n\t\tvalue = method( +( value[ 0 ] + \"e\" + value[ 1 ] ) );\n\n\t\t// Shift back\n\t\tvalue = value.toString().split( \"e\" );\n\t\tvalue[ 0 ] = +value[ 0 ] * increment;\n\t\tvalue[ 1 ] = value[ 1 ] ? ( +value[ 1 ] + exp ) : exp;\n\t\treturn +( value[ 0 ] + \"e\" + value[ 1 ] );\n\t};\n};\n\n\n\n\n/**\n * formatProperties( pattern, cldr [, options] )\n *\n * @pattern [String] raw pattern for numbers.\n *\n * @cldr [Cldr instance].\n *\n * @options [Object]:\n * - minimumIntegerDigits [Number]\n * - minimumFractionDigits, maximumFractionDigits [Number]\n * - minimumSignificantDigits, maximumSignificantDigits [Number]\n * - round [String] \"ceil\", \"floor\", \"round\" (default), or \"truncate\".\n * - useGrouping [Boolean] default true.\n *\n * Return the processed properties that will be used in number/format.\n * ref: http://www.unicode.org/reports/tr35/tr35-numbers.html\n */\nvar numberFormatProperties = function( pattern, cldr, options ) {\n\tvar negativePattern, negativePrefix, negativeProperties, negativeSuffix, positivePattern,\n\t\troundFn, properties;\n\n\tfunction getOptions( attribute, propertyIndex ) {\n\t\tif ( attribute in options ) {\n\t\t\tproperties[ propertyIndex ] = options[ attribute ];\n\t\t}\n\t}\n\n\toptions = options || {};\n\tpattern = pattern.split( \";\" );\n\n\tpositivePattern = pattern[ 0 ];\n\n\tnegativePattern = pattern[ 1 ] || \"-\" + positivePattern;\n\tnegativeProperties = numberPatternProperties( negativePattern );\n\tnegativePrefix = negativeProperties[ 0 ];\n\tnegativeSuffix = negativeProperties[ 10 ];\n\n\t// Have runtime code to refer to numberRound() instead of including it explicitly.\n\troundFn = numberRound( options.round );\n\troundFn.generatorString = function() {\n\t\treturn \"numberRound(\" + ( options.round ? \"\\\"\" + options.round + \"\\\"\" : \"\" ) + \")\";\n\t};\n\n\tproperties = numberPatternProperties( positivePattern ).concat([\n\t\tpositivePattern,\n\t\tnegativePrefix + positivePattern + negativeSuffix,\n\t\tnegativePrefix,\n\t\tnegativeSuffix,\n\t\troundFn,\n\t\tnumberSymbol( \"infinity\", cldr ),\n\t\tnumberSymbol( \"nan\", cldr ),\n\t\tnumberSymbolMap( cldr ),\n\t\tnumberNumberingSystemDigitsMap( cldr )\n\t]);\n\n\tif ( options.compact ) {\n\n\t\t// The compact digits number pattern is always `0+`, so override the following properties.\n\t\t// Note: minimumIntegerDigits would actually range from `0` to `000` based on the scale of\n\t\t// the value to be formatted, though we're always using 1 as a simplification, because the\n\t\t// number won't be zero-padded since we chose the right format based on the scale, i.e.,\n\t\t// we'd never see something like `003M` anyway.\n\t\tproperties[ 2 ] = 1; // minimumIntegerDigits\n\t\tproperties[ 3 ] = 0; // minimumFractionDigits\n\t\tproperties[ 4 ] = 0; // maximumFractionDigits\n\t\tproperties[ 5 ] = // minimumSignificantDigits &\n\t\t\tproperties[ 6 ] = undefined; // maximumSignificantDigits\n\n\t\tproperties[ 20 ] = numberCompact( options.compact, cldr );\n\t}\n\n\tgetOptions( \"minimumIntegerDigits\", 2 );\n\tgetOptions( \"minimumFractionDigits\", 3 );\n\tgetOptions( \"maximumFractionDigits\", 4 );\n\tgetOptions( \"minimumSignificantDigits\", 5 );\n\tgetOptions( \"maximumSignificantDigits\", 6 );\n\n\t// Grouping separators\n\tif ( options.useGrouping === false ) {\n\t\tproperties[ 8 ] = null;\n\t}\n\n\t// Normalize number of digits if only one of either minimumFractionDigits or\n\t// maximumFractionDigits is passed in as an option\n\tif ( \"minimumFractionDigits\" in options && !( \"maximumFractionDigits\" in options ) ) {\n\n\t\t// maximumFractionDigits = Math.max( minimumFractionDigits, maximumFractionDigits );\n\t\tproperties[ 4 ] = Math.max( properties[ 3 ], properties[ 4 ] );\n\t} else if ( !( \"minimumFractionDigits\" in options ) &&\n\t\t\t\"maximumFractionDigits\" in options ) {\n\n\t\t// minimumFractionDigits = Math.min( minimumFractionDigits, maximumFractionDigits );\n\t\tproperties[ 3 ] = Math.min( properties[ 3 ], properties[ 4 ] );\n\t}\n\n\t// Return:\n\t// 0-10: see number/pattern-properties.\n\t// 11: @positivePattern [String] Positive pattern.\n\t// 12: @negativePattern [String] Negative pattern.\n\t// 13: @negativePrefix [String] Negative prefix.\n\t// 14: @negativeSuffix [String] Negative suffix.\n\t// 15: @round [Function] Round function.\n\t// 16: @infinitySymbol [String] Infinity symbol.\n\t// 17: @nanSymbol [String] NaN symbol.\n\t// 18: @symbolMap [Object] A bunch of other symbols.\n\t// 19: @nuDigitsMap [Array] Digits map if numbering system is different than `latn`.\n\t// 20: @compactMap [Object] Map of per-digit-count format patterns for specified compact mode.\n\treturn properties;\n};\n\n\n\n\n/**\n * Generated by:\n *\n * var regenerate = require( \"regenerate\" );\n * var formatSymbols = require( \"@unicode/unicode-13.0.0/General_Category/Format/symbols\" );\n * regenerate().add( formatSymbols ).toString();\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n */\nvar regexpCfG = /[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD80D[\\uDC30-\\uDC38]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/g;\n\n\n\n\n/**\n * Generated by:\n *\n * var regenerate = require( \"regenerate\" );\n * var dashSymbols = require( \"https://github.com/node-unicode/unicode-13.0.0/General_Category/Dash_Punctuation/symbols\" );\n * regenerate().add( dashSymbols ).toString();\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n *\n * NOTE: In addition to [:dash:], the below includes MINUS SIGN U+2212.\n */\nvar regexpDashG = /[\\x2D\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2E17\\u2E1A\\u2E3A\\u2E3B\\u2E40\\u301C\\u3030\\u30A0\\uFE31\\uFE32\\uFE58\\uFE63\\uFF0D\\u2212]|\\uD803\\uDEAD/g;\n\n\n\n\n/**\n * Generated by:\n *\n * var regenerate = require( \"regenerate\" );\n * var spaceSeparatorSymbols = require( \"@unicode/unicode-13.0.0/General_Category/Space_Separator/symbols\" );\n * regenerate().add( spaceSeparatorSymbols ).toString();\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n */\nvar regexpZsG = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/g;\n\n\n\n\n/**\n * Loose Matching:\n * - Ignore all format characters, which includes RLM, LRM or ALM used to control BIDI\n * formatting.\n * - Map all characters in [:Zs:] to U+0020 SPACE;\n * - Map all characters in [:Dash:] to U+002D HYPHEN-MINUS;\n */\nvar looseMatching = function( value ) {\n\treturn value\n\t\t.replace( regexpCfG, \"\" )\n\t\t.replace( regexpDashG, \"-\" )\n\t\t.replace( regexpZsG, \" \" );\n};\n\n\n\n\n/**\n * parse( value, properties )\n *\n * @value [String].\n *\n * @properties [Object] Parser properties is a reduced pre-processed cldr\n * data set returned by numberParserProperties().\n *\n * Return the parsed Number (including Infinity) or NaN when value is invalid.\n * ref: http://www.unicode.org/reports/tr35/tr35-numbers.html\n */\nvar numberParse = function( value, properties ) {\n\tvar grammar, invertedNuDigitsMap, invertedSymbolMap, negative, number, prefix, prefixNSuffix,\n\t\tsuffix, tokenizer, valid;\n\n\t// Grammar:\n\t// - Value <= NaN | PositiveNumber | NegativeNumber\n\t// - PositiveNumber <= PositivePrefix NumberOrInf PositiveSufix\n\t// - NegativeNumber <= NegativePrefix NumberOrInf\n\t// - NumberOrInf <= Number | Inf\n\tgrammar = [\n\t\t[ \"nan\" ],\n\t\t[ \"prefix\", \"infinity\", \"suffix\" ],\n\t\t[ \"prefix\", \"number\", \"suffix\" ],\n\t\t[ \"negativePrefix\", \"infinity\", \"negativeSuffix\" ],\n\t\t[ \"negativePrefix\", \"number\", \"negativeSuffix\" ]\n\t];\n\n\tinvertedSymbolMap = properties[ 0 ];\n\tinvertedNuDigitsMap = properties[ 1 ] || {};\n\ttokenizer = properties[ 2 ];\n\n\tvalue = looseMatching( value );\n\n\tfunction parse( type ) {\n\t\treturn function( lexeme ) {\n\n\t\t\t// Reverse localized symbols and numbering system.\n\t\t\tlexeme = lexeme.split( \"\" ).map(function( character ) {\n\t\t\t\treturn invertedSymbolMap[ character ] ||\n\t\t\t\t\tinvertedNuDigitsMap[ character ] ||\n\t\t\t\t\tcharacter;\n\t\t\t}).join( \"\" );\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase \"infinity\":\n\t\t\t\t\tnumber = Infinity;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"nan\":\n\t\t\t\t\tnumber = NaN;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"number\":\n\n\t\t\t\t\t// Remove grouping separators.\n\t\t\t\t\tlexeme = lexeme.replace( /,/g, \"\" );\n\n\t\t\t\t\tnumber = +lexeme;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"prefix\":\n\t\t\t\tcase \"negativePrefix\":\n\t\t\t\t\tprefix = lexeme;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"suffix\":\n\t\t\t\t\tsuffix = lexeme;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"negativeSuffix\":\n\t\t\t\t\tsuffix = lexeme;\n\t\t\t\t\tnegative = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\t// This should never be reached.\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( \"Internal error\" );\n\t\t\t}\n\t\t\treturn \"\";\n\t\t};\n\t}\n\n\tfunction tokenizeNParse( _value, grammar ) {\n\t\treturn grammar.some(function( statement ) {\n\t\t\tvar value = _value;\n\n\t\t\t// The whole grammar statement should be used (i.e., .every() return true) and value be\n\t\t\t// entirely consumed (i.e., !value.length).\n\t\t\treturn statement.every(function( type ) {\n\t\t\t\tif ( value.match( tokenizer[ type ] ) === null ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Consume and parse it.\n\t\t\t\tvalue = value.replace( tokenizer[ type ], parse( type ) );\n\t\t\t\treturn true;\n\t\t\t}) && !value.length;\n\t\t});\n\t}\n\n\tvalid = tokenizeNParse( value, grammar );\n\n\t// NaN\n\tif ( !valid || isNaN( number ) ) {\n\t\treturn NaN;\n\t}\n\n\tprefixNSuffix = \"\" + prefix + suffix;\n\n\t// Percent\n\tif ( prefixNSuffix.indexOf( \"%\" ) !== -1 ) {\n\t\tnumber /= 100;\n\n\t// Per mille\n\t} else if ( prefixNSuffix.indexOf( \"\\u2030\" ) !== -1 ) {\n\t\tnumber /= 1000;\n\t}\n\n\t// Negative number\n\tif ( negative ) {\n\t\tnumber *= -1;\n\t}\n\n\treturn number;\n};\n\n\n\n\nvar numberParserFn = function( properties ) {\n\treturn function numberParser( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeString( value, \"value\" );\n\n\t\treturn numberParse( value, properties );\n\t};\n\n};\n\n\n\n\n/**\n * symbolMap( cldr )\n *\n * @cldr [Cldr instance].\n *\n * Return the (localized symbol, pattern symbol) key value pair, eg. {\n * \"٫\": \".\",\n * \"٬\": \",\",\n * \"٪\": \"%\",\n * ...\n * };\n */\nvar numberSymbolInvertedMap = function( cldr ) {\n\tvar symbol,\n\t\tsymbolMap = {};\n\n\tfor ( symbol in numberSymbolName ) {\n\t\tsymbolMap[ numberSymbol( numberSymbolName[ symbol ], cldr ) ] = symbol;\n\t}\n\n\treturn symbolMap;\n};\n\n\n\n\n/**\n * objectMap( object, fn)\n *\n * - object\n *\n * - fn( pair ) => pair\n */\nvar objectMap = function( object, fn ) {\n\treturn Object.keys( object ).map(function( key ) {\n\t\treturn fn([ key, object[ key ] ]);\n\t}).reduce(function( object, pair ) {\n\t\tobject[ pair[ 0 ] ] = pair[ 1 ];\n\t\treturn object;\n\t}, {});\n};\n\n\n\n\n/**\n * removeLiteralQuotes( string )\n *\n * Return:\n * - `'` if input string is `''`.\n * - `o'clock` if input string is `'o''clock'`.\n * - `foo` if input string is `foo`, i.e., return the same value in case it isn't a single-quoted\n * string.\n */\nvar removeLiteralQuotes = function( string ) {\n\tif ( string[ 0 ] + string[ string.length - 1 ] !== \"''\" ) {\n\t\treturn string;\n\t}\n\tif ( string === \"''\" ) {\n\t\treturn \"'\";\n\t}\n\treturn string.replace( /''/g, \"'\" ).slice( 1, -1 );\n};\n\n\n\n\n/**\n * parseProperties( pattern, cldr )\n *\n * @pattern [String] raw pattern for numbers.\n *\n * @cldr [Cldr instance].\n *\n * Return parser properties, used to feed parser function.\n *\n * TODO:\n * - Scientific_notation;\n * - Padding;\n */\nvar numberParseProperties = function( pattern, cldr, options ) {\n\tvar aux, decimalSymbolRe, digitsRe, groupingSeparatorRe, infinitySymbol, invertedNuDigitsMap,\n\t\tinvertedSymbolMap, maximumFractionDigits, maximumSignificantDigits,\n\t\tminimumSignificantDigits, nanSymbol, negativePrefix, negativeSuffix, nuDigitsMap,\n\t\tnumberTokenizer, prefix, primaryGroupingSize, secondaryGroupingSize, suffix, symbolMap,\n\t\tformatProperties = numberFormatProperties( pattern, cldr, options );\n\n\tprefix = looseMatching( formatProperties[ 0 ] );\n\tmaximumFractionDigits = formatProperties[ 4 ];\n\tminimumSignificantDigits = formatProperties[ 5 ];\n\tmaximumSignificantDigits = formatProperties[ 6 ];\n\tprimaryGroupingSize = formatProperties[ 8 ];\n\tsecondaryGroupingSize = formatProperties[ 9 ];\n\tsuffix = looseMatching( formatProperties[ 10 ] );\n\tnegativePrefix = looseMatching( formatProperties[ 13 ] );\n\tnegativeSuffix = looseMatching( formatProperties[ 14 ] );\n\tinfinitySymbol = looseMatching( formatProperties[ 16 ] );\n\tnanSymbol = looseMatching( formatProperties[ 17 ] );\n\tsymbolMap = objectMap( formatProperties[ 18 ], function( pair ) {\n\t\treturn [ pair[ 0 ], looseMatching( pair[ 1 ] ) ];\n\t});\n\tnuDigitsMap = formatProperties[ 19 ];\n\n\tinvertedSymbolMap = objectMap( numberSymbolInvertedMap( cldr ), function( pair ) {\n\t\treturn [ looseMatching( pair[ 0 ] ), pair[ 1 ] ];\n\t});\n\n\tdigitsRe = nuDigitsMap ? \"[\" + nuDigitsMap + \"]\" : \"\\\\d\";\n\tgroupingSeparatorRe = regexpEscape( symbolMap[ \",\" ] );\n\tdecimalSymbolRe = regexpEscape( symbolMap[ \".\" ] );\n\n\tif ( nuDigitsMap ) {\n\t\tinvertedNuDigitsMap = nuDigitsMap.split( \"\" ).reduce(function( object, localizedDigit, i ) {\n\t\t\tobject[ localizedDigit ] = String( i );\n\t\t\treturn object;\n\t\t}, {} );\n\t}\n\n\taux = [ prefix, suffix, negativePrefix, negativeSuffix ].map(function( value ) {\n\t\treturn value.replace( /('([^']|'')+'|'')|./g, function( character, literal ) {\n\n\t\t\t// Literals\n\t\t\tif ( literal ) {\n\t\t\t\treturn removeLiteralQuotes( literal );\n\t\t\t}\n\n\t\t\t// Symbols\n\t\t\tcharacter = character.replace( /[\\-+E%\\u2030]/, function( symbol ) {\n\t\t\t\treturn symbolMap[ symbol ];\n\t\t\t});\n\n\t\t\treturn character;\n\t\t});\n\t});\n\n\tprefix = aux[ 0 ];\n\tsuffix = aux[ 1 ];\n\tnegativePrefix = aux[ 2 ];\n\tnegativeSuffix = aux[ 3 ];\n\n\t// Number\n\t//\n\t// number_re = integer fraction?\n\t//\n\t// integer = digits | digits_using_grouping_separators\n\t//\n\t// fraction = regexp((.\\d+)?)\n\t//\n\t// digits = regexp(\\d+)\n\t//\n\t// digits_w_grouping_separators = digits_w_1_grouping_separators |\n\t// digits_w_2_grouping_separators\n\t//\n\t// digits_w_1_grouping_separators = regexp(\\d{1,3}(,\\d{3})+)\n\t//\n\t// digits_w_2_grouping_separators = regexp(\\d{1,2}((,\\d{2})*(,\\d{3})))\n\n\t// Integer part\n\tnumberTokenizer = digitsRe + \"+\";\n\n\t// Grouping separators\n\tif ( primaryGroupingSize ) {\n\t\tif ( secondaryGroupingSize ) {\n\t\t\taux = digitsRe + \"{1,\" + secondaryGroupingSize + \"}((\" + groupingSeparatorRe +\n\t\t\t\tdigitsRe + \"{\" + secondaryGroupingSize + \"})*(\" + groupingSeparatorRe +\n\t\t\t\tdigitsRe + \"{\" + primaryGroupingSize + \"}))\";\n\t\t} else {\n\t\t\taux = digitsRe + \"{1,\" + primaryGroupingSize + \"}(\" + groupingSeparatorRe +\n\t\t\t\tdigitsRe + \"{\" + primaryGroupingSize + \"})+\";\n\t\t}\n\t\tnumberTokenizer = \"(\" + aux + \"|\" + numberTokenizer + \")\";\n\t}\n\n\t// Fraction part? Only included if 1 or 2.\n\t// 1: Using significant digit format.\n\t// 2: Using integer and fractional format && it has a maximumFractionDigits.\n\tif ( !isNaN( minimumSignificantDigits * maximumSignificantDigits ) || /* 1 */\n\t\t\t\tmaximumFractionDigits /* 2 */ ) {\n\n\t\t// 1: Handle trailing decimal separator, e.g., `\"1.\" => `1``.\n\t\taux = decimalSymbolRe + digitsRe + \"+\";\n\t\tnumberTokenizer = numberTokenizer + \"(\" + aux + \"|\" + decimalSymbolRe /* 1 */ + \")?\" +\n\n\t\t\t// Handle non-padded decimals, e.g., `\".12\"` => `0.12` by making the integer part\n\t\t\t// optional.\n\t\t\t\"|(\" + numberTokenizer + \")?\" + aux;\n\n\t\tnumberTokenizer = \"(\" + numberTokenizer + \")\";\n\t}\n\n\t// 0: @invertedSymbolMap [Object] Inverted symbol map.\n\t// 1: @invertedNuDigitsMap [Object] Inverted digits map if numbering system is different than\n\t// `latn`.\n\t// 2: @tokenizer [Object] Tokenizer map, used by parser to consume input.\n\treturn [\n\t\tinvertedSymbolMap,\n\t\tinvertedNuDigitsMap,\n\t\t{\n\t\t\tinfinity: new RegExp( \"^\" + regexpEscape( infinitySymbol ) ),\n\t\t\tnan: new RegExp( \"^\" + regexpEscape( nanSymbol ) ),\n\t\t\tnegativePrefix: new RegExp( \"^\" + regexpEscape( negativePrefix ) ),\n\t\t\tnegativeSuffix: new RegExp( \"^\" + regexpEscape( negativeSuffix ) ),\n\t\t\tnumber: new RegExp( \"^\" + numberTokenizer ),\n\t\t\tprefix: new RegExp( \"^\" + regexpEscape( prefix ) ),\n\t\t\tsuffix: new RegExp( \"^\" + regexpEscape( suffix ) )\n\t\t}\n\t];\n\n};\n\n\n\n\n/**\n * Pattern( style )\n *\n * @style [String] \"decimal\" (default) or \"percent\".\n *\n * @cldr [Cldr instance].\n */\nvar numberPattern = function( style, cldr ) {\n\tif ( style !== \"decimal\" && style !== \"percent\" ) {\n\t\tthrow new Error( \"Invalid style\" );\n\t}\n\n\treturn cldr.main([\n\t\t\"numbers\",\n\t\tstyle + \"Formats-numberSystem-\" + numberNumberingSystem( cldr ),\n\t\t\"standard\"\n\t]);\n};\n\n\n\n\n/**\n * EBNF representation:\n *\n * compact_pattern_re = prefix?\n * number_pattern_re\n * suffix?\n *\n * number_pattern_re = 0+\n *\n * Regexp groups:\n *\n * 0: compact_pattern_re\n * 1: prefix\n * 2: number_pattern_re (the number pattern to use in compact mode)\n * 3: suffix\n */\nvar numberCompactPatternRe = ( /^([^0]*)(0+)([^0]*)$/ );\n\n\n\n\n/**\n * goupingSeparator( number, primaryGroupingSize, secondaryGroupingSize )\n *\n * @number [Number].\n *\n * @primaryGroupingSize [Number]\n *\n * @secondaryGroupingSize [Number]\n *\n * Return the formatted number with group separator.\n */\nvar numberFormatGroupingSeparator = function( number, primaryGroupingSize, secondaryGroupingSize ) {\n\tvar index,\n\t\tcurrentGroupingSize = primaryGroupingSize,\n\t\tret = \"\",\n\t\tsep = \",\",\n\t\tswitchToSecondary = secondaryGroupingSize ? true : false;\n\n\tnumber = String( number ).split( \".\" );\n\tindex = number[ 0 ].length;\n\n\twhile ( index > currentGroupingSize ) {\n\t\tret = number[ 0 ].slice( index - currentGroupingSize, index ) +\n\t\t\t( ret.length ? sep : \"\" ) + ret;\n\t\tindex -= currentGroupingSize;\n\t\tif ( switchToSecondary ) {\n\t\t\tcurrentGroupingSize = secondaryGroupingSize;\n\t\t\tswitchToSecondary = false;\n\t\t}\n\t}\n\n\tnumber[ 0 ] = number[ 0 ].slice( 0, index ) + ( ret.length ? sep : \"\" ) + ret;\n\treturn number.join( \".\" );\n};\n\n\n\n\n/**\n * integerFractionDigits( number, minimumIntegerDigits, minimumFractionDigits,\n * maximumFractionDigits, round, roundIncrement )\n *\n * @number [Number]\n *\n * @minimumIntegerDigits [Number]\n *\n * @minimumFractionDigits [Number]\n *\n * @maximumFractionDigits [Number]\n *\n * @round [Function]\n *\n * @roundIncrement [Function]\n *\n * Return the formatted integer and fraction digits.\n */\nvar numberFormatIntegerFractionDigits = function( number, minimumIntegerDigits, minimumFractionDigits, maximumFractionDigits, round,\n\troundIncrement ) {\n\n\t// Fraction\n\tif ( maximumFractionDigits ) {\n\n\t\t// Rounding\n\t\tif ( roundIncrement ) {\n\t\t\tnumber = round( number, roundIncrement );\n\n\t\t// Maximum fraction digits\n\t\t} else {\n\t\t\tnumber = round( number, { exponent: -maximumFractionDigits } );\n\t\t}\n\n\t} else {\n\t\tnumber = round( number );\n\t}\n\n\tnumber = String( number );\n\n\t// Maximum integer digits (post string phase)\n\tif ( maximumFractionDigits && /e-/.test( number ) ) {\n\n\t\t// Use toFixed( maximumFractionDigits ) to make sure small numbers like 1e-7 are\n\t\t// displayed using plain digits instead of scientific notation.\n\t\t// 1: Remove leading decimal zeros.\n\t\t// 2: Remove leading decimal separator.\n\t\t// Note: String() is still preferred so it doesn't mess up with a number precision\n\t\t// unnecessarily, e.g., (123456789.123).toFixed(10) === \"123456789.1229999959\",\n\t\t// String(123456789.123) === \"123456789.123\".\n\t\tnumber = ( +number ).toFixed( maximumFractionDigits )\n\t\t\t.replace( /0+$/, \"\" ) /* 1 */\n\t\t\t.replace( /\\.$/, \"\" ); /* 2 */\n\t}\n\n\t// Minimum fraction digits (post string phase)\n\tif ( minimumFractionDigits ) {\n\t\tnumber = number.split( \".\" );\n\t\tnumber[ 1 ] = stringPad( number[ 1 ] || \"\", minimumFractionDigits, true );\n\t\tnumber = number.join( \".\" );\n\t}\n\n\t// Minimum integer digits\n\tif ( minimumIntegerDigits ) {\n\t\tnumber = number.split( \".\" );\n\t\tnumber[ 0 ] = stringPad( number[ 0 ], minimumIntegerDigits );\n\t\tnumber = number.join( \".\" );\n\t}\n\n\treturn number;\n};\n\n\n\n\n/**\n * toPrecision( number, precision, round )\n *\n * @number (Number)\n *\n * @precision (Number) significant figures precision (not decimal precision).\n *\n * @round (Function)\n *\n * Return number.toPrecision( precision ) using the given round function.\n */\nvar numberToPrecision = function( number, precision, round ) {\n\tvar roundOrder;\n\n\tif ( number === 0 ) { // Fix #706\n\t\treturn number;\n\t}\n\n\troundOrder = Math.ceil( Math.log( Math.abs( number ) ) / Math.log( 10 ) );\n\troundOrder -= precision;\n\n\treturn round( number, { exponent: roundOrder } );\n};\n\n\n\n\n/**\n * toPrecision( number, minimumSignificantDigits, maximumSignificantDigits, round )\n *\n * @number [Number]\n *\n * @minimumSignificantDigits [Number]\n *\n * @maximumSignificantDigits [Number]\n *\n * @round [Function]\n *\n * Return the formatted significant digits number.\n */\nvar numberFormatSignificantDigits = function( number, minimumSignificantDigits, maximumSignificantDigits, round ) {\n\tvar atMinimum, atMaximum;\n\n\t// Sanity check.\n\tif ( minimumSignificantDigits > maximumSignificantDigits ) {\n\t\tmaximumSignificantDigits = minimumSignificantDigits;\n\t}\n\n\tatMinimum = numberToPrecision( number, minimumSignificantDigits, round );\n\tatMaximum = numberToPrecision( number, maximumSignificantDigits, round );\n\n\t// Use atMaximum only if it has more significant digits than atMinimum.\n\tnumber = +atMinimum === +atMaximum ? atMinimum : atMaximum;\n\n\t// Expand integer numbers, eg. 123e5 to 12300.\n\tnumber = ( +number ).toString( 10 );\n\n\tif ( ( /e/ ).test( number ) ) {\n\t\tthrow createErrorUnsupportedFeature({\n\t\t\tfeature: \"integers out of (1e21, 1e-7)\"\n\t\t});\n\t}\n\n\t// Add trailing zeros if necessary.\n\tif ( minimumSignificantDigits - number.replace( /^0+|\\./g, \"\" ).length > 0 ) {\n\t\tnumber = number.split( \".\" );\n\t\tnumber[ 1 ] = stringPad( number[ 1 ] || \"\", minimumSignificantDigits - number[ 0 ].replace( /^0+/, \"\" ).length, true );\n\t\tnumber = number.join( \".\" );\n\t}\n\n\treturn number;\n};\n\n\n\n\n/**\n * format( number, properties )\n *\n * @number [Number].\n *\n * @properties [Object] Output of number/format-properties.\n *\n * Return the formatted number.\n * ref: http://www.unicode.org/reports/tr35/tr35-numbers.html\n */\nvar numberFormat = function( number, properties, pluralGenerator ) {\n\tvar aux, compactMap, infinitySymbol, maximumFractionDigits, maximumSignificantDigits,\n\t\tminimumFractionDigits, minimumIntegerDigits, minimumSignificantDigits, nanSymbol,\n\t\tnuDigitsMap, prefix, primaryGroupingSize, pattern, round, roundIncrement,\n\t\tsecondaryGroupingSize, stringToParts, suffix, symbolMap;\n\n\tminimumIntegerDigits = properties[ 2 ];\n\tminimumFractionDigits = properties[ 3 ];\n\tmaximumFractionDigits = properties[ 4 ];\n\tminimumSignificantDigits = properties[ 5 ];\n\tmaximumSignificantDigits = properties[ 6 ];\n\troundIncrement = properties[ 7 ];\n\tprimaryGroupingSize = properties[ 8 ];\n\tsecondaryGroupingSize = properties[ 9 ];\n\tround = properties[ 15 ];\n\tinfinitySymbol = properties[ 16 ];\n\tnanSymbol = properties[ 17 ];\n\tsymbolMap = properties[ 18 ];\n\tnuDigitsMap = properties[ 19 ];\n\tcompactMap = properties[ 20 ];\n\n\t// NaN\n\tif ( isNaN( number ) ) {\n\t\treturn [ { type: \"nan\", value: nanSymbol } ];\n\t}\n\n\tif ( number < 0 ) {\n\t\tpattern = properties[ 12 ];\n\t\tprefix = properties[ 13 ];\n\t\tsuffix = properties[ 14 ];\n\t} else {\n\t\tpattern = properties[ 11 ];\n\t\tprefix = properties[ 0 ];\n\t\tsuffix = properties[ 10 ];\n\t}\n\n\t// For prefix, suffix, and number parts.\n\tstringToParts = function( string ) {\n\t\tvar numberType = \"integer\",\n\t\t\tparts = [];\n\n\t\t// TODO Move the tokenization of all parts that don't depend on number into\n\t\t// format-properties.\n\t\tstring.replace( /('([^']|'')+'|'')|./g, function( character, literal ) {\n\n\t\t\t// Literals\n\t\t\tif ( literal ) {\n\t\t\t\tpartsPush( parts, \"literal\", removeLiteralQuotes( literal ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Currency symbol\n\t\t\tif ( character === \"\\u00A4\" ) {\n\t\t\t\tpartsPush( parts, \"currency\", character );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Symbols\n\t\t\tcharacter = character.replace( /[.,\\-+E%\\u2030]/, function( symbol ) {\n\t\t\t\tif ( symbol === \".\" ) {\n\t\t\t\t\tnumberType = \"fraction\";\n\t\t\t\t}\n\t\t\t\tpartsPush( parts, numberSymbolName[ symbol ], symbolMap[ symbol ] );\n\n\t\t\t\t// \"Erase\" handled character.\n\t\t\t\treturn \"\";\n\t\t\t});\n\n\t\t\t// Number\n\t\t\tcharacter = character.replace( /[0-9]/, function( digit ) {\n\n\t\t\t\t// Numbering system\n\t\t\t\tif ( nuDigitsMap ) {\n\t\t\t\t\tdigit = nuDigitsMap[ +digit ];\n\t\t\t\t}\n\t\t\t\tpartsPush( parts, numberType, digit );\n\n\t\t\t\t// \"Erase\" handled character.\n\t\t\t\treturn \"\";\n\t\t\t});\n\n\t\t\t// Etc\n\t\t\tcharacter.replace( /./, function( etc ) {\n\t\t\t\tpartsPush( parts, \"literal\", etc );\n\t\t\t});\n\t\t});\n\t\treturn parts;\n\t};\n\n\tprefix = stringToParts( prefix );\n\tsuffix = stringToParts( suffix );\n\n\t// Infinity\n\tif ( !isFinite( number ) ) {\n\t\treturn prefix.concat(\n\t\t\t{ type: \"infinity\", value: infinitySymbol },\n\t\t\tsuffix\n\t\t);\n\t}\n\n\t// Percent\n\tif ( pattern.indexOf( \"%\" ) !== -1 ) {\n\t\tnumber *= 100;\n\n\t// Per mille\n\t} else if ( pattern.indexOf( \"\\u2030\" ) !== -1 ) {\n\t\tnumber *= 1000;\n\t}\n\n\tvar compactPattern, compactDigits, compactProperties, divisor, numberExponent, pluralForm;\n\n\t// Compact mode: initial number digit processing\n\tif ( compactMap ) {\n\t\tnumberExponent = Math.abs( Math.floor( number ) ).toString().length - 1;\n\t\tnumberExponent = Math.min( numberExponent, compactMap.maxExponent );\n\n\t\t// Use default plural form to perform initial decimal shift\n\t\tif ( numberExponent >= 3 ) {\n\t\t\tcompactPattern = compactMap[ numberExponent ] && compactMap[ numberExponent ].other;\n\t\t}\n\n\t\tif ( compactPattern === \"0\" ) {\n\t\t\tcompactPattern = null;\n\t\t} else if ( compactPattern ) {\n\t\t\tcompactDigits = compactPattern.split( \"0\" ).length - 1;\n\t\t\tdivisor = numberExponent - ( compactDigits - 1 );\n\t\t\tnumber = number / Math.pow( 10, divisor );\n\t\t}\n\t}\n\n\t// Significant digit format\n\tif ( !isNaN( minimumSignificantDigits * maximumSignificantDigits ) ) {\n\t\tnumber = numberFormatSignificantDigits( number, minimumSignificantDigits,\n\t\t\tmaximumSignificantDigits, round );\n\n\t// Integer and fractional format\n\t} else {\n\t\tnumber = numberFormatIntegerFractionDigits( number, minimumIntegerDigits,\n\t\t\tminimumFractionDigits, maximumFractionDigits, round, roundIncrement );\n\t}\n\n\t// Compact mode: apply formatting\n\tif ( compactMap && compactPattern ) {\n\n\t\t// Get plural form after possible roundings\n\t\tpluralForm = pluralGenerator ? pluralGenerator( +number ) : \"other\";\n\n\t\tcompactPattern = compactMap[ numberExponent ][ pluralForm ] || compactPattern;\n\t\tcompactProperties = compactPattern.match( numberCompactPatternRe );\n\n\t\t// TODO Move the tokenization of all parts that don't depend on number into\n\t\t// format-properties.\n\t\taux = function( string ) {\n\t\t\tvar parts = [];\n\t\t\tstring.replace( /(\\s+)|([^\\s0]+)/g, function( _garbage, space, compact ) {\n\n\t\t\t\t// Literals\n\t\t\t\tif ( space ) {\n\t\t\t\t\tpartsPush( parts, \"literal\", space );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Compact value\n\t\t\t\tif ( compact ) {\n\t\t\t\t\tpartsPush( parts, \"compact\", compact );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn parts;\n\t\t};\n\n\t\t// update prefix/suffix with compact prefix/suffix\n\t\tprefix = prefix.concat( aux( compactProperties[ 1 ] ) );\n\t\tsuffix = aux( compactProperties[ 3 ] ).concat( suffix );\n\t}\n\n\t// Remove the possible number minus sign\n\tnumber = number.replace( /^-/, \"\" );\n\n\t// Grouping separators\n\tif ( primaryGroupingSize ) {\n\t\tnumber = numberFormatGroupingSeparator( number, primaryGroupingSize,\n\t\t\tsecondaryGroupingSize );\n\t}\n\n\t// Scientific notation\n\t// TODO implement here\n\n\t// Padding/'([^']|'')+'|''|[.,\\-+E%\\u2030]/g\n\t// TODO implement here\n\n\treturn prefix.concat(\n\t\tstringToParts( number ),\n\t\tsuffix\n\t);\n};\n\n\n\n\nvar numberToPartsFormatterFn = function( properties, pluralGenerator ) {\n\treturn function numberToPartsFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn numberFormat( value, properties, pluralGenerator );\n\t};\n};\n\n\n\n\nfunction validateDigits( properties ) {\n\tvar minimumIntegerDigits = properties[ 2 ],\n\t\tminimumFractionDigits = properties[ 3 ],\n\t\tmaximumFractionDigits = properties[ 4 ],\n\t\tminimumSignificantDigits = properties[ 5 ],\n\t\tmaximumSignificantDigits = properties[ 6 ];\n\n\t// Validate significant digit format properties\n\tif ( !isNaN( minimumSignificantDigits * maximumSignificantDigits ) ) {\n\t\tvalidateParameterRange( minimumSignificantDigits, \"minimumSignificantDigits\", 1, 21 );\n\t\tvalidateParameterRange( maximumSignificantDigits, \"maximumSignificantDigits\",\n\t\t\tminimumSignificantDigits, 21 );\n\n\t} else if ( !isNaN( minimumSignificantDigits ) || !isNaN( maximumSignificantDigits ) ) {\n\t\tthrow new Error( \"Neither or both the minimum and maximum significant digits must be \" +\n\t\t\t\"present\" );\n\n\t// Validate integer and fractional format\n\t} else {\n\t\tvalidateParameterRange( minimumIntegerDigits, \"minimumIntegerDigits\", 1, 21 );\n\t\tvalidateParameterRange( minimumFractionDigits, \"minimumFractionDigits\", 0, 20 );\n\t\tvalidateParameterRange( maximumFractionDigits, \"maximumFractionDigits\",\n\t\t\tminimumFractionDigits, 20 );\n\t}\n}\n\n/**\n * .numberFormatter( [options] )\n *\n * @options [Object]:\n * - style: [String] \"decimal\" (default) or \"percent\".\n * - see also number/format options.\n *\n * Return a function that formats a number according to the given options and default/instance\n * locale.\n */\nGlobalize.numberFormatter =\nGlobalize.prototype.numberFormatter = function( options ) {\n\tvar args, numberToPartsFormatter, returnFn;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\targs = [ options ];\n\n\tnumberToPartsFormatter = this.numberToPartsFormatter( options );\n\treturnFn = numberFormatterFn( numberToPartsFormatter );\n\truntimeBind( args, this.cldr, returnFn, [ numberToPartsFormatter ] );\n\n\treturn returnFn;\n};\n\n/**\n * .numberToPartsFormatter( [options] )\n *\n * @options [Object]:\n * - style: [String] \"symbol\" (default), \"accounting\", \"code\" or \"name\".\n * - see also number/format options.\n *\n * Return a function that formats a number to parts according to the given options and\n * default/instance locale.\n */\nGlobalize.numberToPartsFormatter =\nGlobalize.prototype.numberToPartsFormatter = function( options ) {\n\tvar args, cldr, fnArgs, pattern, properties, returnFn;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\tcldr = this.cldr;\n\n\targs = [ options ];\n\n\tvalidateDefaultLocale( cldr );\n\n\tcldr.on( \"get\", validateCldr );\n\ttry {\n\t\tif ( options.raw ) {\n\t\t\tpattern = options.raw;\n\t\t} else {\n\t\t\tpattern = numberPattern( options.style || \"decimal\", cldr );\n\t\t}\n\n\t\tproperties = numberFormatProperties( pattern, cldr, options );\n\t\tfnArgs = [ properties ];\n\t} finally {\n\t\tcldr.off( \"get\", validateCldr );\n\t}\n\n\tvalidateDigits( properties );\n\n\tif ( options.compact ) {\n\t\tfnArgs.push( this.pluralGenerator() );\n\t}\n\treturnFn = numberToPartsFormatterFn.apply( null, fnArgs );\n\truntimeBind( args, cldr, returnFn, fnArgs );\n\n\treturn returnFn;\n};\n\n/**\n * .numberParser( [options] )\n *\n * @options [Object]:\n * - style: [String] \"decimal\" (default) or \"percent\".\n *\n * Return the number parser according to the default/instance locale.\n */\nGlobalize.numberParser =\nGlobalize.prototype.numberParser = function( options ) {\n\tvar args, cldr, pattern, properties, returnFn;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\tcldr = this.cldr;\n\n\targs = [ options ];\n\n\tvalidateDefaultLocale( cldr );\n\tif ( options.compact ) {\n\t\tthrow createErrorUnsupportedFeature({\n\t\t\tfeature: \"compact number parsing (not implemented)\"\n\t\t});\n\t}\n\n\tcldr.on( \"get\", validateCldr );\n\n\tif ( options.raw ) {\n\t\tpattern = options.raw;\n\t} else {\n\t\tpattern = numberPattern( options.style || \"decimal\", cldr );\n\t}\n\n\tproperties = numberParseProperties( pattern, cldr, options );\n\n\tcldr.off( \"get\", validateCldr );\n\n\treturnFn = numberParserFn( properties );\n\n\truntimeBind( args, cldr, returnFn, [ properties ] );\n\n\treturn returnFn;\n};\n\n/**\n * .formatNumber( value [, options] )\n *\n * @value [Number] number to be formatted.\n *\n * @options [Object]: see number/format-properties.\n *\n * Format a number according to the given options and default/instance locale.\n */\nGlobalize.formatNumber =\nGlobalize.prototype.formatNumber = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.numberFormatter( options )( value );\n};\n\n/**\n * .formatNumberToParts( value [, options] )\n *\n * @value [Number] number to be formatted.\n *\n * @options [Object]: see number/format-properties.\n *\n * Format a number to pars according to the given options and default/instance locale.\n */\nGlobalize.formatNumberToParts =\nGlobalize.prototype.formatNumberToParts = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.numberToPartsFormatter( options )( value );\n};\n\n/**\n * .parseNumber( value [, options] )\n *\n * @value [String]\n *\n * @options [Object]: See numberParser().\n *\n * Return the parsed Number (including Infinity) or NaN when value is invalid.\n */\nGlobalize.parseNumber =\nGlobalize.prototype.parseNumber = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeString( value, \"value\" );\n\n\treturn this.numberParser( options )( value );\n};\n\n/**\n * Optimization to avoid duplicating some internal functions across modules.\n */\nGlobalize._createErrorUnsupportedFeature = createErrorUnsupportedFeature;\nGlobalize._numberNumberingSystem = numberNumberingSystem;\nGlobalize._numberNumberingSystemDigitsMap = numberNumberingSystemDigitsMap;\nGlobalize._numberPattern = numberPattern;\nGlobalize._numberSymbol = numberSymbol;\nGlobalize._looseMatching = looseMatching;\nGlobalize._removeLiteralQuotes = removeLiteralQuotes;\nGlobalize._stringPad = stringPad;\nGlobalize._validateParameterTypeNumber = validateParameterTypeNumber;\nGlobalize._validateParameterTypeString = validateParameterTypeString;\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"cldr/event\",\n\t\t\t\"cldr/supplemental\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar runtimeBind = Globalize._runtimeBind,\n\tvalidateCldr = Globalize._validateCldr,\n\tvalidateDefaultLocale = Globalize._validateDefaultLocale,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterTypePlainObject = Globalize._validateParameterTypePlainObject;\nvar MakePlural;\n/* eslint-disable */\nMakePlural = (function() {\n'use strict';\n\nvar _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };\n\nvar _toConsumableArray = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\n\n/**\n * make-plural.js -- https://github.com/eemeli/make-plural.js/\n * Copyright (c) 2014-2015 by Eemeli Aro <eemeli@gmail.com>\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * The software is provided \"as is\" and the author disclaims all warranties\n * with regard to this software including all implied warranties of\n * merchantability and fitness. In no event shall the author be liable for\n * any special, direct, indirect, or consequential damages or any damages\n * whatsoever resulting from loss of use, data or profits, whether in an\n * action of contract, negligence or other tortious action, arising out of\n * or in connection with the use or performance of this software.\n */\n\nvar Parser = (function () {\n function Parser() {\n _classCallCheck(this, Parser);\n }\n\n _createClass(Parser, [{\n key: 'parse',\n value: function parse(cond) {\n var _this = this;\n\n if (cond === 'i = 0 or n = 1') {\n return 'n >= 0 && n <= 1';\n }if (cond === 'i = 0,1') {\n return 'n >= 0 && n < 2';\n }if (cond === 'i = 1 and v = 0') {\n this.v0 = 1;\n return 'n == 1 && v0';\n }\n return cond.replace(/([tv]) (!?)= 0/g, function (m, sym, noteq) {\n var sn = sym + '0';\n _this[sn] = 1;\n return noteq ? '!' + sn : sn;\n }).replace(/\\b[fintv]\\b/g, function (m) {\n _this[m] = 1;\n return m;\n }).replace(/([fin]) % (10+)/g, function (m, sym, num) {\n var sn = sym + num;\n _this[sn] = 1;\n return sn;\n }).replace(/n10+ = 0/g, 't0 && $&').replace(/(\\w+ (!?)= )([0-9.]+,[0-9.,]+)/g, function (m, se, noteq, x) {\n if (m === 'n = 0,1') return '(n == 0 || n == 1)';\n if (noteq) return se + x.split(',').join(' && ' + se);\n return '(' + se + x.split(',').join(' || ' + se) + ')';\n }).replace(/(\\w+) (!?)= ([0-9]+)\\.\\.([0-9]+)/g, function (m, sym, noteq, x0, x1) {\n if (Number(x0) + 1 === Number(x1)) {\n if (noteq) return '' + sym + ' != ' + x0 + ' && ' + sym + ' != ' + x1;\n return '(' + sym + ' == ' + x0 + ' || ' + sym + ' == ' + x1 + ')';\n }\n if (noteq) return '(' + sym + ' < ' + x0 + ' || ' + sym + ' > ' + x1 + ')';\n if (sym === 'n') {\n _this.t0 = 1;return '(t0 && n >= ' + x0 + ' && n <= ' + x1 + ')';\n }\n return '(' + sym + ' >= ' + x0 + ' && ' + sym + ' <= ' + x1 + ')';\n }).replace(/ and /g, ' && ').replace(/ or /g, ' || ').replace(/ = /g, ' == ');\n }\n }, {\n key: 'vars',\n value: (function (_vars) {\n function vars() {\n return _vars.apply(this, arguments);\n }\n\n vars.toString = function () {\n return _vars.toString();\n };\n\n return vars;\n })(function () {\n var vars = [];\n if (this.i) vars.push('i = s[0]');\n if (this.f || this.v) vars.push('f = s[1] || \\'\\'');\n if (this.t) vars.push('t = (s[1] || \\'\\').replace(/0+$/, \\'\\')');\n if (this.v) vars.push('v = f.length');\n if (this.v0) vars.push('v0 = !s[1]');\n if (this.t0 || this.n10 || this.n100) vars.push('t0 = Number(s[0]) == n');\n for (var k in this) {\n if (/^.10+$/.test(k)) {\n var k0 = k[0] === 'n' ? 't0 && s[0]' : k[0];\n vars.push('' + k + ' = ' + k0 + '.slice(-' + k.substr(2).length + ')');\n }\n }if (!vars.length) return '';\n return 'var ' + ['s = String(n).split(\\'.\\')'].concat(vars).join(', ');\n })\n }]);\n\n return Parser;\n})();\n\n\n\nvar MakePlural = (function () {\n function MakePlural(lc) {\n var _ref = arguments[1] === undefined ? MakePlural : arguments[1];\n\n var cardinals = _ref.cardinals;\n var ordinals = _ref.ordinals;\n\n _classCallCheck(this, MakePlural);\n\n if (!cardinals && !ordinals) throw new Error('At least one type of plural is required');\n this.lc = lc;\n this.categories = { cardinal: [], ordinal: [] };\n this.parser = new Parser();\n \n this.fn = this.buildFunction(cardinals, ordinals);\n this.fn._obj = this;\n this.fn.categories = this.categories;\n \n this.fn.toString = this.fnToString.bind(this);\n return this.fn;\n }\n\n _createClass(MakePlural, [{\n key: 'compile',\n value: function compile(type, req) {\n var cases = [];\n var rules = MakePlural.rules[type][this.lc];\n if (!rules) {\n if (req) throw new Error('Locale \"' + this.lc + '\" ' + type + ' rules not found');\n this.categories[type] = ['other'];\n return '\\'other\\'';\n }\n for (var r in rules) {\n var _rules$r$trim$split = rules[r].trim().split(/\\s*@\\w*/);\n\n var _rules$r$trim$split2 = _toArray(_rules$r$trim$split);\n\n var cond = _rules$r$trim$split2[0];\n var examples = _rules$r$trim$split2.slice(1);\n var cat = r.replace('pluralRule-count-', '');\n if (cond) cases.push([this.parser.parse(cond), cat]);\n \n }\n this.categories[type] = cases.map(function (c) {\n return c[1];\n }).concat('other');\n if (cases.length === 1) {\n return '(' + cases[0][0] + ') ? \\'' + cases[0][1] + '\\' : \\'other\\'';\n } else {\n return [].concat(_toConsumableArray(cases.map(function (c) {\n return '(' + c[0] + ') ? \\'' + c[1] + '\\'';\n })), ['\\'other\\'']).join('\\n : ');\n }\n }\n }, {\n key: 'buildFunction',\n value: function buildFunction(cardinals, ordinals) {\n var _this3 = this;\n\n var compile = function compile(c) {\n return c ? (c[1] ? 'return ' : 'if (ord) return ') + _this3.compile.apply(_this3, _toConsumableArray(c)) : '';\n },\n fold = { vars: function vars(str) {\n return (' ' + str + ';').replace(/(.{1,78})(,|$) ?/g, '$1$2\\n ');\n },\n cond: function cond(str) {\n return (' ' + str + ';').replace(/(.{1,78}) (\\|\\| |$) ?/gm, '$1\\n $2');\n } },\n cond = [ordinals && ['ordinal', !cardinals], cardinals && ['cardinal', true]].map(compile).map(fold.cond),\n body = [fold.vars(this.parser.vars())].concat(_toConsumableArray(cond)).join('\\n').replace(/\\s+$/gm, '').replace(/^[\\s;]*[\\r\\n]+/gm, ''),\n args = ordinals && cardinals ? 'n, ord' : 'n';\n return new Function(args, body);\n }\n }, {\n key: 'fnToString',\n value: function fnToString(name) {\n return Function.prototype.toString.call(this.fn).replace(/^function( \\w+)?/, name ? 'function ' + name : 'function').replace('\\n/**/', '');\n }\n }], [{\n key: 'load',\n value: function load() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n args.forEach(function (cldr) {\n var data = cldr && cldr.supplemental || null;\n if (!data) throw new Error('Data does not appear to be CLDR data');\n MakePlural.rules = {\n cardinal: data['plurals-type-cardinal'] || MakePlural.rules.cardinal,\n ordinal: data['plurals-type-ordinal'] || MakePlural.rules.ordinal\n };\n });\n return MakePlural;\n }\n }]);\n\n return MakePlural;\n})();\n\n\n\nMakePlural.cardinals = true;\nMakePlural.ordinals = false;\nMakePlural.rules = { cardinal: {}, ordinal: {} };\n\n\nreturn MakePlural;\n}());\n/* eslint-enable */\n\n\nvar validateParameterTypeNumber = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"number\",\n\t\t\"Number\"\n\t);\n};\n\n\n\n\nvar validateParameterTypePluralType = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || value === \"cardinal\" || value === \"ordinal\",\n\t\t\"String \\\"cardinal\\\" or \\\"ordinal\\\"\"\n\t);\n};\n\n\n\n\nvar pluralGeneratorFn = function( plural ) {\n\treturn function pluralGenerator( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn plural( value );\n\t};\n};\n\n\n\n\n/**\n * .plural( value )\n *\n * @value [Number]\n *\n * Return the corresponding form (zero | one | two | few | many | other) of a\n * value given locale.\n */\nGlobalize.plural =\nGlobalize.prototype.plural = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\treturn this.pluralGenerator( options )( value );\n};\n\n/**\n * .pluralGenerator( [options] )\n *\n * Return a plural function (of the form below).\n *\n * fn( value )\n *\n * @value [Number]\n *\n * Return the corresponding form (zero | one | two | few | many | other) of a value given the\n * default/instance locale.\n */\nGlobalize.pluralGenerator =\nGlobalize.prototype.pluralGenerator = function( options ) {\n\tvar args, cldr, isOrdinal, plural, returnFn, type;\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\tcldr = this.cldr;\n\n\targs = [ options ];\n\ttype = options.type || \"cardinal\";\n\n\tvalidateParameterTypePluralType( options.type, \"options.type\" );\n\n\tvalidateDefaultLocale( cldr );\n\n\tisOrdinal = type === \"ordinal\";\n\n\tcldr.on( \"get\", validateCldr );\n\ttry {\n\t\tcldr.supplemental([ \"plurals-type-\" + type, \"{language}\" ]);\n\t} finally {\n\t\tcldr.off( \"get\", validateCldr );\n\t}\n\n\tMakePlural.rules = {};\n\tMakePlural.rules[ type ] = cldr.supplemental( \"plurals-type-\" + type );\n\n\tplural = new MakePlural( cldr.attributes.language, {\n\t\t\"ordinals\": isOrdinal,\n\t\t\"cardinals\": !isOrdinal\n\t});\n\n\treturnFn = pluralGeneratorFn( plural );\n\n\truntimeBind( args, cldr, returnFn, [ plural ] );\n\n\treturn returnFn;\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"./number\",\n\t\t\t\"./plural\",\n\t\t\t\"cldr/event\",\n\t\t\t\"cldr/supplemental\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar formatMessage = Globalize._formatMessage,\n\truntimeBind = Globalize._runtimeBind,\n\tvalidateCldr = Globalize._validateCldr,\n\tvalidateDefaultLocale = Globalize._validateDefaultLocale,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterTypeString = Globalize._validateParameterTypeString,\n\tvalidateParameterTypeNumber = Globalize._validateParameterTypeNumber;\n\n\n/**\n * format( value, numberFormatter, pluralGenerator, properties )\n *\n * @value [Number] The number to format\n *\n * @numberFormatter [String] A numberFormatter from Globalize.numberFormatter\n *\n * @pluralGenerator [String] A pluralGenerator from Globalize.pluralGenerator\n *\n * @properties [Object] containing relative time plural message.\n *\n * Format relative time.\n */\nvar relativeTimeFormat = function( value, numberFormatter, pluralGenerator, properties ) {\n\n\tvar relativeTime,\n\t\tmessage = properties[ \"relative-type-\" + value ];\n\n\tif ( message ) {\n\t\treturn message;\n\t}\n\n\trelativeTime = value <= 0 ? properties[ \"relativeTime-type-past\" ] :\n\t\tproperties[ \"relativeTime-type-future\" ];\n\n\tvalue = Math.abs( value );\n\n\tmessage = relativeTime[ \"relativeTimePattern-count-\" + pluralGenerator( value ) ];\n\treturn formatMessage( message, [ numberFormatter( value ) ] );\n};\n\n\n\n\nvar relativeTimeFormatterFn = function( numberFormatter, pluralGenerator, properties ) {\n\treturn function relativeTimeFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn relativeTimeFormat( value, numberFormatter, pluralGenerator, properties );\n\t};\n\n};\n\n\n\n\n/**\n * properties( unit, cldr, options )\n *\n * @unit [String] eg. \"day\", \"week\", \"month\", etc.\n *\n * @cldr [Cldr instance].\n *\n * @options [Object]\n * - form: [String] eg. \"short\" or \"narrow\". Or falsy for default long form.\n *\n * Return relative time properties.\n */\nvar relativeTimeProperties = function( unit, cldr, options ) {\n\n\tvar form = options.form,\n\t\traw, properties, key, match;\n\n\tif ( form ) {\n\t\tunit = unit + \"-\" + form;\n\t}\n\n\traw = cldr.main( [ \"dates\", \"fields\", unit ] );\n\tproperties = {\n\t\t\"relativeTime-type-future\": raw[ \"relativeTime-type-future\" ],\n\t\t\"relativeTime-type-past\": raw[ \"relativeTime-type-past\" ]\n\t};\n\tfor ( key in raw ) {\n\t\tif ( raw.hasOwnProperty( key ) ) {\n\t\t\tmatch = /relative-type-(-?[0-9]+)/.exec( key );\n\t\t\tif ( match ) {\n\t\t\t\tproperties[ key ] = raw[ key ];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn properties;\n};\n\n\n\n\n/**\n * .formatRelativeTime( value, unit [, options] )\n *\n * @value [Number] The number of unit to format.\n *\n * @unit [String] see .relativeTimeFormatter() for details.\n *\n * @options [Object] see .relativeTimeFormatter() for details.\n *\n * Formats a relative time according to the given unit, options, and the default/instance locale.\n */\nGlobalize.formatRelativeTime =\nGlobalize.prototype.formatRelativeTime = function( value, unit, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.relativeTimeFormatter( unit, options )( value );\n};\n\n/**\n * .relativeTimeFormatter( unit [, options ])\n *\n * @unit [String] String value indicating the unit to be formatted. eg. \"day\", \"week\", \"month\", etc.\n *\n * @options [Object]\n * - form: [String] eg. \"short\" or \"narrow\". Or falsy for default long form.\n *\n * Returns a function that formats a relative time according to the given unit, options, and the\n * default/instance locale.\n */\nGlobalize.relativeTimeFormatter =\nGlobalize.prototype.relativeTimeFormatter = function( unit, options ) {\n\tvar args, cldr, numberFormatter, pluralGenerator, properties, returnFn;\n\n\tvalidateParameterPresence( unit, \"unit\" );\n\tvalidateParameterTypeString( unit, \"unit\" );\n\n\tcldr = this.cldr;\n\toptions = options || {};\n\n\targs = [ unit, options ];\n\n\tvalidateDefaultLocale( cldr );\n\n\tcldr.on( \"get\", validateCldr );\n\ttry {\n\t\tproperties = relativeTimeProperties( unit, cldr, options );\n\t} finally {\n\t\tcldr.off( \"get\", validateCldr );\n\t}\n\tnumberFormatter = this.numberFormatter( options );\n\tpluralGenerator = this.pluralGenerator();\n\n\treturnFn = relativeTimeFormatterFn( numberFormatter, pluralGenerator, properties );\n\n\truntimeBind( args, cldr, returnFn, [ numberFormatter, pluralGenerator, properties ] );\n\n\treturn returnFn;\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"cldr\",\n\t\t\t\"../globalize\",\n\t\t\t\"./number\",\n\t\t\t\"./plural\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"cldrjs\" ), require( \"../globalize\" ) );\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Cldr, root.Globalize );\n\t}\n}(this, function( Cldr, Globalize ) {\n\nvar formatMessage = Globalize._formatMessage,\n\truntimeBind = Globalize._runtimeBind,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterTypePlainObject = Globalize._validateParameterTypePlainObject,\n\tvalidateParameterTypeNumber = Globalize._validateParameterTypeNumber,\n\tvalidateParameterTypeString = Globalize._validateParameterTypeString;\n\n\n/**\n * format( value, numberFormatter, pluralGenerator, unitProperies )\n *\n * @value [Number]\n *\n * @numberFormatter [Object]: A numberFormatter from Globalize.numberFormatter.\n *\n * @pluralGenerator [Object]: A pluralGenerator from Globalize.pluralGenerator.\n *\n * @unitProperies [Object]: localized unit data from cldr.\n *\n * Format units such as seconds, minutes, days, weeks, etc.\n *\n * OBS:\n *\n * Unit Sequences are not implemented.\n * http://www.unicode.org/reports/tr35/tr35-35/tr35-general.html#Unit_Sequences\n *\n * Duration Unit (for composed time unit durations) is not implemented.\n * http://www.unicode.org/reports/tr35/tr35-35/tr35-general.html#durationUnit\n */\nvar unitFormat = function( value, numberFormatter, pluralGenerator, unitProperties ) {\n\tvar compoundUnitPattern = unitProperties.compoundUnitPattern, dividend, dividendProperties,\n\t\tformattedValue, divisor, divisorProperties, message, pluralValue, oneProperty;\n\n\tunitProperties = unitProperties.unitProperties;\n\tformattedValue = numberFormatter( value );\n\tpluralValue = pluralGenerator( value );\n\n\t// computed compound unit, eg. \"megabyte-per-second\".\n\tif ( unitProperties instanceof Array ) {\n\t\tdividendProperties = unitProperties[ 0 ];\n\t\tdivisorProperties = unitProperties[ 1 ];\n\t\toneProperty = divisorProperties.hasOwnProperty( \"one\" ) ? \"one\" : \"other\";\n\n\t\tdividend = formatMessage( dividendProperties[ pluralValue ], [ formattedValue ] );\n\t\tdivisor = formatMessage( divisorProperties[ oneProperty ], [ \"\" ] ).trim();\n\n\t\treturn formatMessage( compoundUnitPattern, [ dividend, divisor ] );\n\t}\n\n\tmessage = unitProperties[ pluralValue ];\n\n\treturn formatMessage( message, [ formattedValue ] );\n};\n\n\n\n\nvar unitFormatterFn = function( numberFormatter, pluralGenerator, unitProperties ) {\n\treturn function unitFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn unitFormat( value, numberFormatter, pluralGenerator, unitProperties );\n\t};\n\n};\n\n\n\n\n/**\n * categories()\n *\n * Return all unit categories.\n */\nvar unitCategories = [ \"acceleration\", \"angle\", \"area\", \"digital\", \"duration\", \"length\", \"mass\", \"power\",\n\"pressure\", \"speed\", \"temperature\", \"volume\" ];\n\n\n\n\nfunction stripPluralGarbage( data ) {\n\tvar aux, pluralCount;\n\n\tif ( data ) {\n\t\taux = {};\n\t\tfor ( pluralCount in data ) {\n\t\t\taux[ pluralCount.replace( /unitPattern-count-/, \"\" ) ] = data[ pluralCount ];\n\t\t}\n\t}\n\n\treturn aux;\n}\n\n/**\n * get( unit, form, cldr )\n *\n * @unit [String] The full type-unit name (eg. duration-second), or the short unit name\n * (eg. second).\n *\n * @form [String] A string describing the form of the unit representation (eg. long,\n * short, narrow).\n *\n * @cldr [Cldr instance].\n *\n * Return the plural map of a unit, eg: \"second\"\n * { \"one\": \"{0} second\",\n * \"other\": \"{0} seconds\" }\n * }\n *\n * Or the Array of plural maps of a compound-unit, eg: \"foot-per-second\"\n * [ { \"one\": \"{0} foot\",\n * \"other\": \"{0} feet\" },\n * { \"one\": \"{0} second\",\n * \"other\": \"{0} seconds\" } ]\n *\n * Uses the precomputed form of a compound-unit if available, eg: \"mile-per-hour\"\n * { \"displayName\": \"miles per hour\",\n * \"unitPattern-count-one\": \"{0} mile per hour\",\n * \"unitPattern-count-other\": \"{0} miles per hour\"\n * },\n *\n * Also supports \"/\" instead of \"-per-\", eg. \"foot/second\", using the precomputed form if\n * available.\n *\n * Or the Array of plural maps of a compound-unit, eg: \"foot-per-second\"\n * [ { \"one\": \"{0} foot\",\n * \"other\": \"{0} feet\" },\n * { \"one\": \"{0} second\",\n * \"other\": \"{0} seconds\" } ]\n *\n * Or undefined in case the unit (or a unit of the compound-unit) doesn't exist.\n */\nvar get = function( unit, form, cldr ) {\n\tvar ret;\n\n\t// Ensure that we get the 'precomputed' form, if present.\n\tunit = unit.replace( /\\//, \"-per-\" );\n\n\t// Get unit or <category>-unit (eg. \"duration-second\").\n\t[ \"\" ].concat( unitCategories ).some(function( category ) {\n\t\treturn ret = cldr.main([\n\t\t\t\"units\",\n\t\t\tform,\n\t\t\tcategory.length ? category + \"-\" + unit : unit\n\t\t]);\n\t});\n\n\t// Rename keys s/unitPattern-count-//g.\n\tret = stripPluralGarbage( ret );\n\n\t// Compound Unit, eg. \"foot-per-second\" or \"foot/second\".\n\tif ( !ret && ( /-per-/ ).test( unit ) ) {\n\n\t\t// \"Some units already have 'precomputed' forms, such as kilometer-per-hour;\n\t\t// where such units exist, they should be used in preference\" UTS#35.\n\t\t// Note that precomputed form has already been handled above (!ret).\n\n\t\t// Get both recursively.\n\t\tunit = unit.split( \"-per-\" );\n\t\tret = unit.map(function( unit ) {\n\t\t\treturn get( unit, form, cldr );\n\t\t});\n\t\tif ( !ret[ 0 ] || !ret[ 1 ] ) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\treturn ret;\n};\n\nvar unitGet = get;\n\n\n\n\n/**\n * properties( unit, form, cldr )\n *\n * @unit [String] The full type-unit name (eg. duration-second), or the short unit name\n * (eg. second).\n *\n * @form [String] A string describing the form of the unit representation (eg. long,\n * short, narrow).\n *\n * @cldr [Cldr instance].\n */\nvar unitProperties = function( unit, form, cldr ) {\n\tvar compoundUnitPattern, unitProperties;\n\n\tcompoundUnitPattern = cldr.main( [ \"units\", form, \"per/compoundUnitPattern\" ] );\n\tunitProperties = unitGet( unit, form, cldr );\n\n\treturn {\n\t\tcompoundUnitPattern: compoundUnitPattern,\n\t\tunitProperties: unitProperties\n\t};\n};\n\n\n\n\n/**\n * Globalize.formatUnit( value, unit, options )\n *\n * @value [Number]\n *\n * @unit [String]: The unit (e.g \"second\", \"day\", \"year\")\n *\n * @options [Object]\n * - form: [String] \"long\", \"short\" (default), or \"narrow\".\n *\n * Format units such as seconds, minutes, days, weeks, etc.\n */\nGlobalize.formatUnit =\nGlobalize.prototype.formatUnit = function( value, unit, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.unitFormatter( unit, options )( value );\n};\n\n/**\n * Globalize.unitFormatter( unit, options )\n *\n * @unit [String]: The unit (e.g \"second\", \"day\", \"year\")\n *\n * @options [Object]\n * - form: [String] \"long\", \"short\" (default), or \"narrow\".\n *\n * - numberFormatter: [Function] a number formatter function. Defaults to Globalize\n * `.numberFormatter()` for the current locale using the default options.\n */\nGlobalize.unitFormatter =\nGlobalize.prototype.unitFormatter = function( unit, options ) {\n\tvar args, form, numberFormatter, pluralGenerator, returnFn, properties;\n\n\tvalidateParameterPresence( unit, \"unit\" );\n\tvalidateParameterTypeString( unit, \"unit\" );\n\n\tvalidateParameterTypePlainObject( options, \"options\" );\n\n\toptions = options || {};\n\n\targs = [ unit, options ];\n\tform = options.form || \"long\";\n\tproperties = unitProperties( unit, form, this.cldr );\n\n\tnumberFormatter = options.numberFormatter || this.numberFormatter();\n\tpluralGenerator = this.pluralGenerator();\n\treturnFn = unitFormatterFn( numberFormatter, pluralGenerator, properties );\n\n\truntimeBind( args, this.cldr, returnFn, [ numberFormatter, pluralGenerator, properties ] );\n\n\treturn returnFn;\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar e,t,n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};!function(e){e.OBJECT=\"object\",e.STRING=\"string\"}(e||(e={})),function(e){e.DEBUG=\"debug\",e.INFO=\"info\",e.WARN=\"warn\",e.ERROR=\"error\",e.FATAL=\"fatal\",e.OFF=\"off\"}(t||(t={}));var r=t.WARN,o=function(e,n){var o=[t.DEBUG,t.INFO,t.WARN,t.ERROR,t.FATAL,t.OFF];o.indexOf(n)>=o.indexOf(r)&&console.log(\"|html-screen-capture-js|\"+n+\"| \"+e)},a=function(){return r===t.DEBUG},s=function(e){void 0===e&&(e=t.WARN),r=e},c=function(e){o(e,t.DEBUG)},i=function(e){o(e,t.INFO)},l=function(e){o(e,t.WARN)},u=function(e){o(e,t.ERROR)},d=function(e){var t,n,r,o,a,s,c,i=\"\",l=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",u=0;for(e=function(e){for(var t=e.replace(/\\r\\n/g,\"\\n\"),n=\"\",r=0;r<t.length;r++){var o=t.charCodeAt(r);o<128?n+=String.fromCharCode(o):o>127&&o<2048?(n+=String.fromCharCode(o>>6|192),n+=String.fromCharCode(63&o|128)):(n+=String.fromCharCode(o>>12|224),n+=String.fromCharCode(o>>6&63|128),n+=String.fromCharCode(63&o|128))}return n}(e);u<e.length;)o=(t=e.charCodeAt(u++))>>2,a=(3&t)<<4|(n=e.charCodeAt(u++))>>4,s=(15&n)<<2|(r=e.charCodeAt(u++))>>6,c=63&r,isNaN(n)?s=c=64:isNaN(r)&&(c=64),i=i+l.charAt(o)+l.charAt(a)+l.charAt(s)+l.charAt(c);return i},f=function(e){var t=e.className,n=\"[object SVGAnimatedString]\"===t.toString()?t.baseVal:t;return\"string\"==typeof n?n:\"\"},g=function(e,t,n){(function(e){var t=f(e);return(t?t.split(\" \"):[]).reduce((function(e,t){return t&&e.push(t),e}),[])})(n).length>0&&(n.setAttribute(e.options.attrKeyForSavingElementOrigClass,f(n)),n.removeAttribute(\"class\")),n.getAttribute(\"style\")&&(n.setAttribute(e.options.attrKeyForSavingElementOrigStyle,n.getAttribute(\"style\")||\"\"),n.removeAttribute(\"style\"));var r=function(){for(var n=\"\".concat(e.options.prefixForNewGeneratedClasses,\"0 \"),r=getComputedStyle(t),o=0;o<r.length;o++){var a=r.item(o),s=r.getPropertyValue(a);if(s!==e.baseClass.get(a)){var c=a+\":\"+s,i=e.classMap.get(c)||\"\";i||(e.classCount++,i=\"\".concat(e.options.prefixForNewGeneratedClasses).concat(e.classCount),e.classMap.set(c,i)),n+=i+\" \"}}return n}();r+=function(){for(var n=\"\",r=0,o=[\"::before\",\"::after\"];r<o.length;r++){var a=o[r],s=getComputedStyle(t,a);if(![\"none\",\"normal\"].includes(s.content)){e.pseudoClassCount++;var c=\"\".concat(e.options.prefixForNewGeneratedPseudoClasses).concat(e.pseudoClassCount);n+=c+\" \",e.pseudoStyles.push(\".\".concat(c).concat(a,\"{\"));for(var i=0;i<s.length;i++){var l=s.item(i),u=s.getPropertyValue(l);e.pseudoStyles.push(\"\".concat(l,\":\").concat(u,\";\"))}e.pseudoStyles.push(\"}\")}}return n}(),n.setAttribute(\"class\",r.trim())},p=function(e,t){var n=\"\";try{e.canvas||(e.canvas=e.doc.createElement(\"canvas\")),e.canvas.width=t instanceof HTMLImageElement?t.naturalWidth:t.offsetWidth,e.canvas.height=t instanceof HTMLImageElement?t.naturalHeight:t.offsetHeight;var r=e.canvas.getContext(\"2d\");r&&r.drawImage(t,0,0),n=e.canvas.toDataURL(e.options.imageFormatForDataUrl,e.options.imageQualityForDataUrl)}catch(e){l(\"getCanvasDataUrl() - \".concat(e.message))}return n},m=function(e,t){if(e.ignoredElms.includes(t))return!0;var n=Object.entries(e.options.computedStyleKeyValuePairsOfIgnoredElements);if(e.isBody&&n.length>0)for(var r=getComputedStyle(t),o=0,a=n;o<a.length;o++){var s=a[o],c=s[0],i=s[1];if(r.getPropertyValue(c)===i)return!0}return!1},h=function(e,t,n,r){if(e.isBody&&(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement?function(e,t){t.setAttribute(\"value\",e.value);var n=e.getAttribute(\"type\");if(e instanceof HTMLInputElement&&(\"checkbox\"===n||\"radio\"===n))e.checked?t.setAttribute(\"checked\",\"checked\"):t.removeAttribute(\"checked\");else if(e instanceof HTMLTextAreaElement&&e.value)t.innerText=e.value;else if(e instanceof HTMLSelectElement&&e.value&&e.children)for(var r=e.children.length-1;r>=0;r--)e.children[r].getAttribute(\"value\")===e.value?t.children[r].setAttribute(\"selected\",\"\"):t.children[r].removeAttribute(\"selected\")}(t,n):t instanceof HTMLImageElement?function(e,t,n){if(e.shouldHandleImgDataUrl){var r=p(e,t);r&&n.setAttribute(\"src\",r)}}(e,t,n):t instanceof HTMLCanvasElement&&function(e,t,n){var r=p(e,t);r&&n.setAttribute(\"src\",r),n.outerHTML=n.outerHTML.replace(/<canvas/g,\"<img\")}(e,t,n)),r&&(g(e,t,n),e.options.tagsOfSkippedElementsForChildTreeCssHandling.includes(t.tagName.toLowerCase())&&(r=!1)),t.children)for(var o=t.children.length-1;o>=0;o--)m(e,t.children[o])?n.removeChild(n.children[o]):h(e,t.children[o],n.children[o],r)},v=function(e){e.ignoredElms=function(e){if(!e.options.cssSelectorsOfIgnoredElements||!e.options.cssSelectorsOfIgnoredElements.length)return[];var t=[];return e.options.cssSelectorsOfIgnoredElements.forEach((function(n){e.doc.documentElement.querySelectorAll(n).forEach((function(e){t.push(e)}))})),t}(e);var t=function(){var t=e.doc.documentElement.cloneNode(!1);return g(e,e.doc.documentElement,t),t}();return function(t){var n=e.doc.head.cloneNode(!0);e.isBody=!1,h(e,e.doc.head,n,!1),t.appendChild(n)}(t),function(t){!function(e){var t=e.doc.createElement(\"div\");t.style.display=\"none\",e.doc.body.appendChild(t);for(var n=getComputedStyle(t),r=0;r<n.length;r++){var o=n.item(r),a=n.getPropertyValue(o);e.baseClass.set(o,a)}e.baseClass.set(\"display\",\"block\"),t.parentNode&&t.parentNode.removeChild(t)}(e);var n=e.doc.body.cloneNode(!0);e.isBody=!0,h(e,e.doc.body,n,!0),t.appendChild(n)}(t),function(t){var n=e.doc.createElement(\"style\"),r=\".\".concat(e.options.prefixForNewGeneratedClasses,\"0{\");e.baseClass.forEach((function(e,t){r+=\"\".concat(t,\":\").concat(e,\";\")})),r+=\"}\",e.classMap.forEach((function(e,t){r+=\".\".concat(e,\"{\").concat(t,\"}\")})),r+=e.pseudoStyles.join(\"\"),r+=e.options.rulesToAddToDocStyle.join(\"\"),n.appendChild(e.doc.createTextNode(r)),t.children[0].appendChild(n)}(t),t},C=function(t,n){var r,o=null;if(n===e.OBJECT)o=t;else{var s=(t?t.outerHTML:\"\")||\"\";s&&(n===e.STRING?o=s:\"uri\"===n?o=((r=s)?encodeURI(r):\"\")||\"\":\"base64\"===n&&(o=d(s))),o=o||\"\"}return a()&&c(\"output: \".concat(o instanceof HTMLElement?o.outerHTML:o)),o},y=function(r,o,a){return function(r,o,a){var c=(new Date).getTime(),l=null,d={isBody:!1,baseClass:new Map,classMap:new Map,classCount:0,pseudoStyles:[],pseudoClassCount:0,shouldHandleImgDataUrl:!0,canvas:null,doc:o||document,ignoredElms:[],options:n({rulesToAddToDocStyle:[],cssSelectorsOfIgnoredElements:[\"script\",\"link\",\"style\"],computedStyleKeyValuePairsOfIgnoredElements:{display:\"none\"},tagsOfSkippedElementsForChildTreeCssHandling:[\"svg\"],attrKeyForSavingElementOrigClass:\"_class\",attrKeyForSavingElementOrigStyle:\"_style\",prefixForNewGeneratedClasses:\"c\",prefixForNewGeneratedPseudoClasses:\"p\",imageFormatForDataUrl:\"image/png\",imageQualityForDataUrl:.92,logLevel:t.WARN},a||{})};try{s(d.options.logLevel);var f=v(d);l=C(f,r||e.OBJECT)}catch(e){u(\"goCapture() - error - \".concat(e.message))}finally{i(\"goCapture() - end - \".concat((new Date).getTime()-c,\"ms\"))}return l}(r,o,a)};export{t as LogLevel,e as OutputType,y as capture};\n//# sourceMappingURL=html-screen-capture.esm.js.map\n","/*\n * International Telephone Input v14.1.0\n * https://github.com/jackocnr/intl-tel-input.git\n * Licensed under the MIT license\n */\n\n// wrap in UMD\n(function(factory) {\n var intlTelInput = factory(window, document);\n if (typeof module === \"object\" && module.exports) module.exports = intlTelInput; else window.intlTelInput = intlTelInput;\n})(function(window, document, undefined) {\n \"use strict\";\n return function() {\n // Array of country objects for the flag dropdown.\n // Here is the criteria for the plugin to support a given country/territory\n // - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n // - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n // - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n // - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n // Each country array has the following information:\n // [\n // Country name,\n // iso2 code,\n // International dial code,\n // Order (if >1 country with same dial code),\n // Area codes\n // ]\n var allCountries = [ [ \"Afghanistan (‫افغانستان‬‎)\", \"af\", \"93\" ], [ \"Albania (Shqipëri)\", \"al\", \"355\" ], [ \"Algeria (‫الجزائر‬‎)\", \"dz\", \"213\" ], [ \"American Samoa\", \"as\", \"1684\" ], [ \"Andorra\", \"ad\", \"376\" ], [ \"Angola\", \"ao\", \"244\" ], [ \"Anguilla\", \"ai\", \"1264\" ], [ \"Antigua and Barbuda\", \"ag\", \"1268\" ], [ \"Argentina\", \"ar\", \"54\" ], [ \"Armenia (Հայաստան)\", \"am\", \"374\" ], [ \"Aruba\", \"aw\", \"297\" ], [ \"Australia\", \"au\", \"61\", 0 ], [ \"Austria (Österreich)\", \"at\", \"43\" ], [ \"Azerbaijan (Azərbaycan)\", \"az\", \"994\" ], [ \"Bahamas\", \"bs\", \"1242\" ], [ \"Bahrain (‫البحرين‬‎)\", \"bh\", \"973\" ], [ \"Bangladesh (বাংলাদেশ)\", \"bd\", \"880\" ], [ \"Barbados\", \"bb\", \"1246\" ], [ \"Belarus (Беларусь)\", \"by\", \"375\" ], [ \"Belgium (België)\", \"be\", \"32\" ], [ \"Belize\", \"bz\", \"501\" ], [ \"Benin (Bénin)\", \"bj\", \"229\" ], [ \"Bermuda\", \"bm\", \"1441\" ], [ \"Bhutan (འབྲུག)\", \"bt\", \"975\" ], [ \"Bolivia\", \"bo\", \"591\" ], [ \"Bosnia and Herzegovina (Босна и Херцеговина)\", \"ba\", \"387\" ], [ \"Botswana\", \"bw\", \"267\" ], [ \"Brazil (Brasil)\", \"br\", \"55\" ], [ \"British Indian Ocean Territory\", \"io\", \"246\" ], [ \"British Virgin Islands\", \"vg\", \"1284\" ], [ \"Brunei\", \"bn\", \"673\" ], [ \"Bulgaria (България)\", \"bg\", \"359\" ], [ \"Burkina Faso\", \"bf\", \"226\" ], [ \"Burundi (Uburundi)\", \"bi\", \"257\" ], [ \"Cambodia (កម្ពុជា)\", \"kh\", \"855\" ], [ \"Cameroon (Cameroun)\", \"cm\", \"237\" ], [ \"Canada\", \"ca\", \"1\", 1, [ \"204\", \"226\", \"236\", \"249\", \"250\", \"289\", \"306\", \"343\", \"365\", \"387\", \"403\", \"416\", \"418\", \"431\", \"437\", \"438\", \"450\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"705\", \"709\", \"742\", \"778\", \"780\", \"782\", \"807\", \"819\", \"825\", \"867\", \"873\", \"902\", \"905\" ] ], [ \"Cape Verde (Kabu Verdi)\", \"cv\", \"238\" ], [ \"Caribbean Netherlands\", \"bq\", \"599\", 1 ], [ \"Cayman Islands\", \"ky\", \"1345\" ], [ \"Central African Republic (République centrafricaine)\", \"cf\", \"236\" ], [ \"Chad (Tchad)\", \"td\", \"235\" ], [ \"Chile\", \"cl\", \"56\" ], [ \"China (中国)\", \"cn\", \"86\" ], [ \"Christmas Island\", \"cx\", \"61\", 2 ], [ \"Cocos (Keeling) Islands\", \"cc\", \"61\", 1 ], [ \"Colombia\", \"co\", \"57\" ], [ \"Comoros (‫جزر القمر‬‎)\", \"km\", \"269\" ], [ \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\", \"cd\", \"243\" ], [ \"Congo (Republic) (Congo-Brazzaville)\", \"cg\", \"242\" ], [ \"Cook Islands\", \"ck\", \"682\" ], [ \"Costa Rica\", \"cr\", \"506\" ], [ \"Côte d’Ivoire\", \"ci\", \"225\" ], [ \"Croatia (Hrvatska)\", \"hr\", \"385\" ], [ \"Cuba\", \"cu\", \"53\" ], [ \"Curaçao\", \"cw\", \"599\", 0 ], [ \"Cyprus (Κύπρος)\", \"cy\", \"357\" ], [ \"Czech Republic (Česká republika)\", \"cz\", \"420\" ], [ \"Denmark (Danmark)\", \"dk\", \"45\" ], [ \"Djibouti\", \"dj\", \"253\" ], [ \"Dominica\", \"dm\", \"1767\" ], [ \"Dominican Republic (República Dominicana)\", \"do\", \"1\", 2, [ \"809\", \"829\", \"849\" ] ], [ \"Ecuador\", \"ec\", \"593\" ], [ \"Egypt (‫مصر‬‎)\", \"eg\", \"20\" ], [ \"El Salvador\", \"sv\", \"503\" ], [ \"Equatorial Guinea (Guinea Ecuatorial)\", \"gq\", \"240\" ], [ \"Eritrea\", \"er\", \"291\" ], [ \"Estonia (Eesti)\", \"ee\", \"372\" ], [ \"Ethiopia\", \"et\", \"251\" ], [ \"Falkland Islands (Islas Malvinas)\", \"fk\", \"500\" ], [ \"Faroe Islands (Føroyar)\", \"fo\", \"298\" ], [ \"Fiji\", \"fj\", \"679\" ], [ \"Finland (Suomi)\", \"fi\", \"358\", 0 ], [ \"France\", \"fr\", \"33\" ], [ \"French Guiana (Guyane française)\", \"gf\", \"594\" ], [ \"French Polynesia (Polynésie française)\", \"pf\", \"689\" ], [ \"Gabon\", \"ga\", \"241\" ], [ \"Gambia\", \"gm\", \"220\" ], [ \"Georgia (საქართველო)\", \"ge\", \"995\" ], [ \"Germany (Deutschland)\", \"de\", \"49\" ], [ \"Ghana (Gaana)\", \"gh\", \"233\" ], [ \"Gibraltar\", \"gi\", \"350\" ], [ \"Greece (Ελλάδα)\", \"gr\", \"30\" ], [ \"Greenland (Kalaallit Nunaat)\", \"gl\", \"299\" ], [ \"Grenada\", \"gd\", \"1473\" ], [ \"Guadeloupe\", \"gp\", \"590\", 0 ], [ \"Guam\", \"gu\", \"1671\" ], [ \"Guatemala\", \"gt\", \"502\" ], [ \"Guernsey\", \"gg\", \"44\", 1 ], [ \"Guinea (Guinée)\", \"gn\", \"224\" ], [ \"Guinea-Bissau (Guiné Bissau)\", \"gw\", \"245\" ], [ \"Guyana\", \"gy\", \"592\" ], [ \"Haiti\", \"ht\", \"509\" ], [ \"Honduras\", \"hn\", \"504\" ], [ \"Hong Kong (香港)\", \"hk\", \"852\" ], [ \"Hungary (Magyarország)\", \"hu\", \"36\" ], [ \"Iceland (Ísland)\", \"is\", \"354\" ], [ \"India (भारत)\", \"in\", \"91\" ], [ \"Indonesia\", \"id\", \"62\" ], [ \"Iran (‫ایران‬‎)\", \"ir\", \"98\" ], [ \"Iraq (‫العراق‬‎)\", \"iq\", \"964\" ], [ \"Ireland\", \"ie\", \"353\" ], [ \"Isle of Man\", \"im\", \"44\", 2 ], [ \"Israel (‫ישראל‬‎)\", \"il\", \"972\" ], [ \"Italy (Italia)\", \"it\", \"39\", 0 ], [ \"Jamaica\", \"jm\", \"1\", 4, [ \"876\", \"658\" ] ], [ \"Japan (日本)\", \"jp\", \"81\" ], [ \"Jersey\", \"je\", \"44\", 3 ], [ \"Jordan (‫الأردن‬‎)\", \"jo\", \"962\" ], [ \"Kazakhstan (Казахстан)\", \"kz\", \"7\", 1 ], [ \"Kenya\", \"ke\", \"254\" ], [ \"Kiribati\", \"ki\", \"686\" ], [ \"Kosovo\", \"xk\", \"383\" ], [ \"Kuwait (‫الكويت‬‎)\", \"kw\", \"965\" ], [ \"Kyrgyzstan (Кыргызстан)\", \"kg\", \"996\" ], [ \"Laos (ລາວ)\", \"la\", \"856\" ], [ \"Latvia (Latvija)\", \"lv\", \"371\" ], [ \"Lebanon (‫لبنان‬‎)\", \"lb\", \"961\" ], [ \"Lesotho\", \"ls\", \"266\" ], [ \"Liberia\", \"lr\", \"231\" ], [ \"Libya (‫ليبيا‬‎)\", \"ly\", \"218\" ], [ \"Liechtenstein\", \"li\", \"423\" ], [ \"Lithuania (Lietuva)\", \"lt\", \"370\" ], [ \"Luxembourg\", \"lu\", \"352\" ], [ \"Macau (澳門)\", \"mo\", \"853\" ], [ \"Macedonia (FYROM) (Македонија)\", \"mk\", \"389\" ], [ \"Madagascar (Madagasikara)\", \"mg\", \"261\" ], [ \"Malawi\", \"mw\", \"265\" ], [ \"Malaysia\", \"my\", \"60\" ], [ \"Maldives\", \"mv\", \"960\" ], [ \"Mali\", \"ml\", \"223\" ], [ \"Malta\", \"mt\", \"356\" ], [ \"Marshall Islands\", \"mh\", \"692\" ], [ \"Martinique\", \"mq\", \"596\" ], [ \"Mauritania (‫موريتانيا‬‎)\", \"mr\", \"222\" ], [ \"Mauritius (Moris)\", \"mu\", \"230\" ], [ \"Mayotte\", \"yt\", \"262\", 1 ], [ \"Mexico (México)\", \"mx\", \"52\" ], [ \"Micronesia\", \"fm\", \"691\" ], [ \"Moldova (Republica Moldova)\", \"md\", \"373\" ], [ \"Monaco\", \"mc\", \"377\" ], [ \"Mongolia (Монгол)\", \"mn\", \"976\" ], [ \"Montenegro (Crna Gora)\", \"me\", \"382\" ], [ \"Montserrat\", \"ms\", \"1664\" ], [ \"Morocco (‫المغرب‬‎)\", \"ma\", \"212\", 0 ], [ \"Mozambique (Moçambique)\", \"mz\", \"258\" ], [ \"Myanmar (Burma) (မြန်မာ)\", \"mm\", \"95\" ], [ \"Namibia (Namibië)\", \"na\", \"264\" ], [ \"Nauru\", \"nr\", \"674\" ], [ \"Nepal (नेपाल)\", \"np\", \"977\" ], [ \"Netherlands (Nederland)\", \"nl\", \"31\" ], [ \"New Caledonia (Nouvelle-Calédonie)\", \"nc\", \"687\" ], [ \"New Zealand\", \"nz\", \"64\" ], [ \"Nicaragua\", \"ni\", \"505\" ], [ \"Niger (Nijar)\", \"ne\", \"227\" ], [ \"Nigeria\", \"ng\", \"234\" ], [ \"Niue\", \"nu\", \"683\" ], [ \"Norfolk Island\", \"nf\", \"672\" ], [ \"North Korea (조선 민주주의 인민 공화국)\", \"kp\", \"850\" ], [ \"Northern Mariana Islands\", \"mp\", \"1670\" ], [ \"Norway (Norge)\", \"no\", \"47\", 0 ], [ \"Oman (‫عُمان‬‎)\", \"om\", \"968\" ], [ \"Pakistan (‫پاکستان‬‎)\", \"pk\", \"92\" ], [ \"Palau\", \"pw\", \"680\" ], [ \"Palestine (‫فلسطين‬‎)\", \"ps\", \"970\" ], [ \"Panama (Panamá)\", \"pa\", \"507\" ], [ \"Papua New Guinea\", \"pg\", \"675\" ], [ \"Paraguay\", \"py\", \"595\" ], [ \"Peru (Perú)\", \"pe\", \"51\" ], [ \"Philippines\", \"ph\", \"63\" ], [ \"Poland (Polska)\", \"pl\", \"48\" ], [ \"Portugal\", \"pt\", \"351\" ], [ \"Puerto Rico\", \"pr\", \"1\", 3, [ \"787\", \"939\" ] ], [ \"Qatar (‫قطر‬‎)\", \"qa\", \"974\" ], [ \"Réunion (La Réunion)\", \"re\", \"262\", 0 ], [ \"Romania (România)\", \"ro\", \"40\" ], [ \"Russia (Россия)\", \"ru\", \"7\", 0 ], [ \"Rwanda\", \"rw\", \"250\" ], [ \"Saint Barthélemy\", \"bl\", \"590\", 1 ], [ \"Saint Helena\", \"sh\", \"290\" ], [ \"Saint Kitts and Nevis\", \"kn\", \"1869\" ], [ \"Saint Lucia\", \"lc\", \"1758\" ], [ \"Saint Martin (Saint-Martin (partie française))\", \"mf\", \"590\", 2 ], [ \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\", \"pm\", \"508\" ], [ \"Saint Vincent and the Grenadines\", \"vc\", \"1784\" ], [ \"Samoa\", \"ws\", \"685\" ], [ \"San Marino\", \"sm\", \"378\" ], [ \"São Tomé and Príncipe (São Tomé e Príncipe)\", \"st\", \"239\" ], [ \"Saudi Arabia (‫المملكة العربية السعودية‬‎)\", \"sa\", \"966\" ], [ \"Senegal (Sénégal)\", \"sn\", \"221\" ], [ \"Serbia (Србија)\", \"rs\", \"381\" ], [ \"Seychelles\", \"sc\", \"248\" ], [ \"Sierra Leone\", \"sl\", \"232\" ], [ \"Singapore\", \"sg\", \"65\" ], [ \"Sint Maarten\", \"sx\", \"1721\" ], [ \"Slovakia (Slovensko)\", \"sk\", \"421\" ], [ \"Slovenia (Slovenija)\", \"si\", \"386\" ], [ \"Solomon Islands\", \"sb\", \"677\" ], [ \"Somalia (Soomaaliya)\", \"so\", \"252\" ], [ \"South Africa\", \"za\", \"27\" ], [ \"South Korea (대한민국)\", \"kr\", \"82\" ], [ \"South Sudan (‫جنوب السودان‬‎)\", \"ss\", \"211\" ], [ \"Spain (España)\", \"es\", \"34\" ], [ \"Sri Lanka (ශ්‍රී ලංකාව)\", \"lk\", \"94\" ], [ \"Sudan (‫السودان‬‎)\", \"sd\", \"249\" ], [ \"Suriname\", \"sr\", \"597\" ], [ \"Svalbard and Jan Mayen\", \"sj\", \"47\", 1 ], [ \"Swaziland\", \"sz\", \"268\" ], [ \"Sweden (Sverige)\", \"se\", \"46\" ], [ \"Switzerland (Schweiz)\", \"ch\", \"41\" ], [ \"Syria (‫سوريا‬‎)\", \"sy\", \"963\" ], [ \"Taiwan (台灣)\", \"tw\", \"886\" ], [ \"Tajikistan\", \"tj\", \"992\" ], [ \"Tanzania\", \"tz\", \"255\" ], [ \"Thailand (ไทย)\", \"th\", \"66\" ], [ \"Timor-Leste\", \"tl\", \"670\" ], [ \"Togo\", \"tg\", \"228\" ], [ \"Tokelau\", \"tk\", \"690\" ], [ \"Tonga\", \"to\", \"676\" ], [ \"Trinidad and Tobago\", \"tt\", \"1868\" ], [ \"Tunisia (‫تونس‬‎)\", \"tn\", \"216\" ], [ \"Turkey (Türkiye)\", \"tr\", \"90\" ], [ \"Turkmenistan\", \"tm\", \"993\" ], [ \"Turks and Caicos Islands\", \"tc\", \"1649\" ], [ \"Tuvalu\", \"tv\", \"688\" ], [ \"U.S. Virgin Islands\", \"vi\", \"1340\" ], [ \"Uganda\", \"ug\", \"256\" ], [ \"Ukraine (Україна)\", \"ua\", \"380\" ], [ \"United Arab Emirates (‫الإمارات العربية المتحدة‬‎)\", \"ae\", \"971\" ], [ \"United Kingdom\", \"gb\", \"44\", 0 ], [ \"United States\", \"us\", \"1\", 0 ], [ \"Uruguay\", \"uy\", \"598\" ], [ \"Uzbekistan (Oʻzbekiston)\", \"uz\", \"998\" ], [ \"Vanuatu\", \"vu\", \"678\" ], [ \"Vatican City (Città del Vaticano)\", \"va\", \"39\", 1 ], [ \"Venezuela\", \"ve\", \"58\" ], [ \"Vietnam (Việt Nam)\", \"vn\", \"84\" ], [ \"Wallis and Futuna (Wallis-et-Futuna)\", \"wf\", \"681\" ], [ \"Western Sahara (‫الصحراء الغربية‬‎)\", \"eh\", \"212\", 1 ], [ \"Yemen (‫اليمن‬‎)\", \"ye\", \"967\" ], [ \"Zambia\", \"zm\", \"260\" ], [ \"Zimbabwe\", \"zw\", \"263\" ], [ \"Åland Islands\", \"ax\", \"358\", 1 ] ];\n // loop over all of the countries above, restructuring the data to be objects with named keys\n for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n }\n \"use strict\";\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n window.intlTelInputGlobals = {\n getInstance: function getInstance(input) {\n var id = input.getAttribute(\"data-intl-tel-input-id\");\n return window.intlTelInputGlobals.instances[id];\n },\n instances: {}\n };\n // these vars persist through all instances of the plugin\n var id = 0;\n var defaults = {\n // whether or not to allow the dropdown\n allowDropdown: true,\n // if there is just a dial code in the input: remove it on blur, and re-add it on focus\n autoHideDialCode: true,\n // add a placeholder in the input with an example number for the selected country\n autoPlaceholder: \"polite\",\n // modify the parentClass\n customContainer: \"\",\n // modify the auto placeholder\n customPlaceholder: null,\n // append menu to specified element\n dropdownContainer: null,\n // don't display these countries\n excludeCountries: [],\n // format the input value during initialisation and on setNumber\n formatOnDisplay: true,\n // geoIp lookup function\n geoIpLookup: null,\n // inject a hidden input with this name, and on submit, populate it with the result of getNumber\n hiddenInput: \"\",\n // initial country\n initialCountry: \"\",\n // localized country names e.g. { 'de': 'Deutschland' }\n localizedCountries: null,\n // don't insert international dial codes\n nationalMode: true,\n // display only these countries\n onlyCountries: [],\n // number type to use for placeholders\n placeholderNumberType: \"MOBILE\",\n // the countries at the top of the list. defaults to united states and united kingdom\n preferredCountries: [ \"us\", \"gb\" ],\n // display the country dial code next to the selected flag so it's not part of the typed number\n separateDialCode: false,\n // specify the path to the libphonenumber script to enable validation/formatting\n utilsScript: \"\"\n };\n // https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes\n var regionlessNanpNumbers = [ \"800\", \"822\", \"833\", \"844\", \"855\", \"866\", \"877\", \"880\", \"881\", \"882\", \"883\", \"884\", \"885\", \"886\", \"887\", \"888\", \"889\" ];\n // keep track of if the window.load event has fired as impossible to check after the fact\n window.addEventListener(\"load\", function() {\n // UPDATE: use a public static field so we can fudge it in the tests\n window.intlTelInputGlobals.windowLoaded = true;\n });\n // utility function to iterate over an object. can't use Object.entries or native forEach because\n // of IE11\n var forEachProp = function forEachProp(obj, callback) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n callback(keys[i], obj[keys[i]]);\n }\n };\n // run a method on each instance of the plugin\n var forEachInstance = function forEachInstance(method) {\n forEachProp(window.intlTelInputGlobals.instances, function(key) {\n window.intlTelInputGlobals.instances[key][method]();\n });\n };\n // this is our plugin class that we will create an instance of\n // eslint-disable-next-line no-unused-vars\n var Iti = /*#__PURE__*/\n function() {\n function Iti(input, options) {\n var _this = this;\n _classCallCheck(this, Iti);\n this.id = id++;\n this.telInput = input;\n this.activeItem = null;\n this.highlightedItem = null;\n // process specified options / defaults\n // alternative to Object.assign, which isn't supported by IE11\n var customOptions = options || {};\n this.options = {};\n forEachProp(defaults, function(key, value) {\n _this.options[key] = customOptions.hasOwnProperty(key) ? customOptions[key] : value;\n });\n this.hadInitialPlaceholder = Boolean(input.getAttribute(\"placeholder\"));\n }\n _createClass(Iti, [ {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n // if in nationalMode, disable options relating to dial codes\n if (this.options.nationalMode) this.options.autoHideDialCode = false;\n // if separateDialCode then doesn't make sense to A) insert dial code into input\n // (autoHideDialCode), and B) display national numbers (because we're displaying the country\n // dial code next to them)\n if (this.options.separateDialCode) {\n this.options.autoHideDialCode = this.options.nationalMode = false;\n }\n // we cannot just test screen size as some smartphones/website meta tags will report desktop\n // resolutions\n // Note: for some reason jasmine breaks if you put this in the main Plugin function with the\n // rest of these declarations\n // Note: to target Android Mobiles (and not Tablets), we must find 'Android' and 'Mobile'\n this.isMobile = /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n if (this.isMobile) {\n // trigger the mobile dropdown css\n document.body.classList.add(\"iti-mobile\");\n // on mobile, we want a full screen dropdown, so we must append it to the body\n if (!this.options.dropdownContainer) this.options.dropdownContainer = document.body;\n }\n // these promises get resolved when their individual requests complete\n // this way the dev can do something like iti.promise.then(...) to know when all requests are\n // complete\n if (typeof Promise !== \"undefined\") {\n var autoCountryPromise = new Promise(function(resolve, reject) {\n _this2.resolveAutoCountryPromise = resolve;\n _this2.rejectAutoCountryPromise = reject;\n });\n var utilsScriptPromise = new Promise(function(resolve, reject) {\n _this2.resolveUtilsScriptPromise = resolve;\n _this2.rejectUtilsScriptPromise = reject;\n });\n this.promise = Promise.all([ autoCountryPromise, utilsScriptPromise ]);\n } else {\n // prevent errors when Promise doesn't exist\n this.resolveAutoCountryPromise = this.rejectAutoCountryPromise = function() {};\n this.resolveUtilsScriptPromise = this.rejectUtilsScriptPromise = function() {};\n }\n // in various situations there could be no country selected initially, but we need to be able\n // to assume this variable exists\n this.selectedCountryData = {};\n // process all the data: onlyCountries, excludeCountries, preferredCountries etc\n this._processCountryData();\n // generate the markup\n this._generateMarkup();\n // set the initial state of the input value and the selected flag\n this._setInitialState();\n // start all of the event listeners: autoHideDialCode, input keydown, selectedFlag click\n this._initListeners();\n // utils script, and auto country\n this._initRequests();\n }\n }, {\n key: \"_processCountryData\",\n value: function _processCountryData() {\n // process onlyCountries or excludeCountries array if present\n this._processAllCountries();\n // process the countryCodes map\n this._processCountryCodes();\n // process the preferredCountries\n this._processPreferredCountries();\n // translate countries according to localizedCountries option\n if (this.options.localizedCountries) this._translateCountriesByLocale();\n // sort countries by name\n if (this.options.onlyCountries.length || this.options.localizedCountries) {\n this.countries.sort(this._countryNameSort);\n }\n }\n }, {\n key: \"_addCountryCode\",\n value: function _addCountryCode(iso2, dialCode, priority) {\n if (!this.countryCodes.hasOwnProperty(dialCode)) {\n this.countryCodes[dialCode] = [];\n }\n var index = priority || 0;\n this.countryCodes[dialCode][index] = iso2;\n }\n }, {\n key: \"_processAllCountries\",\n value: function _processAllCountries() {\n if (this.options.onlyCountries.length) {\n var lowerCaseOnlyCountries = this.options.onlyCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseOnlyCountries.indexOf(country.iso2) > -1;\n });\n } else if (this.options.excludeCountries.length) {\n var lowerCaseExcludeCountries = this.options.excludeCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseExcludeCountries.indexOf(country.iso2) === -1;\n });\n } else {\n this.countries = allCountries;\n }\n }\n }, {\n key: \"_translateCountriesByLocale\",\n value: function _translateCountriesByLocale() {\n for (var i = 0; i < this.countries.length; i++) {\n var iso = this.countries[i].iso2.toLowerCase();\n if (this.options.localizedCountries.hasOwnProperty(iso)) {\n this.countries[i].name = this.options.localizedCountries[iso];\n }\n }\n }\n }, {\n key: \"_countryNameSort\",\n value: function _countryNameSort(a, b) {\n return a.name.localeCompare(b.name);\n }\n }, {\n key: \"_processCountryCodes\",\n value: function _processCountryCodes() {\n this.countryCodes = {};\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n this._addCountryCode(c.iso2, c.dialCode, c.priority);\n // area codes\n if (c.areaCodes) {\n for (var j = 0; j < c.areaCodes.length; j++) {\n // full dial code is country code + dial code\n this._addCountryCode(c.iso2, c.dialCode + c.areaCodes[j]);\n }\n }\n }\n }\n }, {\n key: \"_processPreferredCountries\",\n value: function _processPreferredCountries() {\n this.preferredCountries = [];\n for (var i = 0; i < this.options.preferredCountries.length; i++) {\n var countryCode = this.options.preferredCountries[i].toLowerCase();\n var countryData = this._getCountryData(countryCode, false, true);\n if (countryData) this.preferredCountries.push(countryData);\n }\n }\n }, {\n key: \"_createEl\",\n value: function _createEl(name, attrs, container) {\n var el = document.createElement(name);\n if (attrs) forEachProp(attrs, function(key, value) {\n return el.setAttribute(key, value);\n });\n if (container) container.appendChild(el);\n return el;\n }\n }, {\n key: \"_generateMarkup\",\n value: function _generateMarkup() {\n // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can\n // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the\n // autocompleted number, which on submit could mean wrong number is saved (esp in nationalMode)\n this.telInput.setAttribute(\"autocomplete\", \"off\");\n // containers (mostly for positioning)\n var parentClass = \"intl-tel-input\";\n if (this.options.allowDropdown) parentClass += \" allow-dropdown\";\n if (this.options.separateDialCode) parentClass += \" separate-dial-code\";\n if (this.options.customContainer) {\n parentClass += \" \";\n parentClass += this.options.customContainer;\n }\n var wrapper = this._createEl(\"div\", {\n \"class\": parentClass\n });\n this.telInput.parentNode.insertBefore(wrapper, this.telInput);\n this.flagsContainer = this._createEl(\"div\", {\n \"class\": \"flag-container\"\n }, wrapper);\n wrapper.appendChild(this.telInput);\n // selected flag (displayed to left of input)\n this.selectedFlag = this._createEl(\"div\", {\n \"class\": \"selected-flag\",\n role: \"combobox\",\n \"aria-owns\": \"country-listbox\"\n }, this.flagsContainer);\n this.selectedFlagInner = this._createEl(\"div\", {\n \"class\": \"iti-flag\"\n }, this.selectedFlag);\n if (this.options.separateDialCode) {\n this.selectedDialCode = this._createEl(\"div\", {\n \"class\": \"selected-dial-code\"\n }, this.selectedFlag);\n }\n if (this.options.allowDropdown) {\n // make element focusable and tab navigable\n this.selectedFlag.setAttribute(\"tabindex\", \"0\");\n this.dropdownArrow = this._createEl(\"div\", {\n \"class\": \"iti-arrow\"\n }, this.selectedFlag);\n // country dropdown: preferred countries, then divider, then all countries\n this.countryList = this._createEl(\"ul\", {\n \"class\": \"country-list hide\",\n id: \"country-listbox\",\n \"aria-expanded\": \"false\",\n role: \"listbox\"\n });\n if (this.preferredCountries.length) {\n this._appendListItems(this.preferredCountries, \"preferred\");\n this._createEl(\"li\", {\n \"class\": \"divider\",\n role: \"separator\",\n \"aria-disabled\": \"true\"\n }, this.countryList);\n }\n this._appendListItems(this.countries, \"standard\");\n // create dropdownContainer markup\n if (this.options.dropdownContainer) {\n this.dropdown = this._createEl(\"div\", {\n \"class\": \"intl-tel-input iti-container\"\n });\n this.dropdown.appendChild(this.countryList);\n } else {\n this.flagsContainer.appendChild(this.countryList);\n }\n }\n if (this.options.hiddenInput) {\n var hiddenInputName = this.options.hiddenInput;\n var name = this.telInput.getAttribute(\"name\");\n if (name) {\n var i = name.lastIndexOf(\"[\");\n // if input name contains square brackets, then give the hidden input the same name,\n // replacing the contents of the last set of brackets with the given hiddenInput name\n if (i !== -1) hiddenInputName = \"\".concat(name.substr(0, i), \"[\").concat(hiddenInputName, \"]\");\n }\n this.hiddenInput = this._createEl(\"input\", {\n type: \"hidden\",\n name: hiddenInputName\n });\n wrapper.appendChild(this.hiddenInput);\n }\n }\n }, {\n key: \"_appendListItems\",\n value: function _appendListItems(countries, className) {\n // we create so many DOM elements, it is faster to build a temp string\n // and then add everything to the DOM in one go at the end\n var tmp = \"\";\n // for each country\n for (var i = 0; i < countries.length; i++) {\n var c = countries[i];\n // open the list item\n tmp += \"<li class='country \".concat(className, \"' id='iti-item-\").concat(c.iso2, \"' role='option' data-dial-code='\").concat(c.dialCode, \"' data-country-code='\").concat(c.iso2, \"'>\");\n // add the flag\n tmp += \"<div class='flag-box'><div class='iti-flag \".concat(c.iso2, \"'></div></div>\");\n // and the country name and dial code\n tmp += \"<span class='country-name'>\".concat(c.name, \"</span>\");\n tmp += \"<span class='dial-code'>+\".concat(c.dialCode, \"</span>\");\n // close the list item\n tmp += \"</li>\";\n }\n this.countryList.insertAdjacentHTML(\"beforeend\", tmp);\n }\n }, {\n key: \"_setInitialState\",\n value: function _setInitialState() {\n var val = this.telInput.value;\n var dialCode = this._getDialCode(val);\n var isRegionlessNanp = this._isRegionlessNanp(val);\n var _this$options = this.options, initialCountry = _this$options.initialCountry, nationalMode = _this$options.nationalMode, autoHideDialCode = _this$options.autoHideDialCode, separateDialCode = _this$options.separateDialCode;\n // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the\n // flag, else fall back to the default country\n if (dialCode && !isRegionlessNanp) {\n this._updateFlagFromNumber(val);\n } else if (initialCountry !== \"auto\") {\n // see if we should select a flag\n if (initialCountry) {\n this._setFlag(initialCountry.toLowerCase());\n } else {\n if (dialCode && isRegionlessNanp) {\n // has intl dial code, is regionless nanp, and no initialCountry, so default to US\n this._setFlag(\"us\");\n } else {\n // no dial code and no initialCountry, so default to first in list\n this.defaultCountry = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.countries[0].iso2;\n if (!val) {\n this._setFlag(this.defaultCountry);\n }\n }\n }\n // if empty and no nationalMode and no autoHideDialCode then insert the default dial code\n if (!val && !nationalMode && !autoHideDialCode && !separateDialCode) {\n this.telInput.value = \"+\".concat(this.selectedCountryData.dialCode);\n }\n }\n // NOTE: if initialCountry is set to auto, that will be handled separately\n // format - note this wont be run after _updateDialCode as that's only called if no val\n if (val) this._updateValFromNumber(val);\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners() {\n this._initKeyListeners();\n if (this.options.autoHideDialCode) this._initFocusListeners();\n if (this.options.allowDropdown) this._initDropdownListeners();\n if (this.hiddenInput) this._initHiddenInputListener();\n }\n }, {\n key: \"_initHiddenInputListener\",\n value: function _initHiddenInputListener() {\n var _this3 = this;\n this._handleHiddenInputSubmit = function() {\n _this3.hiddenInput.value = _this3.getNumber();\n };\n if (this.telInput.form) this.telInput.form.addEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n }, {\n key: \"_getClosestLabel\",\n value: function _getClosestLabel() {\n var el = this.telInput;\n while (el && el.tagName !== \"LABEL\") {\n el = el.parentNode;\n }\n return el;\n }\n }, {\n key: \"_initDropdownListeners\",\n value: function _initDropdownListeners() {\n var _this4 = this;\n // hack for input nested inside label (which is valid markup): clicking the selected-flag to\n // open the dropdown would then automatically trigger a 2nd click on the input which would\n // close it again\n this._handleLabelClick = function(e) {\n // if the dropdown is closed, then focus the input, else ignore the click\n if (_this4.countryList.classList.contains(\"hide\")) _this4.telInput.focus(); else e.preventDefault();\n };\n var label = this._getClosestLabel();\n if (label) label.addEventListener(\"click\", this._handleLabelClick);\n // toggle country dropdown on click\n this._handleClickSelectedFlag = function() {\n // only intercept this event if we're opening the dropdown\n // else let it bubble up to the top (\"click-off-to-close\" listener)\n // we cannot just stopPropagation as it may be needed to close another instance\n if (_this4.countryList.classList.contains(\"hide\") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {\n _this4._showDropdown();\n }\n };\n this.selectedFlag.addEventListener(\"click\", this._handleClickSelectedFlag);\n // open dropdown list if currently focused\n this._handleFlagsContainerKeydown = function(e) {\n var isDropdownHidden = _this4.countryList.classList.contains(\"hide\");\n if (isDropdownHidden && [ \"ArrowUp\", \"ArrowDown\", \" \", \"Enter\" ].indexOf(e.key) !== -1) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault();\n // prevent event from being handled again by document\n e.stopPropagation();\n _this4._showDropdown();\n }\n // allow navigation from dropdown to input on TAB\n if (e.key === \"Tab\") _this4._closeDropdown();\n };\n this.flagsContainer.addEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n }\n }, {\n key: \"_initRequests\",\n value: function _initRequests() {\n var _this5 = this;\n // if the user has specified the path to the utils script, fetch it on window.load, else resolve\n if (this.options.utilsScript && !window.intlTelInputUtils) {\n // if the plugin is being initialised after the window.load event has already been fired\n if (window.intlTelInputGlobals.windowLoaded) {\n window.intlTelInputGlobals.loadUtils(this.options.utilsScript);\n } else {\n // wait until the load event so we don't block any other requests e.g. the flags image\n window.addEventListener(\"load\", function() {\n window.intlTelInputGlobals.loadUtils(_this5.options.utilsScript);\n });\n }\n } else this.resolveUtilsScriptPromise();\n if (this.options.initialCountry === \"auto\") this._loadAutoCountry(); else this.resolveAutoCountryPromise();\n }\n }, {\n key: \"_loadAutoCountry\",\n value: function _loadAutoCountry() {\n // 3 options:\n // 1) already loaded (we're done)\n // 2) not already started loading (start)\n // 3) already started loading (do nothing - just wait for loading callback to fire)\n if (window.intlTelInputGlobals.autoCountry) {\n this.handleAutoCountry();\n } else if (!window.intlTelInputGlobals.startedLoadingAutoCountry) {\n // don't do this twice!\n window.intlTelInputGlobals.startedLoadingAutoCountry = true;\n if (typeof this.options.geoIpLookup === \"function\") {\n this.options.geoIpLookup(function(countryCode) {\n window.intlTelInputGlobals.autoCountry = countryCode.toLowerCase();\n // tell all instances the auto country is ready\n // TODO: this should just be the current instances\n // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight\n // away (e.g. if they have already done the geo ip lookup somewhere else). Using\n // setTimeout means that the current thread of execution will finish before executing\n // this, which allows the plugin to finish initialising.\n setTimeout(function() {\n return forEachInstance(\"handleAutoCountry\");\n });\n }, function() {\n return forEachInstance(\"rejectAutoCountryPromise\");\n });\n }\n }\n }\n }, {\n key: \"_initKeyListeners\",\n value: function _initKeyListeners() {\n var _this6 = this;\n // update flag on keyup\n this._handleKeyupEvent = function() {\n if (_this6._updateFlagFromNumber(_this6.telInput.value)) {\n _this6._triggerCountryChange();\n }\n };\n this.telInput.addEventListener(\"keyup\", this._handleKeyupEvent);\n // update flag on cut/paste events (now supported in all major browsers)\n this._handleClipboardEvent = function() {\n // hack because \"paste\" event is fired before input is updated\n setTimeout(_this6._handleKeyupEvent);\n };\n this.telInput.addEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.addEventListener(\"paste\", this._handleClipboardEvent);\n }\n }, {\n key: \"_cap\",\n value: function _cap(number) {\n var max = this.telInput.getAttribute(\"maxlength\");\n return max && number.length > max ? number.substr(0, max) : number;\n }\n }, {\n key: \"_initFocusListeners\",\n value: function _initFocusListeners() {\n var _this7 = this;\n // mousedown decides where the cursor goes, so if we're focusing we must preventDefault as\n // we'll be inserting the dial code, and we want the cursor to be at the end no matter where\n // they click\n this._handleMousedownFocusEvent = function(e) {\n if (_this7.telInput !== document.activeElement && !_this7.telInput.value) {\n e.preventDefault();\n // but this also cancels the focus, so we must trigger that manually\n _this7.telInput.focus();\n }\n };\n this.telInput.addEventListener(\"mousedown\", this._handleMousedownFocusEvent);\n this._handleKeypressPlusEvent = function(e) {\n if (e.key === \"+\") _this7.telInput.value = \"\";\n };\n // on focus: if empty, insert the dial code for the currently selected flag\n this._handleFocusEvent = function() {\n if (!_this7.telInput.value && !_this7.telInput.readOnly && _this7.selectedCountryData.dialCode) {\n // insert the dial code\n _this7.telInput.value = \"+\".concat(_this7.selectedCountryData.dialCode);\n // after auto-inserting a dial code, if the first key they hit is '+' then assume they are\n // entering a new number, so remove the dial code. use keypress instead of keydown because\n // keydown gets triggered for the shift key (required to hit the + key), and instead of\n // keyup because that shows the new '+' before removing the old one\n _this7.telInput.addEventListener(\"keypress\", _this7._handleKeypressPlusEvent);\n // after tabbing in, make sure the cursor is at the end we must use setTimeout to get\n // outside of the focus handler as it seems the selection happens after that\n setTimeout(function() {\n var len = _this7.telInput.value.length;\n _this7.telInput.setSelectionRange(len, len);\n });\n }\n };\n this.telInput.addEventListener(\"focus\", this._handleFocusEvent);\n // on blur or form submit: if just a dial code then remove it\n this._handleSubmitOrBlurEvent = function() {\n _this7._removeEmptyDialCode();\n };\n if (this.telInput.form) this.telInput.form.addEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n this.telInput.addEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n }, {\n key: \"_removeEmptyDialCode\",\n value: function _removeEmptyDialCode() {\n var startsPlus = this.telInput.value.charAt(0) === \"+\";\n if (startsPlus) {\n var numeric = this._getNumeric(this.telInput.value);\n // if just a plus, or if just a dial code\n if (!numeric || this.selectedCountryData.dialCode === numeric) {\n this.telInput.value = \"\";\n }\n }\n // remove the keypress listener we added on focus\n this.telInput.removeEventListener(\"keypress\", this._handleKeypressPlusEvent);\n }\n }, {\n key: \"_getNumeric\",\n value: function _getNumeric(s) {\n return s.replace(/\\D/g, \"\");\n }\n }, {\n key: \"_trigger\",\n value: function _trigger(name) {\n // have to use old school document.createEvent as IE11 doesn't support `new Event()` syntax\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n // can bubble, and is cancellable\n this.telInput.dispatchEvent(e);\n }\n }, {\n key: \"_showDropdown\",\n value: function _showDropdown() {\n this.countryList.classList.remove(\"hide\");\n this.countryList.setAttribute(\"aria-expanded\", \"true\");\n this._setDropdownPosition();\n // update highlighting and scroll to active list item\n if (this.activeItem) {\n this._highlightListItem(this.activeItem);\n this._scrollTo(this.activeItem);\n }\n // bind all the dropdown-related listeners: mouseover, click, click-off, keydown\n this._bindDropdownListeners();\n // update the arrow\n this.dropdownArrow.classList.add(\"up\");\n this._trigger(\"open:countrydropdown\");\n }\n }, {\n key: \"_toggleClass\",\n value: function _toggleClass(el, className, shouldHaveClass) {\n if (shouldHaveClass && !el.classList.contains(className)) el.classList.add(className); else if (!shouldHaveClass && el.classList.contains(className)) el.classList.remove(className);\n }\n }, {\n key: \"_setDropdownPosition\",\n value: function _setDropdownPosition() {\n var _this8 = this;\n if (this.options.dropdownContainer) {\n this.options.dropdownContainer.appendChild(this.dropdown);\n }\n if (!this.isMobile) {\n var pos = this.telInput.getBoundingClientRect();\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var inputTop = pos.top + windowTop;\n var dropdownHeight = this.countryList.offsetHeight;\n // dropdownFitsBelow = (dropdownBottom < windowBottom)\n var dropdownFitsBelow = inputTop + this.telInput.offsetHeight + dropdownHeight < windowTop + window.innerHeight;\n var dropdownFitsAbove = inputTop - dropdownHeight > windowTop;\n // by default, the dropdown will be below the input. If we want to position it above the\n // input, we add the dropup class.\n this._toggleClass(this.countryList, \"dropup\", !dropdownFitsBelow && dropdownFitsAbove);\n // if dropdownContainer is enabled, calculate postion\n if (this.options.dropdownContainer) {\n // by default the dropdown will be directly over the input because it's not in the flow.\n // If we want to position it below, we need to add some extra top value.\n var extraTop = !dropdownFitsBelow && dropdownFitsAbove ? 0 : this.telInput.offsetHeight;\n // calculate placement\n this.dropdown.style.top = \"\".concat(inputTop + extraTop, \"px\");\n this.dropdown.style.left = \"\".concat(pos.left + document.body.scrollLeft, \"px\");\n // close menu on window scroll\n this._handleWindowScroll = function() {\n return _this8._closeDropdown();\n };\n window.addEventListener(\"scroll\", this._handleWindowScroll);\n }\n }\n }\n }, {\n key: \"_getClosestListItem\",\n value: function _getClosestListItem(target) {\n var el = target;\n while (el && el !== this.countryList && !el.classList.contains(\"country\")) {\n el = el.parentNode;\n }\n // if we reached the countryList element, then return null\n return el === this.countryList ? null : el;\n }\n }, {\n key: \"_bindDropdownListeners\",\n value: function _bindDropdownListeners() {\n var _this9 = this;\n // when mouse over a list item, just highlight that one\n // we add the class \"highlight\", so if they hit \"enter\" we know which one to select\n this._handleMouseoverCountryList = function(e) {\n // handle event delegation, as we're listening for this event on the countryList\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) _this9._highlightListItem(listItem);\n };\n this.countryList.addEventListener(\"mouseover\", this._handleMouseoverCountryList);\n // listen for country selection\n this._handleClickCountryList = function(e) {\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) _this9._selectListItem(listItem);\n };\n this.countryList.addEventListener(\"click\", this._handleClickCountryList);\n // click off to close\n // (except when this initial opening click is bubbling up)\n // we cannot just stopPropagation as it may be needed to close another instance\n var isOpening = true;\n this._handleClickOffToClose = function() {\n if (!isOpening) _this9._closeDropdown();\n isOpening = false;\n };\n document.documentElement.addEventListener(\"click\", this._handleClickOffToClose);\n // listen for up/down scrolling, enter to select, or letters to jump to country name.\n // use keydown as keypress doesn't fire for non-char keys and we want to catch if they\n // just hit down and hold it to scroll down (no keyup event).\n // listen on the document because that's where key events are triggered if no input has focus\n var query = \"\";\n var queryTimer = null;\n this._handleKeydownOnDropdown = function(e) {\n // prevent down key from scrolling the whole page,\n // and enter key from submitting a form etc\n e.preventDefault();\n // up and down to navigate\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") _this9._handleUpDownKey(e.key); else if (e.key === \"Enter\") _this9._handleEnterKey(); else if (e.key === \"Escape\") _this9._closeDropdown(); else if (/^[a-zA-ZÀ-ÿ ]$/.test(e.key)) {\n // jump to countries that start with the query string\n if (queryTimer) clearTimeout(queryTimer);\n query += e.key.toLowerCase();\n _this9._searchForCountry(query);\n // if the timer hits 1 second, reset the query\n queryTimer = setTimeout(function() {\n query = \"\";\n }, 1e3);\n }\n };\n document.addEventListener(\"keydown\", this._handleKeydownOnDropdown);\n }\n }, {\n key: \"_handleUpDownKey\",\n value: function _handleUpDownKey(key) {\n var next = key === \"ArrowUp\" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;\n if (next) {\n // skip the divider\n if (next.classList.contains(\"divider\")) {\n next = key === \"ArrowUp\" ? next.previousElementSibling : next.nextElementSibling;\n }\n this._highlightListItem(next);\n this._scrollTo(next);\n }\n }\n }, {\n key: \"_handleEnterKey\",\n value: function _handleEnterKey() {\n if (this.highlightedItem) this._selectListItem(this.highlightedItem);\n }\n }, {\n key: \"_searchForCountry\",\n value: function _searchForCountry(query) {\n for (var i = 0; i < this.countries.length; i++) {\n if (this._startsWith(this.countries[i].name, query)) {\n var listItem = this.countryList.querySelector(\"#iti-item-\".concat(this.countries[i].iso2));\n // update highlighting and scroll\n this._highlightListItem(listItem);\n this._scrollTo(listItem, true);\n break;\n }\n }\n }\n }, {\n key: \"_startsWith\",\n value: function _startsWith(a, b) {\n return a.substr(0, b.length).toLowerCase() === b;\n }\n }, {\n key: \"_updateValFromNumber\",\n value: function _updateValFromNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {\n var useNational = !this.options.separateDialCode && (this.options.nationalMode || number.charAt(0) !== \"+\");\n var _intlTelInputUtils$nu = intlTelInputUtils.numberFormat, NATIONAL = _intlTelInputUtils$nu.NATIONAL, INTERNATIONAL = _intlTelInputUtils$nu.INTERNATIONAL;\n var format = useNational ? NATIONAL : INTERNATIONAL;\n number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);\n }\n number = this._beforeSetNumber(number);\n this.telInput.value = number;\n }\n }, {\n key: \"_updateFlagFromNumber\",\n value: function _updateFlagFromNumber(originalNumber) {\n // if we're in nationalMode and we already have US/Canada selected, make sure the number starts\n // with a +1 so _getDialCode will be able to extract the area code\n // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag\n // from the number), that means we're initialising the plugin with a number that already has a\n // dial code, so fine to ignore this bit\n var number = originalNumber;\n var isNanp = this.selectedCountryData.dialCode === \"1\";\n if (number && this.options.nationalMode && isNanp && number.charAt(0) !== \"+\") {\n if (number.charAt(0) !== \"1\") number = \"1\".concat(number);\n number = \"+\".concat(number);\n }\n // try and extract valid dial code from input\n var dialCode = this._getDialCode(number);\n var numeric = this._getNumeric(number);\n var countryCode = null;\n if (dialCode) {\n // check if one of the matching countries is already selected\n var countryCodes = this.countryCodes[this._getNumeric(dialCode)];\n var alreadySelected = countryCodes.indexOf(this.selectedCountryData.iso2) !== -1;\n // check if the given number contains a NANP area code i.e. the only dialCode that could be\n // extracted was +1 (instead of say +1204) and the actual number's length is >=4\n var isNanpAreaCode = dialCode === \"+1\" && numeric.length >= 4;\n var isRegionlessNanpNumber = this.selectedCountryData.dialCode === \"1\" && this._isRegionlessNanp(numeric);\n // only update the flag if:\n // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)\n // AND\n // B) either a matching country is not already selected OR the number contains a NANP area\n // code (ensure the flag is set to the first matching country)\n if (!isRegionlessNanpNumber && (!alreadySelected || isNanpAreaCode)) {\n // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first\n // non-empty index\n for (var j = 0; j < countryCodes.length; j++) {\n if (countryCodes[j]) {\n countryCode = countryCodes[j];\n break;\n }\n }\n }\n } else if (number.charAt(0) === \"+\" && numeric.length) {\n // invalid dial code, so empty\n // Note: use getNumeric here because the number has not been formatted yet, so could contain\n // bad chars\n countryCode = \"\";\n } else if (!number || number === \"+\") {\n // empty, or just a plus, so default\n countryCode = this.defaultCountry;\n }\n if (countryCode !== null) {\n return this._setFlag(countryCode);\n }\n return false;\n }\n }, {\n key: \"_isRegionlessNanp\",\n value: function _isRegionlessNanp(number) {\n var numeric = this._getNumeric(number);\n if (numeric.charAt(0) === \"1\") {\n var areaCode = numeric.substr(1, 3);\n return regionlessNanpNumbers.indexOf(areaCode) !== -1;\n }\n return false;\n }\n }, {\n key: \"_highlightListItem\",\n value: function _highlightListItem(listItem) {\n var prevItem = this.highlightedItem;\n if (prevItem) prevItem.classList.remove(\"highlight\");\n this.highlightedItem = listItem;\n this.highlightedItem.classList.add(\"highlight\");\n }\n }, {\n key: \"_getCountryData\",\n value: function _getCountryData(countryCode, ignoreOnlyCountriesOption, allowFail) {\n var countryList = ignoreOnlyCountriesOption ? allCountries : this.countries;\n for (var i = 0; i < countryList.length; i++) {\n if (countryList[i].iso2 === countryCode) {\n return countryList[i];\n }\n }\n if (allowFail) {\n return null;\n }\n throw new Error(\"No country data for '\".concat(countryCode, \"'\"));\n }\n }, {\n key: \"_setFlag\",\n value: function _setFlag(countryCode) {\n var prevCountry = this.selectedCountryData.iso2 ? this.selectedCountryData : {};\n // do this first as it will throw an error and stop if countryCode is invalid\n this.selectedCountryData = countryCode ? this._getCountryData(countryCode, false, false) : {};\n // update the defaultCountry - we only need the iso2 from now on, so just store that\n if (this.selectedCountryData.iso2) {\n this.defaultCountry = this.selectedCountryData.iso2;\n }\n this.selectedFlagInner.setAttribute(\"class\", \"iti-flag \".concat(countryCode));\n // update the selected country's title attribute\n var title = countryCode ? \"\".concat(this.selectedCountryData.name, \": +\").concat(this.selectedCountryData.dialCode) : \"Unknown\";\n this.selectedFlag.setAttribute(\"title\", title);\n if (this.options.separateDialCode) {\n var dialCode = this.selectedCountryData.dialCode ? \"+\".concat(this.selectedCountryData.dialCode) : \"\";\n this.selectedDialCode.innerHTML = dialCode;\n // add 6px of padding after the grey selected-dial-code box, as this is what we use in the css\n this.telInput.style.paddingLeft = \"\".concat(this.selectedFlag.offsetWidth + 6, \"px\");\n }\n // and the input's placeholder\n this._updatePlaceholder();\n // update the active list item\n if (this.options.allowDropdown) {\n var prevItem = this.activeItem;\n if (prevItem) {\n prevItem.classList.remove(\"active\");\n prevItem.setAttribute(\"aria-selected\", \"false\");\n }\n if (countryCode) {\n var nextItem = this.countryList.querySelector(\"#iti-item-\".concat(countryCode));\n nextItem.setAttribute(\"aria-selected\", \"true\");\n nextItem.classList.add(\"active\");\n this.activeItem = nextItem;\n this.countryList.setAttribute(\"aria-activedescendant\", nextItem.getAttribute(\"id\"));\n }\n }\n // return if the flag has changed or not\n return prevCountry.iso2 !== countryCode;\n }\n }, {\n key: \"_updatePlaceholder\",\n value: function _updatePlaceholder() {\n var shouldSetPlaceholder = this.options.autoPlaceholder === \"aggressive\" || !this.hadInitialPlaceholder && this.options.autoPlaceholder === \"polite\";\n if (window.intlTelInputUtils && shouldSetPlaceholder) {\n var numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType];\n var placeholder = this.selectedCountryData.iso2 ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : \"\";\n placeholder = this._beforeSetNumber(placeholder);\n if (typeof this.options.customPlaceholder === \"function\") {\n placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);\n }\n this.telInput.setAttribute(\"placeholder\", placeholder);\n }\n }\n }, {\n key: \"_selectListItem\",\n value: function _selectListItem(listItem) {\n // update selected flag and active list item\n var flagChanged = this._setFlag(listItem.getAttribute(\"data-country-code\"));\n this._closeDropdown();\n this._updateDialCode(listItem.getAttribute(\"data-dial-code\"), true);\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with nationalMode=false i.e. auto\n // inserting dial code), who try to put the cursor at the beginning the first time\n var len = this.telInput.value.length;\n this.telInput.setSelectionRange(len, len);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"_closeDropdown\",\n value: function _closeDropdown() {\n this.countryList.classList.add(\"hide\");\n this.countryList.setAttribute(\"aria-expanded\", \"false\");\n // update the arrow\n this.dropdownArrow.classList.remove(\"up\");\n // unbind key events\n document.removeEventListener(\"keydown\", this._handleKeydownOnDropdown);\n document.documentElement.removeEventListener(\"click\", this._handleClickOffToClose);\n this.countryList.removeEventListener(\"mouseover\", this._handleMouseoverCountryList);\n this.countryList.removeEventListener(\"click\", this._handleClickCountryList);\n // remove menu from container\n if (this.options.dropdownContainer) {\n if (!this.isMobile) window.removeEventListener(\"scroll\", this._handleWindowScroll);\n if (this.dropdown.parentNode) this.dropdown.parentNode.removeChild(this.dropdown);\n }\n this._trigger(\"close:countrydropdown\");\n }\n }, {\n key: \"_scrollTo\",\n value: function _scrollTo(element, middle) {\n var container = this.countryList;\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var containerHeight = container.offsetHeight;\n var containerTop = container.getBoundingClientRect().top + windowTop;\n var containerBottom = containerTop + containerHeight;\n var elementHeight = element.offsetHeight;\n var elementTop = element.getBoundingClientRect().top + windowTop;\n var elementBottom = elementTop + elementHeight;\n var newScrollTop = elementTop - containerTop + container.scrollTop;\n var middleOffset = containerHeight / 2 - elementHeight / 2;\n if (elementTop < containerTop) {\n // scroll up\n if (middle) newScrollTop -= middleOffset;\n container.scrollTop = newScrollTop;\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) newScrollTop += middleOffset;\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop = newScrollTop - heightDifference;\n }\n }\n }, {\n key: \"_updateDialCode\",\n value: function _updateDialCode(newDialCodeBare, hasSelectedListItem) {\n var inputVal = this.telInput.value;\n // save having to pass this every time\n var newDialCode = \"+\".concat(newDialCodeBare);\n var newNumber;\n if (inputVal.charAt(0) === \"+\") {\n // there's a plus so we're dealing with a replacement (doesn't matter if nationalMode or not)\n var prevDialCode = this._getDialCode(inputVal);\n if (prevDialCode) {\n // current number contains a valid dial code, so replace it\n newNumber = inputVal.replace(prevDialCode, newDialCode);\n } else {\n // current number contains an invalid dial code, so ditch it\n // (no way to determine where the invalid dial code ends and the rest of the number begins)\n newNumber = newDialCode;\n }\n } else if (this.options.nationalMode || this.options.separateDialCode) {\n // don't do anything\n return;\n } else {\n // nationalMode is disabled\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else if (hasSelectedListItem || !this.options.autoHideDialCode) {\n // no existing value and either they've just selected a list item, or autoHideDialCode is\n // disabled: insert new dial code\n newNumber = newDialCode;\n } else {\n return;\n }\n }\n this.telInput.value = newNumber;\n }\n }, {\n key: \"_getDialCode\",\n value: function _getDialCode(number) {\n var dialCode = \"\";\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === \"+\") {\n var numericChars = \"\";\n // iterate over chars\n for (var i = 0; i < number.length; i++) {\n var c = number.charAt(i);\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c;\n // if current numericChars make a valid dial code\n if (this.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1);\n }\n // longest dial code is 4 chars\n if (numericChars.length === 4) {\n break;\n }\n }\n }\n }\n return dialCode;\n }\n }, {\n key: \"_getFullNumber\",\n value: function _getFullNumber() {\n var val = this.telInput.value.trim();\n var dialCode = this.selectedCountryData.dialCode;\n var prefix;\n var numericVal = this._getNumeric(val);\n // normalized means ensure starts with a 1, so we can match against the full dial code\n var normalizedVal = numericVal.charAt(0) === \"1\" ? numericVal : \"1\".concat(numericVal);\n if (this.options.separateDialCode && val.charAt(0) !== \"+\") {\n // when using separateDialCode, it is visible so is effectively part of the typed number\n prefix = \"+\".concat(dialCode);\n } else if (val && val.charAt(0) !== \"+\" && val.charAt(0) !== \"1\" && dialCode && dialCode.charAt(0) === \"1\" && dialCode.length === 4 && dialCode !== normalizedVal.substr(0, 4)) {\n // ensure national NANP numbers contain the area code\n prefix = dialCode.substr(1);\n } else {\n prefix = \"\";\n }\n return prefix + val;\n }\n }, {\n key: \"_beforeSetNumber\",\n value: function _beforeSetNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.separateDialCode) {\n var dialCode = this._getDialCode(number);\n if (dialCode) {\n // US dialCode is \"+1\", which is what we want\n // CA dialCode is \"+1 123\", which is wrong - should be \"+1\" (as it has multiple area codes)\n // AS dialCode is \"+1 684\", which is what we want (as it doesn't have area codes)\n // Solution: if the country has area codes, then revert to just the dial code\n if (this.selectedCountryData.areaCodes !== null) {\n dialCode = \"+\".concat(this.selectedCountryData.dialCode);\n }\n // a lot of numbers will have a space separating the dial code and the main number, and\n // some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get\n // rid of it\n // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc\n var start = number[dialCode.length] === \" \" || number[dialCode.length] === \"-\" ? dialCode.length + 1 : dialCode.length;\n number = number.substr(start);\n }\n }\n return this._cap(number);\n }\n }, {\n key: \"_triggerCountryChange\",\n value: function _triggerCountryChange() {\n this._trigger(\"countrychange\");\n }\n }, {\n key: \"handleAutoCountry\",\n value: function handleAutoCountry() {\n if (this.options.initialCountry === \"auto\") {\n // we must set this even if there is an initial val in the input: in case the initial val is\n // invalid and they delete it - they should see their auto country\n this.defaultCountry = window.intlTelInputGlobals.autoCountry;\n // if there's no initial value in the input, then update the flag\n if (!this.telInput.value) {\n this.setCountry(this.defaultCountry);\n }\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"handleUtils\",\n value: function handleUtils() {\n // if the request was successful\n if (window.intlTelInputUtils) {\n // if there's an initial value in the input, then format it\n if (this.telInput.value) {\n this._updateValFromNumber(this.telInput.value);\n }\n this._updatePlaceholder();\n }\n this.resolveUtilsScriptPromise();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var form = this.telInput.form;\n if (this.options.allowDropdown) {\n // make sure the dropdown is closed (and unbind listeners)\n this._closeDropdown();\n this.selectedFlag.removeEventListener(\"click\", this._handleClickSelectedFlag);\n this.flagsContainer.removeEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n // label click hack\n var label = this._getClosestLabel();\n if (label) label.removeEventListener(\"click\", this._handleLabelClick);\n }\n // unbind hiddenInput listeners\n if (this.hiddenInput && form) form.removeEventListener(\"submit\", this._handleHiddenInputSubmit);\n // unbind autoHideDialCode listeners\n if (this.options.autoHideDialCode) {\n this.telInput.removeEventListener(\"mousedown\", this._handleMousedownFocusEvent);\n this.telInput.removeEventListener(\"focus\", this._handleFocusEvent);\n if (form) form.removeEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n this.telInput.removeEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n // unbind all events: key events, and focus/blur events if autoHideDialCode=true\n this.telInput.removeEventListener(\"keyup\", this._handleKeyupEvent);\n this.telInput.removeEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.removeEventListener(\"paste\", this._handleClipboardEvent);\n // remove attribute of id instance: data-intl-tel-input-id\n this.telInput.removeAttribute(\"data-intl-tel-input-id\");\n // remove markup (but leave the original input)\n var wrapper = this.telInput.parentNode;\n wrapper.parentNode.insertBefore(this.telInput, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n delete window.intlTelInputGlobals.instances[this.id];\n }\n }, {\n key: \"getExtension\",\n value: function getExtension() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return \"\";\n }\n }, {\n key: \"getNumber\",\n value: function getNumber(format) {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.formatNumber(this._getFullNumber(), iso2, format);\n }\n return \"\";\n }\n }, {\n key: \"getNumberType\",\n value: function getNumberType() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n }\n }, {\n key: \"getSelectedCountryData\",\n value: function getSelectedCountryData() {\n return this.selectedCountryData;\n }\n }, {\n key: \"getValidationError\",\n value: function getValidationError() {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.getValidationError(this._getFullNumber(), iso2);\n }\n return -99;\n }\n }, {\n key: \"isValidNumber\",\n value: function isValidNumber() {\n var val = this._getFullNumber().trim();\n var countryCode = this.options.nationalMode ? this.selectedCountryData.iso2 : \"\";\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, countryCode) : null;\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(originalCountryCode) {\n var countryCode = originalCountryCode.toLowerCase();\n // check if already selected\n if (!this.selectedFlagInner.classList.contains(countryCode)) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode, false);\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setNumber\",\n value: function setNumber(number) {\n // we must update the flag first, which updates this.selectedCountryData, which is used for\n // formatting the number before displaying it\n var flagChanged = this._updateFlagFromNumber(number);\n this._updateValFromNumber(number);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setPlaceholderNumberType\",\n value: function setPlaceholderNumberType(type) {\n this.options.placeholderNumberType = type;\n this._updatePlaceholder();\n }\n } ]);\n return Iti;\n }();\n /********************\n * STATIC METHODS\n ********************/\n // get the country data object\n window.intlTelInputGlobals.getCountryData = function() {\n return allCountries;\n };\n // inject a <script> element to load utils.js\n var injectScript = function injectScript(path, handleSuccess, handleFailure) {\n // inject a new script element into the page\n var script = document.createElement(\"script\");\n script.onload = function() {\n forEachInstance(\"handleUtils\");\n if (handleSuccess) handleSuccess();\n };\n script.onerror = function() {\n forEachInstance(\"rejectUtilsScriptPromise\");\n if (handleFailure) handleFailure();\n };\n script.className = \"iti-load-utils\";\n script.async = true;\n script.src = path;\n document.body.appendChild(script);\n };\n // load the utils script\n window.intlTelInputGlobals.loadUtils = function(path) {\n // 2 options:\n // 1) not already started loading (start)\n // 2) already started loading (do nothing - just wait for the onload callback to fire, which will\n // trigger handleUtils on all instances, invoking their resolveUtilsScriptPromise functions)\n if (!window.intlTelInputUtils && !window.intlTelInputGlobals.startedLoadingUtilsScript) {\n // only do this once\n window.intlTelInputGlobals.startedLoadingUtilsScript = true;\n // if we have promises, then return a promise\n if (typeof Promise !== \"undefined\") {\n return new Promise(function(resolve, reject) {\n return injectScript(path, resolve, reject);\n });\n }\n injectScript(path);\n }\n return null;\n };\n // default options\n window.intlTelInputGlobals.defaults = defaults;\n // version\n window.intlTelInputGlobals.version = \"14.1.0\";\n // convenience wrapper\n return function(input, options) {\n var iti = new Iti(input, options);\n iti._init();\n input.setAttribute(\"data-intl-tel-input-id\", iti.id);\n window.intlTelInputGlobals.instances[iti.id] = iti;\n return iti;\n };\n }();\n});","(function(){var aa=this;function k(a){return\"string\"==typeof a}function m(a,b){a=a.split(\".\");var c=aa;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b}\nfunction n(a,b){function c(){}c.prototype=b.prototype;a.o=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.aa=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};var p=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(k(a))return k(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function q(a,b){a.sort(b||ba)}function ba(a,b){return a>b?1:a<b?-1:0};function ca(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};function da(a,b){this.a=a;this.h=!!b.i;this.c=b.b;this.m=b.type;this.l=!1;switch(this.c){case ea:case fa:case ha:case ia:case ja:case ka:case la:this.l=!0}this.g=b.defaultValue}var la=1,ka=2,ea=3,fa=4,ha=6,ia=16,ja=18;function ma(a,b){this.c=a;this.a={};for(a=0;a<b.length;a++){var c=b[a];this.a[c.a]=c}}function na(a){a=ca(a.a);q(a,function(a,c){return a.a-c.a});return a};function r(){this.a={};this.g=this.f().a;this.c=this.h=null}r.prototype.has=function(a){return null!=this.a[a.a]};r.prototype.get=function(a,b){return t(this,a.a,b)};r.prototype.set=function(a,b){u(this,a.a,b)};r.prototype.add=function(a,b){v(this,a.a,b)};\nfunction oa(a,b){for(var c=na(a.f()),d=0;d<c.length;d++){var e=c[d],f=e.a;if(null!=b.a[f]){a.c&&delete a.c[e.a];var g=11==e.c||10==e.c;if(e.h){e=w(b,f);for(var h=0;h<e.length;h++)v(a,f,g?e[h].clone():e[h])}else e=x(b,f),g?(g=x(a,f))?oa(g,e):u(a,f,e.clone()):u(a,f,e)}}}r.prototype.clone=function(){var a=new this.constructor;a!=this&&(a.a={},a.c&&(a.c={}),oa(a,this));return a};\nfunction x(a,b){var c=a.a[b];if(null==c)return null;if(a.h){if(!(b in a.c)){var d=a.h,e=a.g[b];if(null!=c)if(e.h){for(var f=[],g=0;g<c.length;g++)f[g]=d.c(e,c[g]);c=f}else c=d.c(e,c);return a.c[b]=c}return a.c[b]}return c}function t(a,b,c){var d=x(a,b);return a.g[b].h?d[c||0]:d}function y(a,b){if(null!=a.a[b])a=t(a,b,void 0);else a:{a=a.g[b];if(void 0===a.g)if(b=a.m,b===Boolean)a.g=!1;else if(b===Number)a.g=0;else if(b===String)a.g=a.l?\"0\":\"\";else{a=new b;break a}a=a.g}return a}\nfunction w(a,b){return x(a,b)||[]}function A(a,b){return a.g[b].h?null!=a.a[b]?a.a[b].length:0:null!=a.a[b]?1:0}function u(a,b,c){a.a[b]=c;a.c&&(a.c[b]=c)}function v(a,b,c){a.a[b]||(a.a[b]=[]);a.a[b].push(c);a.c&&delete a.c[b]}function B(a,b){var c=[],d;for(d in b)0!=d&&c.push(new da(d,b[d]));return new ma(a,c)};function C(){}C.prototype.a=function(a){new a.c;throw Error(\"Unimplemented\");};C.prototype.c=function(a,b){if(11==a.c||10==a.c)return b instanceof r?b:this.a(a.m.prototype.f(),b);if(14==a.c)return k(b)&&pa.test(b)&&(a=Number(b),0<a)?a:b;if(!a.l)return b;a=a.m;if(a===String){if(\"number\"==typeof b)return String(b)}else if(a===Number&&k(b)&&(\"Infinity\"===b||\"-Infinity\"===b||\"NaN\"===b||pa.test(b)))return Number(b);return b};var pa=/^-?[0-9]+$/;function D(){}n(D,C);D.prototype.a=function(a,b){a=new a.c;a.h=this;a.a=b;a.c={};return a};function E(){}n(E,D);E.prototype.c=function(a,b){return 8==a.c?!!b:C.prototype.c.apply(this,arguments)};E.prototype.a=function(a,b){return E.o.a.call(this,a,b)};function F(a,b){null!=a&&this.a.apply(this,arguments)}F.prototype.c=\"\";F.prototype.set=function(a){this.c=\"\"+a};F.prototype.a=function(a,b,c){this.c+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.c+=arguments[d];return this};F.prototype.toString=function(){return this.c};/*\n\n Protocol Buffer 2 Copyright 2008 Google Inc.\n All other code copyright its respective owners.\n Copyright (C) 2010 The Libphonenumber Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nfunction G(){r.call(this)}n(G,r);var qa=null;function H(){r.call(this)}n(H,r);var ra=null;function I(){r.call(this)}n(I,r);var sa=null;\nG.prototype.f=function(){var a=qa;a||(qa=a=B(G,{0:{name:\"NumberFormat\",j:\"i18n.phonenumbers.NumberFormat\"},1:{name:\"pattern\",required:!0,b:9,type:String},2:{name:\"format\",required:!0,b:9,type:String},3:{name:\"leading_digits_pattern\",i:!0,b:9,type:String},4:{name:\"national_prefix_formatting_rule\",b:9,type:String},6:{name:\"national_prefix_optional_when_formatting\",b:8,defaultValue:!1,type:Boolean},5:{name:\"domestic_carrier_code_formatting_rule\",b:9,type:String}}));return a};G.f=G.prototype.f;\nH.prototype.f=function(){var a=ra;a||(ra=a=B(H,{0:{name:\"PhoneNumberDesc\",j:\"i18n.phonenumbers.PhoneNumberDesc\"},2:{name:\"national_number_pattern\",b:9,type:String},9:{name:\"possible_length\",i:!0,b:5,type:Number},10:{name:\"possible_length_local_only\",i:!0,b:5,type:Number},6:{name:\"example_number\",b:9,type:String}}));return a};H.f=H.prototype.f;\nI.prototype.f=function(){var a=sa;a||(sa=a=B(I,{0:{name:\"PhoneMetadata\",j:\"i18n.phonenumbers.PhoneMetadata\"},1:{name:\"general_desc\",b:11,type:H},2:{name:\"fixed_line\",b:11,type:H},3:{name:\"mobile\",b:11,type:H},4:{name:\"toll_free\",b:11,type:H},5:{name:\"premium_rate\",b:11,type:H},6:{name:\"shared_cost\",b:11,type:H},7:{name:\"personal_number\",b:11,type:H},8:{name:\"voip\",b:11,type:H},21:{name:\"pager\",b:11,type:H},25:{name:\"uan\",b:11,type:H},27:{name:\"emergency\",b:11,type:H},28:{name:\"voicemail\",b:11,type:H},\n29:{name:\"short_code\",b:11,type:H},30:{name:\"standard_rate\",b:11,type:H},31:{name:\"carrier_specific\",b:11,type:H},33:{name:\"sms_services\",b:11,type:H},24:{name:\"no_international_dialling\",b:11,type:H},9:{name:\"id\",required:!0,b:9,type:String},10:{name:\"country_code\",b:5,type:Number},11:{name:\"international_prefix\",b:9,type:String},17:{name:\"preferred_international_prefix\",b:9,type:String},12:{name:\"national_prefix\",b:9,type:String},13:{name:\"preferred_extn_prefix\",b:9,type:String},15:{name:\"national_prefix_for_parsing\",\nb:9,type:String},16:{name:\"national_prefix_transform_rule\",b:9,type:String},18:{name:\"same_mobile_and_fixed_line_pattern\",b:8,defaultValue:!1,type:Boolean},19:{name:\"number_format\",i:!0,b:11,type:G},20:{name:\"intl_number_format\",i:!0,b:11,type:G},22:{name:\"main_country_for_code\",b:8,defaultValue:!1,type:Boolean},23:{name:\"leading_digits\",b:9,type:String},26:{name:\"leading_zero_possible\",b:8,defaultValue:!1,type:Boolean}}));return a};I.f=I.prototype.f;function J(){r.call(this)}n(J,r);var ta=null,ua={$:0,w:1,v:5,u:10,s:20};\nJ.prototype.f=function(){var a=ta;a||(ta=a=B(J,{0:{name:\"PhoneNumber\",j:\"i18n.phonenumbers.PhoneNumber\"},1:{name:\"country_code\",required:!0,b:5,type:Number},2:{name:\"national_number\",required:!0,b:4,type:Number},3:{name:\"extension\",b:9,type:String},4:{name:\"italian_leading_zero\",b:8,type:Boolean},8:{name:\"number_of_leading_zeros\",b:5,defaultValue:1,type:Number},5:{name:\"raw_input\",b:9,type:String},6:{name:\"country_code_source\",b:14,defaultValue:0,type:ua},7:{name:\"preferred_domestic_carrier_code\",\nb:9,type:String}}));return a};J.ctor=J;J.ctor.f=J.prototype.f;/*\n\n Copyright (C) 2010 The Libphonenumber Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nvar K={1:\"US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI\".split(\" \"),7:[\"RU\",\"KZ\"],20:[\"EG\"],27:[\"ZA\"],30:[\"GR\"],31:[\"NL\"],32:[\"BE\"],33:[\"FR\"],34:[\"ES\"],36:[\"HU\"],39:[\"IT\",\"VA\"],40:[\"RO\"],41:[\"CH\"],43:[\"AT\"],44:[\"GB\",\"GG\",\"IM\",\"JE\"],45:[\"DK\"],46:[\"SE\"],47:[\"NO\",\"SJ\"],48:[\"PL\"],49:[\"DE\"],51:[\"PE\"],52:[\"MX\"],53:[\"CU\"],54:[\"AR\"],55:[\"BR\"],56:[\"CL\"],57:[\"CO\"],58:[\"VE\"],60:[\"MY\"],61:[\"AU\",\"CC\",\"CX\"],62:[\"ID\"],63:[\"PH\"],64:[\"NZ\"],65:[\"SG\"],66:[\"TH\"],81:[\"JP\"],82:[\"KR\"],84:[\"VN\"],\n86:[\"CN\"],90:[\"TR\"],91:[\"IN\"],92:[\"PK\"],93:[\"AF\"],94:[\"LK\"],95:[\"MM\"],98:[\"IR\"],211:[\"SS\"],212:[\"MA\",\"EH\"],213:[\"DZ\"],216:[\"TN\"],218:[\"LY\"],220:[\"GM\"],221:[\"SN\"],222:[\"MR\"],223:[\"ML\"],224:[\"GN\"],225:[\"CI\"],226:[\"BF\"],227:[\"NE\"],228:[\"TG\"],229:[\"BJ\"],230:[\"MU\"],231:[\"LR\"],232:[\"SL\"],233:[\"GH\"],234:[\"NG\"],235:[\"TD\"],236:[\"CF\"],237:[\"CM\"],238:[\"CV\"],239:[\"ST\"],240:[\"GQ\"],241:[\"GA\"],242:[\"CG\"],243:[\"CD\"],244:[\"AO\"],245:[\"GW\"],246:[\"IO\"],247:[\"AC\"],248:[\"SC\"],249:[\"SD\"],250:[\"RW\"],251:[\"ET\"],252:[\"SO\"],\n253:[\"DJ\"],254:[\"KE\"],255:[\"TZ\"],256:[\"UG\"],257:[\"BI\"],258:[\"MZ\"],260:[\"ZM\"],261:[\"MG\"],262:[\"RE\",\"YT\"],263:[\"ZW\"],264:[\"NA\"],265:[\"MW\"],266:[\"LS\"],267:[\"BW\"],268:[\"SZ\"],269:[\"KM\"],290:[\"SH\",\"TA\"],291:[\"ER\"],297:[\"AW\"],298:[\"FO\"],299:[\"GL\"],350:[\"GI\"],351:[\"PT\"],352:[\"LU\"],353:[\"IE\"],354:[\"IS\"],355:[\"AL\"],356:[\"MT\"],357:[\"CY\"],358:[\"FI\",\"AX\"],359:[\"BG\"],370:[\"LT\"],371:[\"LV\"],372:[\"EE\"],373:[\"MD\"],374:[\"AM\"],375:[\"BY\"],376:[\"AD\"],377:[\"MC\"],378:[\"SM\"],380:[\"UA\"],381:[\"RS\"],382:[\"ME\"],383:[\"XK\"],385:[\"HR\"],\n386:[\"SI\"],387:[\"BA\"],389:[\"MK\"],420:[\"CZ\"],421:[\"SK\"],423:[\"LI\"],500:[\"FK\"],501:[\"BZ\"],502:[\"GT\"],503:[\"SV\"],504:[\"HN\"],505:[\"NI\"],506:[\"CR\"],507:[\"PA\"],508:[\"PM\"],509:[\"HT\"],590:[\"GP\",\"BL\",\"MF\"],591:[\"BO\"],592:[\"GY\"],593:[\"EC\"],594:[\"GF\"],595:[\"PY\"],596:[\"MQ\"],597:[\"SR\"],598:[\"UY\"],599:[\"CW\",\"BQ\"],670:[\"TL\"],672:[\"NF\"],673:[\"BN\"],674:[\"NR\"],675:[\"PG\"],676:[\"TO\"],677:[\"SB\"],678:[\"VU\"],679:[\"FJ\"],680:[\"PW\"],681:[\"WF\"],682:[\"CK\"],683:[\"NU\"],685:[\"WS\"],686:[\"KI\"],687:[\"NC\"],688:[\"TV\"],689:[\"PF\"],690:[\"TK\"],\n691:[\"FM\"],692:[\"MH\"],800:[\"001\"],808:[\"001\"],850:[\"KP\"],852:[\"HK\"],853:[\"MO\"],855:[\"KH\"],856:[\"LA\"],870:[\"001\"],878:[\"001\"],880:[\"BD\"],881:[\"001\"],882:[\"001\"],883:[\"001\"],886:[\"TW\"],888:[\"001\"],960:[\"MV\"],961:[\"LB\"],962:[\"JO\"],963:[\"SY\"],964:[\"IQ\"],965:[\"KW\"],966:[\"SA\"],967:[\"YE\"],968:[\"OM\"],970:[\"PS\"],971:[\"AE\"],972:[\"IL\"],973:[\"BH\"],974:[\"QA\"],975:[\"BT\"],976:[\"MN\"],977:[\"NP\"],979:[\"001\"],992:[\"TJ\"],993:[\"TM\"],994:[\"AZ\"],995:[\"GE\"],996:[\"KG\"],998:[\"UZ\"]},wa={AC:[,[,,\"(?:[01589]\\\\d|[46])\\\\d{4}\",\n,,,,,,[5,6]],[,,\"6[2-467]\\\\d{3}\",,,,\"62889\",,,[5]],[,,\"4\\\\d{4}\",,,,\"40123\",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AC\",247,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"[01589]\\\\d{5}\",,,,\"542011\",,,[6]],,,[,,,,,,,,,[-1]]],AD:[,[,,\"(?:1|6\\\\d)\\\\d{7}|[136-9]\\\\d{5}\",,,,,,,[6,8,9]],[,,\"[78]\\\\d{5}\",,,,\"712345\",,,[6]],[,,\"690\\\\d{6}|[36]\\\\d{5}\",,,,\"312345\",,,[6,9]],[,,\"180[02]\\\\d{4}\",,,,\"18001234\",,,[8]],[,,\"[19]\\\\d{5}\",,,,\"912345\",,,[6]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AD\",376,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[136-9]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],,[,,,,,,,,,[-1]],,,[,,\"1800\\\\d{4}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AE:[,[,,\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",,,,,,,[5,6,7,8,9,10,11,12]],[,,\"[2-4679][2-8]\\\\d{6}\",,,,\"22345678\",,,[8],[7]],[,,\"5[024-68]\\\\d{7}\",,,,\"501234567\",,,[9]],[,,\"400\\\\d{6}|800\\\\d{2,9}\",,,,\"800123456\"],[,,\"900[02]\\\\d{5}\",\n,,,\"900234567\",,,[9]],[,,\"700[05]\\\\d{5}\",,,,\"700012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AE\",971,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"600[25]\\\\d{5}\",,,,\"600212345\",,,[9]],,,[,,,,,,,,,[-1]]],AF:[,[,,\"[2-7]\\\\d{8}\",,,,,,,[9],[7]],[,,\"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\\\d{6}\",\n,,,\"234567890\",,,,[7]],[,,\"7(?:[014-9]\\\\d|2[89]|3[01])\\\\d{6}\",,,,\"701234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AF\",93,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AG:[,[,,\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"268(?:4(?:6[0-38]|84)|56[0-2])\\\\d{4}\",\n,,,\"2684601234\",,,,[7]],[,,\"268(?:464|7(?:1[3-9]|2\\\\d|3[246]|64|[78][0-689]))\\\\d{4}\",,,,\"2684641234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"26848[01]\\\\d{4}\",,,,\"2684801234\",,,,[7]],\"AG\",1,\"011\",\"1\",,,\"1\",,,,,,[,,\"26840[69]\\\\d{4}\",,,,\"2684061234\",,,,[7]],,\"268\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AI:[,[,,\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,\n,,,[10],[7]],[,,\"2644(?:6[12]|9[78])\\\\d{4}\",,,,\"2644612345\",,,,[7]],[,,\"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\\\d{4}\",,,,\"2642351234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"AI\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"264\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AL:[,[,,\"(?:(?:[2-58]|6\\\\d)\\\\d\\\\d|700)\\\\d{5}|(?:8\\\\d{2,3}|900)\\\\d{3}\",\n,,,,,,[6,7,8,9],[5]],[,,\"(?:[2358](?:[16-9]\\\\d[2-9]|[2-5][2-9]\\\\d)|4(?:[2-57-9][2-9]|6\\\\d)\\\\d)\\\\d{4}\",,,,\"22345678\",,,[8],[5,6,7]],[,,\"6(?:[689][2-9]|7[2-6])\\\\d{6}\",,,,\"662123456\",,,[9]],[,,\"800\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"900[1-9]\\\\d\\\\d\",,,,\"900123\",,,[6]],[,,\"808[1-9]\\\\d\\\\d\",,,,\"808123\",,,[6]],[,,\"700[2-9]\\\\d{4}\",,,,\"70021234\",,,[8]],[,,,,,,,,,[-1]],\"AL\",355,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AM:[,[,,\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",,,,,,,[8],[5,6]],[,,\"(?:(?:1[0-2]|47)\\\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\\\d{5}\",,,,\"10123456\",,,,[5,6]],[,,\"(?:4[1349]|55|77|88|9[13-9])\\\\d{6}\",,,,\"77123456\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"90[016]\\\\d{5}\",,,,\"90012345\"],[,,\"80[1-4]\\\\d{5}\",\n,,,\"80112345\"],[,,,,,,,,,[-1]],[,,\"60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\\\d|90)\\\\d{4}\",,,,\"60271234\"],\"AM\",374,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23]\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-7]|88|9[13-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0 $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AO:[,[,,\"[29]\\\\d{8}\",,,,,,,[9]],[,,\"2\\\\d(?:[0134][25-9]|[25-9]\\\\d)\\\\d{5}\",,,,\"222123456\"],\n[,,\"9[1-49]\\\\d{7}\",,,,\"923123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AO\",244,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AR:[,[,,\"(?:11|(?:[2368]|9\\\\d)\\\\d)\\\\d{8}\",,,,,,,[10,11],[6,7,8]],[,,\"(?:(?:11[2-7]|670)\\\\d\\\\d|2(?:2(?:0(?:2[4-6]|[45]\\\\d)|(?:1[2-6]|3[3-6])\\\\d|2(?:14|[3467][4-6]|[59][45])|4(?:[156][4-6]|[23]4|4[45])|5(?:2[45]|[45][4-6]|7[3-6])|6(?:[145]4|2[2-6]|[6-8][4-6])|7[1-4]4|8(?:1[3-6]|[356]4|4[2-7])|9(?:1[4-6]|[267]4))|3(?:0(?:2[2-6]|4\\\\d)|1(?:[47][4-6]|64)|2(?:[03][2-6]|4[3-6]|5[4-6]|6[45])|3[13-8]4|4(?:[24][45]|34|5[4-6]|6[3-6])|5(?:[25][4-6]|[346-8]4)|(?:64|7[45])\\\\d|9(?:2[3-6]|[3-5]4|6[4-6]))|4(?:7(?:3[45]|[48][4-6]|54|7[2-6])|94\\\\d)|6(?:(?:04|1[2-7]|[36][45])\\\\d|2(?:2[2-6]|[46]4|5[4-6])|4(?:[45]\\\\d|6[0-46-9]|[78]4)|5(?:[1568]4|7[2-7]))|80[45]\\\\d|9(?:0(?:1[3-6]|2[45]|34)|(?:1[4-6]|9[3-6])\\\\d|2(?:0[2-7]|[1457-9]4|[26][45]|3[3-6])|3(?:[1356]4|2[4-6]|4[45])|4(?:[08]4|2[2-6]|4\\\\d|5[02-69]|6[45])|5(?:[23]4|4[2-8])|6(?:[23]4|4[3-6]|6[2-7])|7(?:2[45]|[4-6]\\\\d)|8(?:24|3[2-6]|[45]\\\\d)))|3(?:3(?:2(?:7[45]|9[3-6])|64\\\\d|8[2578][4-6])|4(?:0[0-24-9][4-6]|(?:1[2-7]|2[4-6])\\\\d|3(?:4\\\\d|5[0-7]|6[1-69]|[78][4-6])|4(?:2[3-6]|[457][4-6]|6[2-6])|5(?:4[0-4679]|[56][024-6]|8[4-6])|6(?:[03-9][4-6]|2[2-6])|7(?:1[3-6]|2[4-6]|6[2-6])|8(?:[27][2-7]|3[4-6]|4\\\\d|9[2-6])|9(?:[136-8][4-6]|2[2-7]))|5(?:1[2-8]\\\\d|2(?:[124][4-6]|5[3-6])|3(?:[23][4-6]|[4-6]\\\\d|7[3-6])|4(?:1[2-6]|[2689][4-6]|[347][3-6])|6(?:[23][4-6]|4[2-6])|7(?:1[3-6]|[2-6][4-6])|8(?:[23][4-6]|[46]\\\\d|5[013-7]))|6(?:2[45]|44)\\\\d|7(?:[069][45]\\\\d|1(?:[15][46]|6[4-6]|8[3-6])|(?:2[15]|3[145]|4[13])[4-6]|5(?:[17][3-6]|[468][4-6]|5[2-7])|7(?:[2-5][4-6]|7[2-8])|8(?:1[46]|[26][4-6]))|8(?:(?:0[45]|1[2-6])\\\\d|2(?:1[46]|[5-7][4-6])|3(?:[278][4-6]|4\\\\d|5[124-6])|4(?:[16][46]|[3-5][4-6])|5(?:[34]\\\\d|5[0-46-9]|6[0-246-9]|[78][4-6])|6(?:[1-378][4-6]|5[2-8]|9[46])|7(?:[24-6]\\\\d|3[2-6]|7[4-6]|8[2-7])|8(?:[3-5]\\\\d|6[0-68]|7[4-6]|8[3-6])|9(?:[12][46]|4[4-6]))))\\\\d{5}\",\n,,,\"1123456789\",,,[10],[6,7,8]],[,,\"(?:675\\\\d\\\\d|9(?:11[2-7]\\\\d\\\\d|2(?:2(?:0(?:2[4-6]|[45]\\\\d)|(?:1[2-6]|3[3-6])\\\\d|2(?:14|[3467][4-6]|[59][45])|4(?:[156][4-6]|[23]4|4[45])|5(?:2[45]|[45][4-6]|7[3-6])|6(?:[145]4|2[2-6]|[6-8][4-6])|7[1-4]4|8(?:1[3-6]|[356]4|4[2-7])|9(?:1[4-6]|[267]4))|3(?:0(?:2[2-6]|4\\\\d)|1(?:[47][4-6]|64)|2(?:[03][2-6]|4[3-6]|5[4-6]|6[45])|3[13-8]4|4(?:[24][45]|34|5[4-6]|6[3-6])|5(?:[25][4-6]|[346-8]4)|(?:64|7[45])\\\\d|9(?:2[3-6]|[3-5]4|6[4-6]))|4(?:7(?:3[45]|[48][4-6]|54|7[2-6])|94\\\\d)|6(?:(?:04|1[2-7]|[36][45])\\\\d|2(?:2[2-6]|[46]4|5[4-6])|4(?:[45]\\\\d|6[0-46-9]|[78]4)|5(?:[1568]4|7[2-7]))|80[45]\\\\d|9(?:0(?:1[3-6]|2[45]|34)|(?:1[4-6]|9[3-6])\\\\d|2(?:0[2-7]|[1457-9]4|[26][45]|3[3-6])|3(?:[1356]4|2[4-6]|4[45])|4(?:[08]4|2[2-6]|4\\\\d|5[02-69]|6[45])|5(?:[23]4|4[2-8])|6(?:[23]4|4[3-6]|6[2-7])|7(?:2[45]|[4-6]\\\\d)|8(?:24|3[2-6]|[45]\\\\d)))|3(?:3(?:2(?:7[45]|9[3-6])|64\\\\d|8[2578][4-6])|4(?:0[0-24-9][4-6]|(?:1[2-7]|2[4-6])\\\\d|3(?:4\\\\d|5[0-7]|6[1-69]|[78][4-6])|4(?:2[3-6]|[457][4-6]|6[2-6])|5(?:4[0-4679]|[56][024-6]|8[4-6])|6(?:[03-9][4-6]|2[2-6])|7(?:1[3-6]|2[4-6]|6[2-6])|8(?:[27][2-7]|3[4-6]|4\\\\d|9[2-6])|9(?:[136-8][4-6]|2[2-7]))|5(?:1[2-8]\\\\d|2(?:[124][4-6]|5[3-6])|3(?:[23][4-6]|[4-6]\\\\d|7[3-6])|4(?:1[2-6]|[2689][4-6]|[347][3-6])|6(?:[23][4-6]|4[2-6])|7(?:1[3-6]|[2-6][4-6])|8(?:[23][4-6]|[46]\\\\d|5[013-7]))|6(?:2[45]|44)\\\\d|7(?:[069][45]\\\\d|1(?:[15][46]|6[4-6]|8[3-6])|(?:2[15]|3[145]|4[13])[4-6]|5(?:[17][3-6]|[468][4-6]|5[2-7])|7(?:[2-5][4-6]|7[2-8])|8(?:1[46]|[26][4-6]))|8(?:(?:0[45]|1[2-6])\\\\d|2(?:1[46]|[5-7][4-6])|3(?:[278][4-6]|4\\\\d|5[124-6])|4(?:[16][46]|[3-5][4-6])|5(?:[34]\\\\d|5[0-46-9]|6[0-246-9]|[78][4-6])|6(?:[1-378][4-6]|5[2-8]|9[46])|7(?:[24-6]\\\\d|3[2-6]|7[4-6]|8[2-7])|8(?:[3-5]\\\\d|6[0-68]|7[4-6]|8[3-6])|9(?:[12][46]|4[4-6])))))\\\\d{5}\",\n,,,\"91123456789\",,,,[6,7,8]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"60[04579]\\\\d{7}\",,,,\"6001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AR\",54,\"00\",\"0\",,,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\n\"9$1\",,,[[,\"(\\\\d{3})\",\"$1\",[\"[019]\"]],[,\"(\\\\d{2})(\\\\d{4})\",\"$1-$2\",[\"[2-7]|8[0-7]\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-7]|8[013-8]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[2-7]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578])\",\"2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4[4-6])|8|9(?:[19]|[48][45]|7[4-6]))|3(?:36|4(?:[12]|[35][4-6]|84)|5(?:1|[38][4-6])|6|7[069]|8(?:[01]|3[45]|[58][3-6]|7[24-6]))\",\n\"2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5[039])|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5[0-47]|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4[0-36-9]|5[013467]|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4[0-35-9]|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28])))\",\"2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5(?:[09]|3[016-9]))|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5(?:[0-37]|4[347])|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4(?:[0-37-9]|6[1-9])|5(?:[0137]|4[4-8]|6[0-35-9])|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4(?:[0-37-9]|5[0289]|6[0-7])|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28])))\"],\n\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",,1],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-4689]|3[3-8])\",\"9(?:2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578]))\",\"9(?:2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4[4-6])|8|9(?:[19]|[48][45]|7[4-6]))|3(?:36|4(?:[12]|[35][4-6]|84)|5(?:1|[38][4-6])|6|7[069]|8(?:[01]|3[45]|[58][3-6]|7[24-6])))\",\"9(?:2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5[039])|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5[0-47]|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4[0-36-9]|5[013467]|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4[0-35-9]|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28]))))\",\n\"9(?:2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5(?:[09]|3[016-9]))|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5(?:[0-37]|4[347])|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4(?:[0-37-9]|6[1-9])|5(?:[0137]|4[4-8]|6[0-35-9])|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4(?:[0-37-9]|5[0289]|6[0-7])|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28]))))\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\"]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578])\",\"2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4[4-6])|8|9(?:[19]|[48][45]|7[4-6]))|3(?:36|4(?:[12]|[35][4-6]|84)|5(?:1|[38][4-6])|6|7[069]|8(?:[01]|3[45]|[58][3-6]|7[24-6]))\",\"2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5[039])|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5[0-47]|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4[0-36-9]|5[013467]|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4[0-35-9]|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28])))\",\n\"2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5(?:[09]|3[016-9]))|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5(?:[0-37]|4[347])|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4(?:[0-37-9]|6[1-9])|5(?:[0137]|4[4-8]|6[0-35-9])|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4(?:[0-37-9]|5[0289]|6[0-7])|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28])))\"],\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",,1],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\"$1 $2 $3-$4\",[\"91\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3-$4\",[\"9(?:2[2-4689]|3[3-8])\",\"9(?:2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578]))\",\"9(?:2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4[4-6])|8|9(?:[19]|[48][45]|7[4-6]))|3(?:36|4(?:[12]|[35][4-6]|84)|5(?:1|[38][4-6])|6|7[069]|8(?:[01]|3[45]|[58][3-6]|7[24-6])))\",\"9(?:2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5[039])|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5[0-47]|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4[0-36-9]|5[013467]|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4[0-35-9]|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28]))))\",\n\"9(?:2(?:2(?:0[45]|[13])|3(?:04|[67])|49|6(?:[0136]|4(?:[45]|6[0-36-9]))|8|9(?:[19]|4(?:4|5(?:[09]|3[016-9]))|7[4-6]|8[45]))|3(?:36|4(?:[12]|3(?:4|5(?:[0-37]|4[347])|6[1-39])|5(?:4[0-379]|[56][02])|84)|5(?:1|3[4-6]|8(?:4(?:[0-37-9]|6[1-9])|5(?:[0137]|4[4-8]|6[0-35-9])|6))|6|7[069]|8(?:[01]|3(?:4|5[12])|5(?:3|4(?:[0-37-9]|5[0289]|6[0-7])|5[0-37-9]|6[0-27-9])|7(?:[245]|6[0-37-9])|8(?:[34]|5[0-37-9]|6[0-28]))))\"]],[,\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3-$4\",[\"9\"]]],[,,,,,,,,,[-1]],,,[,,\"810\\\\d{7}\",\n,,,,,,[10]],[,,\"810\\\\d{7}\",,,,\"8101234567\",,,[10]],,,[,,,,,,,,,[-1]]],AS:[,[,,\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"6846(?:22|33|44|55|77|88|9[19])\\\\d{4}\",,,,\"6846221234\",,,,[7]],[,,\"684(?:2(?:5[2468]|72)|7(?:3[13]|70))\\\\d{4}\",,,,\"6847331234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"AS\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"684\",\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AT:[,[,,\"[1-35-9]\\\\d{8,12}|4(?:[0-24-9]\\\\d{4,11}|3(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7}))|[1-35-8]\\\\d{7}|[1-35-7]\\\\d{6}|[135-7]\\\\d{5}|[15]\\\\d{4}|1\\\\d{3}\",,,,,,,[4,5,6,7,8,9,10,11,12,13],[3]],[,,\"(?:1(?:11|[2-9]\\\\d{2,10})|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\\\d{3,9}|4(?:(?:2[1-8]|35|7[1368]|8[2457])\\\\d{3,9}|63\\\\d{2,9})|5(?:12\\\\d{2,9}|(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])\\\\d{3,9})|6(?:(?:13|2[1-47]|4[135-8]|5[468])\\\\d{3,9}|62\\\\d{2,9}))\\\\d|(?:316|732)\\\\d{3}\",\n,,,\"1234567890\",,,,[3]],[,,\"6(?:5[0-3579]|6[013-9]|[7-9]\\\\d)\\\\d{4,10}\",,,,\"664123456\",,,[7,8,9,10,11,12,13]],[,,\"800\\\\d{6,10}\",,,,\"800123456\",,,[9,10,11,12,13]],[,,\"9(?:0[01]|3[019])\\\\d{6,10}\",,,,\"900123456\",,,[9,10,11,12,13]],[,,\"8(?:10|2[018])\\\\d{6,10}|828\\\\d{5}\",,,,\"810123456\",,,[8,9,10,11,12,13]],[,,,,,,,,,[-1]],[,,\"5(?:0[1-9]|17|[79]\\\\d)\\\\d{2,10}|7[28]0\\\\d{6,10}\",,,,\"780123456\",,,[5,6,7,8,9,10,11,12,13]],\"AT\",43,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{6})\",\"$1\",[\"11\"]],[,\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\n\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],[[,\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\n\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AU:[,[,,\"1\\\\d{4,9}|(?:[2-478]\\\\d\\\\d|550)\\\\d{6}\",,,,,,,[5,6,7,8,9,10]],[,,\"(?:[237]\\\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\\\d|4[0-4]))|(?:[6-8]\\\\d{3}|9(?:[02-9]\\\\d\\\\d|1(?:[0-57-9]\\\\d|6[0135-9])))\\\\d))\\\\d{3}\",\n,,,\"212345678\",,,[9],[8]],[,,\"4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2457-9]|9[017-9])\\\\d{6}\",,,,\"412345678\",,,[9]],[,,\"180(?:0\\\\d{3}|2)\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"190[0-26]\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",,,,\"1300123456\",,,[6,8,10]],[,,,,,,,,,[-1]],[,,\"(?:14(?:5\\\\d|71)|550\\\\d)\\\\d{5}\",,,,\"550123456\",,,[9]],\"AU\",61,\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"0\",,,\"0\",,\"0011\",,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"19\"]],[,\"(\\\\d{4})(\\\\d{3,4})\",\n\"$1 $2\",[\"19\"]],[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"13\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"180\",\"1802\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|[45]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],[[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|[45]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],[,,\"16\\\\d{3,7}\",,,,\"1612345\",,,[5,6,7,8,9]],1,,[,,\"1[38]00\\\\d{6}|1(?:345[0-4]|802)\\\\d{3}|13\\\\d{4}\",,,,,,,[6,7,8,10]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AW:[,[,,\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",,,,,,,[7]],[,,\"5(?:2\\\\d|8[1-9])\\\\d{4}\",,,,\"5212345\"],[,,\"(?:290|5[69]\\\\d|6(?:[03]0|22|4[0-2]|[69]\\\\d)|7(?:[34]\\\\d|7[07])|9(?:6[45]|9[4-8]))\\\\d{4}\",,,,\"5601234\"],[,\n,\"800\\\\d{4}\",,,,\"8001234\"],[,,\"900\\\\d{4}\",,,,\"9001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:28\\\\d|501)\\\\d{4}\",,,,\"5011234\"],\"AW\",297,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AX:[,[,,\"(?:(?:[1247]\\\\d|3[0-46-9]|[56]0)\\\\d\\\\d|800)\\\\d{4,6}|(?:[1-47]\\\\d|50)\\\\d{4,5}|2\\\\d{4}\",,,,,,,[5,6,7,8,9,10]],[,,\"18[1-8]\\\\d{3,6}\",,,,\"181234567\",,,[6,7,8,9]],[,,\"(?:4[0-8]|50)\\\\d{4,8}\",,,,\"412345678\",,,[6,7,8,9,10]],[,,\"800\\\\d{4,6}\",\n,,,\"800123456\",,,[7,8,9]],[,,\"[67]00\\\\d{5,6}\",,,,\"600123456\",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AX\",358,\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"0\",,,\"0\",,\"00\",,,,[,,,,,,,,,[-1]],,\"18\",[,,,,,,,,,[-1]],[,,\"(?:10|[23][09])\\\\d{4,8}|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:(?:1|3\\\\d)\\\\d{7}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d\",,,,\"10112345\"],,,[,,,,,,,,,[-1]]],AZ:[,[,,\"(?:(?:(?:[12457]\\\\d|60|88)\\\\d|365)\\\\d{3}|900200)\\\\d{3}\",,,,,,,[9],[7]],[,,\"(?:(?:1[28]\\\\d|2(?:[045]2|1[24]|2[2-4]|33|6[23]))\\\\d\\\\d|365(?:[0-46-9]\\\\d|5[0-35-9]))\\\\d{4}\",\n,,,\"123123456\",,,,[7]],[,,\"(?:36554|(?:4[04]|5[015]|60|7[07])\\\\d{3})\\\\d{4}\",,,,\"401234567\"],[,,\"88\\\\d{7}\",,,,\"881234567\"],[,,\"900200\\\\d{3}\",,,,\"900200123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AZ\",994,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[12]|365\",\"[12]|365\",\"[12]|365(?:[0-46-9]|5[0-35-9])\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",\n[\"[3-8]\"],\"0$1\"]],[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[12]|365\",\"[12]|365\",\"[12]|365(?:[0-46-9]|5[0-35-9])\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[3-8]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BA:[,[,,\"(?:[3589]\\\\d|49|6\\\\d\\\\d?|70)\\\\d{6}\",,,,,,,[8,9],[6]],[,,\"(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\\\d{5}\",\n,,,\"30212345\",,,[8],[6]],[,,\"6(?:0(?:3\\\\d|40)|[1-356]\\\\d|44[0-6]|71[137])\\\\d{5}\",,,,\"61123456\"],[,,\"8[08]\\\\d{6}\",,,,\"80123456\",,,[8]],[,,\"9[0246]\\\\d{6}\",,,,\"90123456\",,,[8]],[,,\"8[12]\\\\d{6}\",,,,\"82123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BA\",387,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-9]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-356]|[7-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],[[,\n\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-356]|[7-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"70(?:3[0146]|[56]0)\\\\d{4}\",,,,\"70341234\",,,[8]],,,[,,,,,,,,,[-1]]],BB:[,[,,\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\\\d|3[2-9])|5(?:20|[34]\\\\d|54|7[1-3])|6(?:2\\\\d|38)|7[35]7|9(?:1[89]|63))\\\\d{4}\",,,,\"2464123456\",,,,[7]],[,,\"246(?:2(?:[356]\\\\d|4[0-57-9]|8[0-79])|45\\\\d|69[5-7]|8(?:[2-5]\\\\d|83))\\\\d{4}\",\n,,,\"2462501234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"(?:246976|900[2-9]\\\\d\\\\d)\\\\d{4}\",,,,\"9002123456\",,,,[7]],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"24631\\\\d{5}\",,,,\"2463101234\",,,,[7]],\"BB\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"246\",[,,,,,,,,,[-1]],[,,\"246(?:292|367|4(?:1[7-9]|3[01]|44|67)|7(?:36|53))\\\\d{4}\",,,,\"2464301234\",,,,[7]],,,[,,,,,,,,,[-1]]],BD:[,[,,\"[13469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-7]\\\\d{8}|[2-9]\\\\d{7}|[3-689]\\\\d{6}|[57-9]\\\\d{5}\",\n,,,,,,[6,7,8,9,10]],[,,\"(?:(?:2(?:[45]\\\\d{3}|7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|[13][1-6]|2[0157-9]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[01367]|7[15]|8[0146-9]))|7(?:02|21\\\\d|[3-589]1|6[12]|72[24])\\\\d|8(?:(?:[01]|217|3[12])\\\\d|4[12]|[5-7](?:1\\\\d|2)))\\\\d|3(?:(?:0(?:2[348]\\\\d|3[2-6])|(?:1(?:2[5-7]|[5-7])|3(?:1|24)|[5-7]1)\\\\d)\\\\d|2(?:1\\\\d\\\\d|2(?:[35]\\\\d\\\\d|4))|4(?:1\\\\d\\\\d|2(?:[25]\\\\d\\\\d|[47]))|8(?:1\\\\d\\\\d|2(?:(?:2\\\\d|4)\\\\d|3)))|4(?:0(?:2(?:[09]\\\\d|7)|33\\\\d\\\\d)|(?:1\\\\d|4(?:2[2-46]|5[25])|8(?:23|54))\\\\d\\\\d|2(?:1\\\\d\\\\d|2(?:[25]|[67]\\\\d\\\\d))|3(?:1\\\\d\\\\d(?:\\\\d{2})?|(?:2[236-9]|32)\\\\d\\\\d)|525|6(?:(?:[18]|2[3-6]|62)\\\\d\\\\d|5(?:[38]|[5-7]\\\\d\\\\d))|9(?:(?:[18]|2[2-5])\\\\d\\\\d|53\\\\d\\\\d?))|5(?:(?:02[03489]|1|22[2457]|32[35-79]|42[46]|[58]26|724)\\\\d\\\\d|6(?:(?:[18]|53)\\\\d\\\\d|2))|6(?:(?:(?:[04]2[34]|32[3478]|52[47]|[78]2[2-5]|92[2-6])\\\\d|6(?:[18]\\\\d|6(?:2(?:2|[34]\\\\d)|5[245]\\\\d)))\\\\d|2(?:(?:2[2-5]|8)\\\\d\\\\d|5(?:[3-5]\\\\d\\\\d|7)))|9(?:[24]1\\\\d\\\\d|[35]1))\\\\d{3}|(?:3(?:0(?:2[02-9]\\\\d|3[56])|(?:22[1-5]|32[2-6]|422)\\\\d|529)|(?:4(?:22[2-8]|32[02-9]|(?:[48][18]|71)\\\\d|5(?:1\\\\d|23)|6(?:2[467]|5[3-57]))|5(?:[2-47-9]1\\\\d|5(?:1\\\\d|26))|6(?:0(?:1\\\\d|24)|[3-589]1\\\\d|665[35])|81|9(?:[024]2|1\\\\d|81))\\\\d|732)\\\\d{3}|(?:4[46]23|5(?:222|32[37]))\\\\d{3}\",\n,,,\"27111234\"],[,,\"(?:1[13-9]\\\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\\\d{7}\",,,,\"1812345678\",,,[10]],[,,\"80[03]\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"96(?:0[469]|1[0-47]|3[389]|6[69]|7[78])\\\\d{6}\",,,,\"9604123456\",,,[10]],\"BD\",880,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-7]|[459]1\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[2-5]1|[67]|8[013-9])|4(?:[235]1|4[01346-9]|6[168]|7|[89][18])|5(?:[2-578]1|6[128]|9)|6(?:[0389]1|28|4[14]|5|6[01346-9])|7(?:[2-589]|61)|8(?:0[014-9]|[12]|[3-7]1)|9(?:[24]1|[358])\"],\n\"0$1\"],[,\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BE:[,[,,\"4\\\\d{8}|[1-9]\\\\d{7}\",,,,,,,[8,9]],[,,\"(?:(?:1[0-69]|[23][2-8]|4[23]|5\\\\d|6[013-57-9]|71|9[2-4])\\\\d|8(?:0[2-8]|[1-79]\\\\d))\\\\d{5}\",,,,\"12345678\",,,[8]],[,,\"4(?:5[56]|6[0135-8]|[79]\\\\d|8[3-9])\\\\d{6}\",,,,\"470123456\",,,[9]],[,,\"800[1-9]\\\\d{4}\",,,,\"80012345\",,,[8]],[,,\"(?:70(?:2[0-57]|3[0457]|44|69|7[0579])|90(?:0[0-35-8]|1[36]|2[0-3568]|3[0135689]|4[2-68]|5[1-68]|6[0-378]|7[23568]|9[34679]))\\\\d{4}\",\n,,,\"90012345\",,,[8]],[,,\"7879\\\\d{4}\",,,,\"78791234\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BE\",32,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]|4[23]|9[2-4]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-7]|8(?:0[2-8]|[1-79])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"78(?:0[57]|1[0458]|2[25]|3[5-8]|48|[56]0|7[078])\\\\d{4}\",,,,\n\"78102345\",,,[8]],,,[,,,,,,,,,[-1]]],BF:[,[,,\"[25-7]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:0(?:49|5[23]|6[56]|9[016-9])|4(?:4[569]|5[4-6]|6[56]|7[0179])|5(?:[34]\\\\d|50|6[5-7]))\\\\d{4}\",,,,\"20491234\"],[,,\"(?:5[124-8]|[67]\\\\d)\\\\d{6}\",,,,\"70123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BF\",226,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[25-7]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BG:[,[,,\"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",\n,,,,,,[6,7,8,9],[4,5]],[,,\"(?:(?:[236]\\\\d|5[1-9]|8[1-6]|9[1-7])\\\\d|4(?:[124-7]\\\\d|3[1-6])|7(?:0[1-9]|[1-9]\\\\d))\\\\d{4,5}|2\\\\d{5}\",,,,\"2123456\",,,[6,7,8],[4,5]],[,,\"(?:4(?:3[07-9]|8\\\\d)|(?:8[7-9]\\\\d|9(?:8\\\\d|9[69]))\\\\d)\\\\d{5}\",,,,\"48123456\",,,[8,9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"90\\\\d{6}\",,,,\"90123456\",,,[8]],[,,,,,,,,,[-1]],[,,\"700\\\\d{5}\",,,,\"70012345\",,,[8]],[,,,,,,,,,[-1]],\"BG\",359,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",\n[\"43[1-6]|70[1-9]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|70[1-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"7|80\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BH:[,[,,\"[136-9]\\\\d{7}\",\n,,,,,,[8]],[,,\"(?:1(?:3[1356]|6[0156]|7\\\\d)\\\\d|6(?:1[16]\\\\d|500|6(?:0\\\\d|3[12]|44|7[7-9])|9[69][69])|7(?:1(?:11|78)|7\\\\d\\\\d))\\\\d{4}\",,,,\"17001234\"],[,,\"(?:3(?:[1-4679]\\\\d|5[013-69]|8[0-47-9])\\\\d|6(?:3(?:00|33|6[16])|6(?:3[03-9]|[69]\\\\d|7[0-6])))\\\\d{4}\",,,,\"36001234\"],[,,\"80\\\\d{6}\",,,,\"80123456\"],[,,\"(?:87|9[014578])\\\\d{6}\",,,,\"90123456\"],[,,\"84\\\\d{6}\",,,,\"84123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BH\",973,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[047]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,\n,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BI:[,[,,\"(?:[267]\\\\d|31)\\\\d{6}\",,,,,,,[8]],[,,\"22\\\\d{6}\",,,,\"22201234\"],[,,\"(?:29|31|6[189]|7[125-9])\\\\d{6}\",,,,\"79561234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BI\",257,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BJ:[,[,,\"[2689]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:02|1[037]|2[45]|3[68])\\\\d{5}\",,,,\"20211234\"],[,,\"(?:6\\\\d|9[03-9])\\\\d{6}\",\n,,,\"90011234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"857[58]\\\\d{4}\",,,,\"85751234\"],\"BJ\",229,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"81\\\\d{6}\",,,,\"81123456\"],,,[,,,,,,,,,[-1]]],BL:[,[,,\"(?:590|69\\\\d)\\\\d{6}\",,,,,,,[9]],[,,\"590(?:2[7-9]|5[12]|87)\\\\d{4}\",,,,\"590271234\"],[,,\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\",,,,\"690001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],\"BL\",590,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BM:[,[,,\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"441(?:2(?:02|23|[3479]\\\\d|61)|[46]\\\\d\\\\d|5(?:4\\\\d|60|89)|824)\\\\d{4}\",,,,\"4412345678\",,,,[7]],[,,\"441(?:[37]\\\\d|5[0-39])\\\\d{5}\",,,,\"4413701234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,\n,,[-1]],\"BM\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"441\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BN:[,[,,\"[2-578]\\\\d{6}\",,,,,,,[7]],[,,\"(?:2(?:[013-9]\\\\d|2[0-7])|[3-5]\\\\d\\\\d)\\\\d{4}\",,,,\"2345678\"],[,,\"(?:22[89]|[78]\\\\d\\\\d)\\\\d{4}\",,,,\"7123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BN\",673,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BO:[,[,,\"(?:[2-467]\\\\d{3}|80017)\\\\d{4}\",\n,,,,,,[8,9],[7]],[,,\"(?:2(?:2\\\\d\\\\d|5(?:11|[258]\\\\d|9[67])|6(?:12|2\\\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\\\d\\\\d|4(?:6\\\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\\\d\\\\d|6(?:11|[24689]\\\\d|72)))\\\\d{4}\",,,,\"22123456\",,,[8],[7]],[,,\"[67]\\\\d{7}\",,,,\"71234567\",,,[8]],[,,\"80017\\\\d{4}\",,,,\"800171234\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BO\",591,\"00(?:1\\\\d)?\",\"0\",,,\"0(1\\\\d)?\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[2-4]\"],,\"0$CC $1\"],[,\"(\\\\d{8})\",\n\"$1\",[\"[67]\"],,\"0$CC $1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],,\"0$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BQ:[,[,,\"(?:[34]1|7\\\\d)\\\\d{5}\",,,,,,,[7]],[,,\"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|50)\\\\d)\\\\d{3}\",,,,\"7151234\"],[,,\"(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\\\d|9[056])\\\\d)\\\\d{3}\",,,,\"3181234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BQ\",599,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"[347]\",[,,,,,,,,,\n[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BR:[,[,,\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-24679]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",,,,,,,[8,9,10,11]],[,,\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\\\d{7}\",,,,\"1123456789\",,,[10],[8]],[,,\"(?:[189][1-9]|2[12478])(?:7|9\\\\d)\\\\d{7}|(?:3[1-578]|[46][1-9]|5[13-5]|7[13-579])(?:[6-9]|9\\\\d)\\\\d{7}\",,,,\"11961234567\",,,[10,11],[8]],[,,\"800\\\\d{6,7}\",,,,\"800123456\",,,[9,10]],[,,\"(?:300|[59]00\\\\d?)\\\\d{6}\",,,,\"300123456\",,,[9,10]],[,,\"(?:300\\\\d(?:\\\\d{2})?|4(?:0(?:0\\\\d|20)|370))\\\\d{4}\",\n,,,\"40041234\",,,[8,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BR\",55,\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"0\",,,\"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\",,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"300|4(?:0(?:0|20)|370)\"]],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3589]00\"],\"0$1\"],[,\"(\\\\d{3,5})\",\"$1\",[\"1[125689]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[2-9](?:0[1-9]|[1-9])\"]],[,\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"9(?:0[1-9]|[1-9])\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"[1-9][1-9]\"],\n\"($1)\",\"0 $CC ($1)\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[1-9][1-9]9\"],\"($1)\",\"0 $CC ($1)\"]],[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"300|4(?:0(?:0|20)|370)\"]],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3589]00\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"[1-9][1-9]\"],\"($1)\",\"0 $CC ($1)\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[1-9][1-9]9\"],\"($1)\",\"0 $CC ($1)\"]],[,,,,,,,,,[-1]],,,[,,\"(?:300\\\\d|40(?:0\\\\d|20))\\\\d{4}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BS:[,[,,\n\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-4]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\\\d{4}\",,,,\"2423456789\",,,,[7]],[,,\"242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\\\d|[89]9))\\\\d{4}\",,,,\"2423591234\",,,,[7]],[,,\"(?:242300|8(?:00|33|44|55|66|77|88)[2-9]\\\\d\\\\d)\\\\d{4}\",,,,\"8002123456\",,,,[7]],[,,\"900[2-9]\\\\d{6}\",\n,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"BS\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"242\",[,,,,,,,,,[-1]],[,,\"242225[0-46-9]\\\\d{3}\",,,,\"2422250123\"],,,[,,,,,,,,,[-1]]],BT:[,[,,\"[17]\\\\d{7}|[2-8]\\\\d{6}\",,,,,,,[7,8],[6]],[,,\"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\\\d{5}\",,,,\"2345678\",,,[7],[6]],[,,\"(?:1[67]|77)\\\\d{6}\",,,,\"17123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BT\",\n975,\"00\",,,,,,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[23568]|4[5-7]|7[246]\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BW:[,[,,\"(?:(?:[2-6]|7\\\\d)\\\\d|90)\\\\d{5}\",,,,,,,[7,8]],[,,\"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\\\d|7[01])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\\\d{4}\",,,,\"2401234\",,,[7]],[,,\"7(?:[1-6]\\\\d{3}|7(?:[014-8]\\\\d\\\\d|200))\\\\d{3}\",\n,,,\"71123456\",,,[8]],[,,,,,,,,,[-1]],[,,\"90\\\\d{5}\",,,,\"9012345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"79(?:1(?:[01]\\\\d|20)|2[0-2]\\\\d)\\\\d{3}\",,,,\"79101234\",,,[8]],\"BW\",267,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-6]\"]],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BY:[,[,,\"(?:(?:[12]|8[0-7]\\\\d)\\\\d|33|44|902)\\\\d{7}|8(?:[05-79]\\\\d|1[0-489])\\\\d{7}|8[0-79]\\\\d{5,7}|8\\\\d{5}\",,,,,,,[6,7,\n8,9,10,11],[5]],[,,\"(?:1(?:5(?:1[1-5]|[24]\\\\d|6[2-4]|9[1-7])|6(?:[235]\\\\d|4[1-7])|7\\\\d\\\\d)|2(?:1(?:[246]\\\\d|3[0-35-9]|5[1-9])|2(?:[235]\\\\d|4[0-8])|3(?:[26]\\\\d|3[02-79]|4[024-7]|5[03-7])))\\\\d{5}\",,,,\"152450911\",,,[9],[5,6,7]],[,,\"(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\\\d)\\\\d{6}\",,,,\"294911911\",,,[9]],[,,\"8(?:0[013]|20\\\\d)\\\\d{7}|800\\\\d{3,6}\",,,,\"8011234567\"],[,,\"(?:810|902)\\\\d{7}\",,,,\"9021234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"249\\\\d{6}\",,,,\"249123456\",,,[9]],\"BY\",375,\"810\",\"8\",,,\"0|80?\",,\"8~10\",\n,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:5[24]|6[235]|7[467])|2(?:1[246]|2[25]|3[26])\",\"1(?:5[24]|6(?:2|3[04-9]|5[0346-9])|7(?:[46]|7[37-9]))|2(?:1[246]|2[25]|3[26])\"],\"8 0$1\"],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:[56]|7[179])|2[1-3]\",\"1(?:[56]|7(?:1[3-9]|7|9[2-7]))|2[1-3]\"],\"8 0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[,\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\n\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],,[,,,,,,,,,[-1]],,,[,,\"(?:8(?:0[013]|10|20\\\\d)|902)\\\\d{7}|800\\\\d{3,6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BZ:[,[,,\"(?:0800\\\\d|[2-8])\\\\d{6}\",,,,,,,[7,11]],[,,\"(?:2(?:[02]\\\\d|36)|[3-58][02]\\\\d|7(?:[02]\\\\d|32))\\\\d{4}\",,,,\"2221234\",,,[7]],[,,\"6[0-35-7]\\\\d{5}\",,,,\"6221234\",,,[7]],[,,\"0800\\\\d{7}\",,,,\"08001234123\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BZ\",501,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\n\"$1-$2-$3-$4\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CA:[,[,,\"(?:[2-8]\\\\d|90)\\\\d{8}\",,,,,,,[10],[7]],[,,\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",,,,\"5062345678\",,,,[7]],[,,\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",\n,,,\"5062345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"600[2-9]\\\\d{6}\",,,,\"6002012345\"],\"CA\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CC:[,[,,\"1\\\\d{5,9}|(?:[48]\\\\d\\\\d|550)\\\\d{6}\",,,,,,,[6,7,8,9,10]],[,,\"8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",\n,,,\"891621234\",,,[9],[8]],[,,\"4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2457-9]|9[017-9])\\\\d{6}\",,,,\"412345678\",,,[9]],[,,\"180(?:0\\\\d{3}|2)\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"190[0-26]\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",,,,\"1300123456\",,,[6,8,10]],[,,,,,,,,,[-1]],[,,\"(?:14(?:5\\\\d|71)|550\\\\d)\\\\d{5}\",,,,\"550123456\",,,[9]],\"CC\",61,\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"0\",,,\"0|([59]\\\\d{7})$\",\"8$1\",\"0011\",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,\n,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CD:[,[,,\"[189]\\\\d{8}|[1-68]\\\\d{6}\",,,,,,,[7,9]],[,,\"12\\\\d{7}|[1-6]\\\\d{6}\",,,,\"1234567\"],[,,\"(?:8(?:[0-2459]\\\\d\\\\d|8)|9[017-9]\\\\d\\\\d)\\\\d{5}\",,,,\"991234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CD\",243,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\n\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CF:[,[,,\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",,,,,,,[8]],[,,\"2[12]\\\\d{6}\",,,,\"21612345\"],[,,\"7[0257]\\\\d{6}\",,,,\"70012345\"],[,,,,,,,,,[-1]],[,,\"8776\\\\d{4}\",,,,\"87761234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CF\",236,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CG:[,[,,\"(?:(?:0\\\\d|80)\\\\d|222)\\\\d{6}\",,,,,,,[9]],[,,\"222[1-589]\\\\d{5}\",\n,,,\"222123456\"],[,,\"0[14-6]\\\\d{7}\",,,,\"061234567\"],[,,,,,,,,,[-1]],[,,\"80(?:0\\\\d\\\\d|11[0-4])\\\\d{4}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CG\",242,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"801\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CH:[,[,,\"8\\\\d{11}|[2-9]\\\\d{8}\",,,,,,,[9,12]],[,,\"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\\\d{7}\",\n,,,\"212345678\",,,[9]],[,,\"7[35-9]\\\\d{7}\",,,,\"781234567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"90[016]\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"84[0248]\\\\d{6}\",,,,\"840123456\",,,[9]],[,,\"878\\\\d{6}\",,,,\"878123456\",,,[9]],[,,,,,,,,,[-1]],\"CH\",41,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]|[89]1\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],,[,,\"74[0248]\\\\d{6}\",,,,\"740123456\",\n,,[9]],,,[,,,,,,,,,[-1]],[,,\"5[18]\\\\d{7}\",,,,\"581234567\",,,[9]],,,[,,\"860\\\\d{9}\",,,,\"860123456789\",,,[12]]],CI:[,[,,\"[02-8]\\\\d{7}\",,,,,,,[8]],[,,\"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\\\d{5}\",,,,\"21234567\"],[,,\"(?:[07][1-9]|[45]\\\\d|6[014-9]|8[4-9])\\\\d{6}\",,,,\"01234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CI\",225,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[02-8]\"]]],,[,,,,,,,,,[-1]],,,[,\n,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CK:[,[,,\"[2-8]\\\\d{4}\",,,,,,,[5]],[,,\"(?:2\\\\d|3[13-7]|4[1-5])\\\\d{3}\",,,,\"21234\"],[,,\"[5-8]\\\\d{4}\",,,,\"71234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CK\",682,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-8]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CL:[,[,,\"(?:1230|[2-57-9]\\\\d|6\\\\d{1,3})\\\\d{7}\",,,,,,,[9,10,11]],[,,\"(?:2(?:1962|(?:2\\\\d\\\\d|32[0-46-8])\\\\d)|(?:(?:3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|9[2-9])\\\\d|8(?:0[1-9]|[1-9]\\\\d))\\\\d\\\\d)\\\\d{4}\",\n,,,\"221234567\",,,[9]],[,,\"(?:2(?:1962|(?:2\\\\d\\\\d|32[0-46-8])\\\\d)|(?:(?:3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|9[2-9])\\\\d|8(?:0[1-9]|[1-9]\\\\d))\\\\d\\\\d)\\\\d{4}\",,,,\"221234567\",,,[9]],[,,\"(?:1230\\\\d|800)\\\\d{6}\",,,,\"800123456\",,,[9,11]],[,,,,,,,,,[-1]],[,,\"600\\\\d{7,8}\",,,,\"6001234567\",,,[10,11]],[,,,,,,,,,[-1]],[,,\"44\\\\d{7}\",,,,\"441234567\",,,[9]],\"CL\",56,\"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0\",,,,,,,1,[[,\"(\\\\d{4})\",\"$1\",[\"1(?:[03-58]|[29]1)\"]],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[23]\"],\n\"($1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[,\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"2\"],\"($1)\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[68]00\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"600\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],[[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[23]\"],\"($1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\"$1 $2 $3\",[\"3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[,\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"2\"],\"($1)\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[68]00\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"600\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],[,,,,,,,,,[-1]],,,[,,\"600\\\\d{7,8}\",,,,,,,[10,11]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CM:[,[,,\"(?:[26]\\\\d\\\\d|88)\\\\d{6}\",,,\n,,,,[8,9]],[,,\"2(?:22|33|4[23])\\\\d{6}\",,,,\"222123456\",,,[9]],[,,\"6[5-9]\\\\d{7}\",,,,\"671234567\",,,[9]],[,,\"88\\\\d{6}\",,,,\"88012345\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CM\",237,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CN:[,[,,\"(?:(?:(?:1[03-68]|2\\\\d)\\\\d\\\\d|[3-79])\\\\d|8[0-57-9])\\\\d{7}|[1-579]\\\\d{10}|8[0-57-9]\\\\d{8,9}|[1-79]\\\\d{9}|[1-9]\\\\d{7}|[12]\\\\d{6}\",\n,,,,,,[7,8,9,10,11,12],[5,6]],[,,\"21(?:100\\\\d{2}|95\\\\d{3,4}|\\\\d{8,10})|(?:10|2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1\\\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98))(?:100\\\\d{2}|95\\\\d{3,4}|\\\\d{8})|(?:3(?:1[02-9]|35|49|5\\\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[3-9]|5[2-9]|6[4789]|7\\\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\\\d|2[248]|3[04-9]|4[3-6]|5[0-4689]|6[2368]|9[02-9])|8(?:078|1[236-8]|2[5-7]|3\\\\d|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100\\\\d{2}|95\\\\d{3,4}|\\\\d{7})\",\n,,,\"1012345678\",,,,[5,6]],[,,\"1(?:[38]\\\\d{3}|4[57]\\\\d{2}|5[0-35-9]\\\\d{2}|6[25-7]\\\\d{2}|7(?:[0-35-8]\\\\d{2}|40[0-5])|9[189]\\\\d{2})\\\\d{6}\",,,,\"13123456789\",,,[11]],[,,\"(?:10)?800\\\\d{7}\",,,,\"8001234567\",,,[10,12]],[,,\"16[08]\\\\d{5}\",,,,\"16812345\",,,[8]],[,,\"400\\\\d{7}|950\\\\d{7,8}|(?:10|2[0-57-9]|3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[4789]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[3678]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))96\\\\d{3,4}\",\n,,,\"4001234567\",,,[7,8,9,10,11],[5,6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CN\",86,\"(?:1(?:[12]\\\\d{3}|79\\\\d{2}|9[0-7]\\\\d{2}))?00\",\"0\",,,\"0|(1(?:[12]\\\\d{3}|79\\\\d{2}|9[0-7]\\\\d{2}))\",,\"00\",,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[48]00\"]],[,\"(\\\\d{5,6})\",\"$1\",[\"100|95\"]],[,\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2\\\\d)[19]\",\"(?:10|2\\\\d)(?:10|9[56])\",\"(?:10|2\\\\d)(?:100|9[56])\"],\"0$1\",\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[3-9]\",\"[3-9]\\\\d\\\\d[19]\",\"[3-9]\\\\d\\\\d(?:10|9[56])\"],\"0$1\",\"$CC $1\"],[,\"(\\\\d{3,4})(\\\\d{4})\",\n\"$1 $2\",[\"[2-9]\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4,6})\",\"$1 $2 $3\",[\"21\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10[1-9]|2[02-9]\",\"10[1-9]|2[02-9]\",\"10(?:[1-79]|8(?:0[1-9]|[1-9]))|2[02-9]\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[47-9]|7|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])\"],\n\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[457]|6[09])|8(?:[57]1|98)\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"807\",\"8078\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:[3-57-9]|6[25-7])\"],,\"$CC $1\"],[,\"(\\\\d{5})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"108\",\"1080\",\"10800\"]],[,\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"950\"]]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[48]00\"]],[,\"(\\\\d{2})(\\\\d{5,6})\",\n\"$1 $2\",[\"(?:10|2\\\\d)[19]\",\"(?:10|2\\\\d)(?:10|9[56])\",\"(?:10|2\\\\d)(?:100|9[56])\"],\"0$1\",\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[3-9]\",\"[3-9]\\\\d\\\\d[19]\",\"[3-9]\\\\d\\\\d(?:10|9[56])\"],\"0$1\",\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4,6})\",\"$1 $2 $3\",[\"21\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10[1-9]|2[02-9]\",\"10[1-9]|2[02-9]\",\"10(?:[1-79]|8(?:0[1-9]|[1-9]))|2[02-9]\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[47-9]|7|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])\"],\n\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[457]|6[09])|8(?:[57]1|98)\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"807\",\"8078\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:[3-57-9]|6[25-7])\"],,\"$CC $1\"],[,\"(\\\\d{5})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"108\",\"1080\",\"10800\"]],[,\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"950\"]]],[,,,,,,,,,[-1]],,,[,,\"(?:4|(?:10)?8)00\\\\d{7}|950\\\\d{7,8}\",\n,,,,,,[10,11,12]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CO:[,[,,\"(?:1\\\\d|3)\\\\d{9}|[124-8]\\\\d{7}\",,,,,,,[8,10,11],[7]],[,,\"[124-8][2-9]\\\\d{6}\",,,,\"12345678\",,,[8],[7]],[,,\"3(?:0[0-5]|1\\\\d|2[0-3]|5[01])\\\\d{7}\",,,,\"3211234567\",,,[10]],[,,\"1800\\\\d{7}\",,,,\"18001234567\",,,[11]],[,,\"19(?:0[01]|4[78])\\\\d{7}\",,,,\"19001234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CO\",57,\"00(?:4(?:[14]4|56)|[579])\",\"0\",,,\"0([3579]|4(?:[14]4|56))?\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1(?:[2-79]|8[2-9])|[24-8]\"],\n\"($1)\",\"0$CC $1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],,\"0$CC $1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1(?:80|9)\",\"1(?:800|9)\"],\"0$1\"]],[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1(?:[2-79]|8[2-9])|[24-8]\"],\"($1)\",\"0$CC $1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],,\"0$CC $1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1 $2 $3\",[\"1(?:80|9)\",\"1(?:800|9)\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CR:[,[,,\"(?:8\\\\d|90)\\\\d{8}|[24-8]\\\\d{7}\",,,,,,,[8,10]],[,,\"2(?:[024-7]\\\\d\\\\d|1(?:0[7-9]|[1-9]\\\\d))\\\\d{4}\",,\n,,\"22123456\",,,[8]],[,,\"(?:(?:5(?:0[01]|7[0-3])|(?:7[0-3]|8[3-9])\\\\d)\\\\d\\\\d|6(?:[0-4]\\\\d{3}|500[01]))\\\\d{3}\",,,,\"83123456\",,,[8]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"90[059]\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:210[0-6]|4\\\\d{3}|5100)\\\\d{4}\",,,,\"40001234\",,,[8]],\"CR\",506,\"00\",,,,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\",,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[24-7]|8[3-9]\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,\n,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CU:[,[,,\"[2-57]\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",,,,,,,[6,7,8],[4,5]],[,,\"(?:2[1-4]|7\\\\d)\\\\d{5,6}|(?:3[1-3]|4[1-35-8])\\\\d{6}|3[23]\\\\d{4,5}|4[12578]\\\\d{5}|4[78]\\\\d{4}\",,,,\"71234567\",,,,[4,5]],[,,\"5\\\\d{7}\",,,,\"51234567\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CU\",53,\"119\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"[2-4]\"],\"(0$1)\"],[,\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"5\"],\n\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CV:[,[,,\"[2-59]\\\\d{6}\",,,,,,,[7]],[,,\"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\\\d|7[1-3]|8[1-5])\\\\d{4}\",,,,\"2211234\"],[,,\"(?:[34][36]|5[1-389]|9\\\\d)\\\\d{5}\",,,,\"9911234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CV\",238,\"0\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-59]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CW:[,[,,\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",\n,,,,,,[7,8]],[,,\"9(?:4(?:3[0-5]|4[14]|6\\\\d)|50\\\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\\\d|7[01]|8[57-9]))\\\\d{4}\",,,,\"94351234\"],[,,\"9(?:5(?:[12467]\\\\d|3[01])|6[5-9]\\\\d)\\\\d{4}\",,,,\"95181234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"60[0-2]\\\\d{4}\",,,,\"6001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CW\",599,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],,[,,\"955\\\\d{5}\",,,,\"95581234\",,,[8]],1,\"[69]\",[,,,,,,,,,[-1]],[,,,,,,,,,\n[-1]],,,[,,,,,,,,,[-1]]],CX:[,[,,\"1\\\\d{5,9}|(?:[48]\\\\d\\\\d|550)\\\\d{6}\",,,,,,,[6,7,8,9,10]],[,,\"8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",,,,\"891641234\",,,[9],[8]],[,,\"4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2457-9]|9[017-9])\\\\d{6}\",,,,\"412345678\",,,[9]],[,,\"180(?:0\\\\d{3}|2)\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"190[0-26]\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",,,,\"1300123456\",\n,,[6,8,10]],[,,,,,,,,,[-1]],[,,\"(?:14(?:5\\\\d|71)|550\\\\d)\\\\d{5}\",,,,\"550123456\",,,[9]],\"CX\",61,\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"0\",,,\"0|([59]\\\\d{7})$\",\"8$1\",\"0011\",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CY:[,[,,\"(?:[279]\\\\d|[58]0)\\\\d{6}\",,,,,,,[8]],[,,\"2[2-6]\\\\d{6}\",,,,\"22345678\"],[,,\"9[4-79]\\\\d{6}\",,,,\"96123456\"],[,,\"800\\\\d{5}\",,,,\"80001234\"],[,,\"90[09]\\\\d{5}\",,,,\"90012345\"],[,,\"80[1-9]\\\\d{5}\",,,,\"80112345\"],[,,\"700\\\\d{5}\",,,,\"70012345\"],[,,,\n,,,,,,[-1]],\"CY\",357,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:50|77)\\\\d{6}\",,,,\"77123456\"],,,[,,,,,,,,,[-1]]],CZ:[,[,,\"(?:[2-578]\\\\d|60|9\\\\d{1,4})\\\\d{7}\",,,,,,,[9,10,11,12]],[,,\"(?:2\\\\d|3[1257-9]|4[16-9]|5[13-9])\\\\d{7}\",,,,\"212345678\",,,[9]],[,,\"(?:60[1-8]|7(?:0[2-5]|[2379]\\\\d))\\\\d{6}\",,,,\"601123456\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"9(?:0[05689]|76)\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"8[134]\\\\d{7}\",,,,\"811234567\",,,[9]],[,,\"70[01]\\\\d{6}\",\n,,,\"700123456\",,,[9]],[,,\"9[17]0\\\\d{6}\",,,,\"910123456\",,,[9]],\"CZ\",420,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"9(?:5\\\\d|7[2-4])\\\\d{6}\",,,,\"972123456\",,,[9]],,,[,,\"9(?:3\\\\d{9}|6\\\\d{7,10})\",,,,\"93123456789\"]],DE:[,[,,\"(?:1|[235-9]\\\\d{11}|4(?:[0-8]\\\\d{2,10}|9(?:[05]\\\\d{7}|[46][1-8]\\\\d{2,6})))\\\\d{3}|[1-35-9]\\\\d{6,13}|49(?:(?:[0-25]\\\\d|3[1-689])\\\\d{4,8}|4[1-8]\\\\d{4}|6[0-8]\\\\d{3,4}|7[1-7]\\\\d{5,8})|497[0-7]\\\\d{4}|49(?:[0-2579]\\\\d|[34][1-9])\\\\d{3}|[1-9]\\\\d{5}|[13468]\\\\d{4}\",\n,,,,,,[4,5,6,7,8,9,10,11,12,13,14,15],[3]],[,,\"(?:2(?:0[1-689]|[1-3569]\\\\d|4[0-8]|7[1-7]|8[0-7])|5(?:0[2-8]|[124-6]\\\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-3589]\\\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|[29]\\\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\\\d|[589][0-7]|6[0-8]|7[0-467]))\\\\d{4,12}|3(?:(?:[03569]\\\\d|4[0-79]|7[1-7]|8[1-8])\\\\d{4,12}|2\\\\d{9})|4(?:(?:[02-48]\\\\d|1[02-9]|5[0-6]|6[0-8]|7[0-79])\\\\d{4,12}|9(?:[0-37]\\\\d{4,9}|[4-6]\\\\d{4,10}))|(?:2(?:0[1-389]|1[124]|2[18]|3[14]|[4-9]1)|3(?:0\\\\d?|[35-9][15]|4[015])|4(?:0\\\\d?|[2-9]1)|[57][1-9]1|[68](?:[1-8]1|9\\\\d?)|9(?:06|[1-9]1))\\\\d{3}\",\n,,,\"30123456\",,,[5,6,7,8,9,10,11,12,13,14,15],[3,4]],[,,\"1(?:5[0-25-9]\\\\d{8}|(?:6[023]|7\\\\d)\\\\d{7,8})\",,,,\"15123456789\",,,[10,11]],[,,\"800\\\\d{7,12}\",,,,\"8001234567890\",,,[10,11,12,13,14,15]],[,,\"(?:137[7-9]|900(?:[135]|9\\\\d))\\\\d{6}\",,,,\"9001234567\",,,[10,11]],[,,\"1(?:3(?:7[1-6]\\\\d\\\\d|8)|80\\\\d{1,7})\\\\d{4}\",,,,\"18012345\",,,[7,8,9,10,11,12,13,14]],[,,\"700\\\\d{8}\",,,,\"70012345678\",,,[11]],[,,,,,,,,,[-1]],\"DE\",49,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,12})\",\n\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|(?:4[2-9]|[57][1-9]|[68][1-8])1|9(?:06|[1-9]1)\",\"2(?:0[1-389]|1(?:[14]|2[0-8])|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|(?:4[2-9]|[57][1-9]|[68][1-8])1|9(?:06|[1-9]1)\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|7(?:0[2-8]|[1-9])|8(?:0[2-9]|[1-8])|9(?:0[7-9]|[1-9])\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|[49][1246]|6[1-4]|7[13468]|8[13568])|6(?:0[1356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|7(?:0[2-8]|[1-9])|8(?:0[2-9]|[1-8])|9(?:0[7-9]|[1-9])\"],\n\"0$1\"],[,\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[,\"(\\\\d{5})(\\\\d{3,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[,\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18[2-579]\",\"18[2-579]\",\"18(?:[2-479]|5(?:0[1-9]|[1-9]))\"],\"0$1\"],\n[,\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[,\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"18\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15[013-68]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],,[,,\"16(?:4\\\\d{1,10}|[89]\\\\d{1,11})\",,,,\"16412345\",,,[4,5,6,7,8,9,10,11,12,13,14]],,,[,,,,,,,,,[-1]],[,,\"18(?:1\\\\d{5,11}|[2-9]\\\\d{8})\",,,,\"18500123456\",,,[8,9,10,11,12,13,14]],,,[,,\"1(?:5(?:(?:[03-68]00|113)\\\\d|2\\\\d55|7\\\\d99|9\\\\d33)|(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\\\d?)\\\\d{7}\",\n,,,\"177991234567\",,,[12,13]]],DJ:[,[,,\"(?:2\\\\d|77)\\\\d{6}\",,,,,,,[8]],[,,\"2(?:1[2-5]|7[45])\\\\d{5}\",,,,\"21360003\"],[,,\"77\\\\d{6}\",,,,\"77831001\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"DJ\",253,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DK:[,[,,\"[2-9]\\\\d{7}\",,,,,,,[8]],[,,\"(?:[2-7]\\\\d|8[126-9]|9[1-36-9])\\\\d{6}\",,,,\"32123456\"],[,,\"(?:[2-7]\\\\d|8[126-9]|9[1-36-9])\\\\d{6}\",\n,,,\"32123456\"],[,,\"80\\\\d{6}\",,,,\"80123456\"],[,,\"90\\\\d{6}\",,,,\"90123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"DK\",45,\"00\",,,,,,,1,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DM:[,[,,\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4]|70[1-3])\\\\d{4}\",,,,\"7674201234\",,,,[7]],[,,\"767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-7])\\\\d{4}\",,,,\"7672251234\",,,,[7]],\n[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"DM\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"767\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DO:[,[,,\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"8(?:[04]9[2-9]\\\\d\\\\d|29(?:2(?:[0-59]\\\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\\\d|4[7-9])|[45]\\\\d\\\\d|6(?:[0-27-9]\\\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\\\d{4}\",\n,,,\"8092345678\",,,,[7]],[,,\"8[024]9[2-9]\\\\d{6}\",,,,\"8092345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"DO\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"8[024]9\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DZ:[,[,,\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",,,,,,,[8,9]],[,,\"(?:(?:1\\\\d|2[013-79]|3[0-8]|4[0135689])\\\\d|9619)\\\\d{5}\",,,,\"12345678\"],[,,\"(?:(?:5[4-6]|7[7-9])\\\\d|6(?:[569]\\\\d|7[0-6]))\\\\d{6}\",\n,,,\"551234567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"80[3-689]1\\\\d{5}\",,,,\"808123456\",,,[9]],[,,\"80[12]1\\\\d{5}\",,,,\"801123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"98[23]\\\\d{6}\",,,,\"983123456\",,,[9]],\"DZ\",213,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EC:[,\n[,,\"1800\\\\d{6,7}|(?:[2-7]|9\\\\d)\\\\d{7}\",,,,,,,[8,9,10,11],[7]],[,,\"[2-7][2-7]\\\\d{6}\",,,,\"22123456\",,,[8],[7]],[,,\"9(?:(?:39|[57][89]|[89]\\\\d)\\\\d|6(?:[0-27-9]\\\\d|30))\\\\d{5}\",,,,\"991234567\",,,[9]],[,,\"1800\\\\d{6,7}\",,,,\"18001234567\",,,[10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"[2-7]890\\\\d{4}\",,,,\"28901234\",,,[8]],\"EC\",593,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-7]\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],\n[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-7]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EE:[,[,,\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d\\\\d|900)\\\\d{4}\",,,,,,,[7,8,10]],[,,\"(?:3[23589]|4[3-8]|6\\\\d|7[1-9]|88)\\\\d{5}\",,,,\"3212345\",,,[7]],[,,\"(?:5\\\\d|8[1-4])\\\\d{6}|5(?:(?:[02]\\\\d|5[0-478])\\\\d|1(?:[0-8]\\\\d|95)|6(?:4[0-4]|5[1-589]))\\\\d{3}\",\n,,,\"51234567\",,,[7,8]],[,,\"800(?:(?:0\\\\d\\\\d|1)\\\\d|[2-9])\\\\d{3}\",,,,\"80012345\"],[,,\"(?:40\\\\d\\\\d|900)\\\\d{4}\",,,,\"9001234\",,,[7,8]],[,,,,,,,,,[-1]],[,,\"70[0-2]\\\\d{5}\",,,,\"70012345\",,,[8]],[,,,,,,,,,[-1]],\"EE\",372,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]\"]],[,\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-4])\",\"[45]|8(?:00[1-9]|[1-4])\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],\n[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"80\"]]],,[,,,,,,,,,[-1]],,,[,,\"800[2-9]\\\\d{3}\",,,,,,,[7]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EG:[,[,,\"(?:[189]\\\\d?|[24-6])\\\\d{8}|[135]\\\\d{7}\",,,,,,,[8,9,10],[6,7]],[,,\"1(?:3[23]\\\\d{6}|5\\\\d{6,7})|(?:(?:2[2-4]|3)\\\\d|4(?:0[2-5]|[578][23]|64)|6[24-689]3|8(?:2[2-57]|4[26]|6[237]|8[2-4])|9(?:2[27]|3[24]|52|6[2356]|7[2-4]))\\\\d{6}|5(?:(?:0[2-7]|5\\\\d)\\\\d{6}|7[23]\\\\d{5,6})\",,,,\"234567890\",,,[8,9],[6,7]],[,,\"1[0-25]\\\\d{8}\",,,,\"1001234567\",,,[10]],[,,\"800\\\\d{7}\",,,,\"8001234567\",\n,,[10]],[,,\"900\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"EG\",20,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[189]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EH:[,[,,\"[5-8]\\\\d{8}\",,,,,,,[9]],[,,\"528[89]\\\\d{5}\",,,,\"528812345\"],[,,\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:0[067]|6[1267]|7[017]))\\\\d{6}\",\n,,,\"650123456\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,\"89\\\\d{7}\",,,,\"891234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"5924[01]\\\\d{4}\",,,,\"592401234\"],\"EH\",212,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,\"528[89]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ER:[,[,,\"[178]\\\\d{6}\",,,,,,,[7],[6]],[,,\"(?:1(?:1[12568]|[24]0|55|6[146])|8\\\\d\\\\d)\\\\d{4}\",,,,\"8370362\",,,,[6]],[,,\"(?:17[1-3]|7\\\\d\\\\d)\\\\d{4}\",,,,\"7123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ER\",291,\"00\",\n\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ES:[,[,,\"(?:51|[6-9]\\\\d)\\\\d{7}\",,,,,,,[9]],[,,\"(?:8(?:[1356]\\\\d|[28][0-8]|[47][1-9])\\\\d{4}|9(?:(?:(?:[135]\\\\d|[28][0-8]|4[1-9])\\\\d\\\\d|7(?:[124-9]\\\\d\\\\d|3(?:[0-8]\\\\d|9[1-9])))\\\\d\\\\d|6(?:[0-8]\\\\d{4}|9(?:0(?:[0-57-9]\\\\d\\\\d|6(?:0[0-8]|1[1-9]|[2-9]\\\\d))|[1-9]\\\\d{3}))))\\\\d\\\\d\",,,,\"810123456\"],[,,\"(?:(?:6\\\\d|7[1-48])\\\\d{5}|9(?:6906(?:09|10)|7390\\\\d\\\\d))\\\\d\\\\d\",,,,\"612345678\"],\n[,,\"[89]00\\\\d{6}\",,,,\"800123456\"],[,,\"80[367]\\\\d{6}\",,,,\"803123456\"],[,,\"90[12]\\\\d{6}\",,,,\"901123456\"],[,,\"70\\\\d{7}\",,,,\"701234567\"],[,,,,,,,,,[-1]],\"ES\",34,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[568]|7[0-48]|9(?:0[12]|[1-8])\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"51\\\\d{7}\",,,,\"511234567\"],,,[,,,,,,,,,[-1]]],ET:[,[,,\"(?:11|[2-59]\\\\d)\\\\d{7}\",,,,,,,[9],[7]],[,,\"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:18|2[69]|39|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\\\d)))\\\\d{4}\",\n,,,\"111112345\",,,,[7]],[,,\"9\\\\d{8}\",,,,\"911234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ET\",251,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-59]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FI:[,[,,\"(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}|[1-35689]\\\\d{4}\",,,,,,,[5,6,7,8,9,10]],[,,\"(?:1[3-79][1-8]|[235689][1-8]\\\\d)\\\\d{2,6}\",,,,\"131234567\",,,[5,6,7,8,9]],[,,\"(?:4[0-8]|50)\\\\d{4,8}\",,,,\"412345678\",\n,,[6,7,8,9,10]],[,,\"800\\\\d{4,6}\",,,,\"800123456\",,,[7,8,9]],[,,\"[67]00\\\\d{5,6}\",,,,\"600123456\",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FI\",358,\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"0\",,,\"0\",,\"00\",,[[,\"(\\\\d{5})\",\"$1\",[\"7\"],\"0$1\"],[,\"(\\\\d{6})\",\"$1\",[\"11\"]],[,\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"1(?:0[1-9]|[3-9])|2(?:0[1-9]|9)|[45]|7[135]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:1|20)0|[36-8]\"],\"0$1\"]],\n[[,\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"1(?:0[1-9]|[3-9])|2(?:0[1-9]|9)|[45]|7[135]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:1|20)0|[36-8]\"],\"0$1\"]],[,,,,,,,,,[-1]],1,\"1[03-79]|[2-9]\",[,,\"[13]00\\\\d{3,7}|20(?:0\\\\d{3,7}|(?:2[023]|9[89])\\\\d{1,6})|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:(?:1|3\\\\d)\\\\d{7}|5[03-9]\\\\d{3,7})\"],[,,\"(?:10|[23][09])\\\\d{4,8}|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:(?:1|3\\\\d)\\\\d{7}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d\",,,,\"10112345\"],\n,,[,,,,,,,,,[-1]]],FJ:[,[,,\"(?:(?:0800\\\\d|[235-9])\\\\d|45)\\\\d{5}\",,,,,,,[7,11]],[,,\"(?:(?:3[0-5]|8[58])\\\\d|6(?:03|[25-7]\\\\d))\\\\d{4}\",,,,\"3212345\",,,[7]],[,,\"(?:[279]\\\\d|45|5[01568]|8[034679])\\\\d{5}\",,,,\"7012345\",,,[7]],[,,\"0800\\\\d{7}\",,,,\"08001234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FJ\",679,\"0(?:0|52)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,\n,[,,,,,,,,,[-1]]],FK:[,[,,\"[2-7]\\\\d{4}\",,,,,,,[5]],[,,\"[2-47]\\\\d{4}\",,,,\"31234\"],[,,\"[56]\\\\d{4}\",,,,\"51234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FK\",500,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FM:[,[,,\"[39]\\\\d{6}\",,,,,,,[7]],[,,\"(?:3[2357]0[1-9]|9[2-6]\\\\d\\\\d)\\\\d{3}\",,,,\"3201234\"],[,,\"(?:3[2357]0[1-9]|9[2-7]\\\\d\\\\d)\\\\d{3}\",,,,\"3501234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n\"FM\",691,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[39]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FO:[,[,,\"(?:[2-8]\\\\d|90)\\\\d{4}\",,,,,,,[6]],[,,\"(?:20|[34]\\\\d|8[19])\\\\d{4}\",,,,\"201234\"],[,,\"(?:[27][1-9]|5\\\\d)\\\\d{4}\",,,,\"211234\"],[,,\"80[257-9]\\\\d{3}\",,,,\"802123\"],[,,\"90(?:[13-5][15-7]|2[125-7]|99)\\\\d\\\\d\",,,,\"901123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:6[0-36]|88)\\\\d{4}\",,,,\"601234\"],\"FO\",298,\"00\",,,,\"(10(?:01|[12]0|88))\",,,,[[,\"(\\\\d{6})\",\"$1\",[\"[2-9]\"],,\"$CC $1\"]],\n,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FR:[,[,,\"[1-9]\\\\d{8}\",,,,,,,[9]],[,,\"[1-5]\\\\d{8}\",,,,\"123456789\"],[,,\"(?:6\\\\d\\\\d|7(?:00|[3-9]\\\\d))\\\\d{6}\",,,,\"612345678\"],[,,\"80[0-5]\\\\d{6}\",,,,\"801234567\"],[,,\"8[129]\\\\d{7}\",,,,\"891123456\"],[,,\"884\\\\d{6}\",,,,\"884012345\"],[,,,,,,,,,[-1]],[,,\"9\\\\d{8}\",,,,\"912345678\"],\"FR\",33,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11\"]],[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"]],[[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"80[6-9]\\\\d{6}\",,,,\"806123456\"],,,[,,,,,,,,,[-1]]],GA:[,[,,\"(?:0\\\\d|[2-7])\\\\d{6}\",,,,,,,[7,8]],[,,\"01\\\\d{6}\",,,,\"01441234\",,,[8]],[,,\"(?:0[2-7]|[2-7])\\\\d{6}\",,,,\"06031234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GA\",241,\"00\",,,,,,,,[[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GB:[,[,,\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",,,,,,,[7,9,10],[4,5,6,8]],[,,\"(?:1(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|2(?:0[024-9]|1[0-7]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)|3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d)\\\\d{6}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\\\d|50(?:2[0-3]|[3-68]2|76))\\\\d|6888[2-46-8]))\\\\d\\\\d\",\n,,,\"1212345678\",,,[9,10],[4,5,6,7,8]],[,,\"7(?:(?:[1-3]\\\\d\\\\d|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|8(?:[014-9]\\\\d|[23][0-8]))\\\\d|4(?:[0-46-9]\\\\d\\\\d|5(?:[0-689]\\\\d|7[0-57-9]))|7(?:0(?:0[01]|[1-9]\\\\d)|(?:[1-7]\\\\d|8[02-9]|9[0-689])\\\\d)|9(?:(?:[024-9]\\\\d|3[0-689])\\\\d|1(?:[02-9]\\\\d|1[028])))\\\\d{5}\",,,,\"7400123456\",,,[10]],[,,\"80[08]\\\\d{7}|800\\\\d{6}|8001111\",,,,\"8001234567\"],[,,\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",,,,\"9012345678\",,,[7,10]],[,,,,,,,,,[-1]],[,,\"70\\\\d{8}\",,,,\"7012345678\",\n,,[10]],[,,\"56\\\\d{8}\",,,,\"5612345678\",,,[10]],\"GB\",44,\"00\",\"0\",\" x\",,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-79][02-9]|8)\",\"1(?:[24][02-9]|3(?:[02-79]|8[0-46-9])|5(?:[04-9]|2[024-9]|3[014-689])|6(?:[02-8]|9[0-24578])|7(?:[02-57-9]|6[013-9])|8|9(?:[0235-9]|4[2-9]))\",\"1(?:[24][02-9]|3(?:[02-79]|8(?:[0-4689]|7[0-24-9]))|5(?:[04-9]|2(?:[025-9]|4[013-9])|3(?:[014-68]|9[0-37-9]))|6(?:[02-8]|9(?:[0-2458]|7[0-25689]))|7(?:[02-57-9]|6(?:[013-79]|8[0-25689]))|8|9(?:[0235-9]|4(?:[2-57-9]|6[0-689])))\"],\n\"0$1\"],[,\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|7|94)\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[024-9])\",\"[25]|7(?:0|6(?:[04-9]|2[356]))\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"]],,[,,\"76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",,,,\"7640123456\",,,[10]],1,,[,,,,,,,,,[-1]],[,,\"(?:3[0347]|55)\\\\d{8}\",,,,\"5512345678\",,,[10]],,,[,,,,,,,,,[-1]]],GD:[,[,,\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,\n[10],[7]],[,,\"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|800|938)\\\\d{4}\",,,,\"4732691234\",,,,[7]],[,,\"473(?:4(?:0[2-79]|1[04-9]|2[0-5]|58)|5(?:2[01]|3[3-8])|901)\\\\d{4}\",,,,\"4734031234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"GD\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"473\",[,,,,,,,,,[-1]],[,\n,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GE:[,[,,\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",,,,,,,[9],[6]],[,,\"(?:3(?:[256]\\\\d|4[124-9]|7[0-4])|4(?:1\\\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\\\d{6}\",,,,\"322123456\",,,,[6]],[,,\"(?:5(?:[14]4|5[0157-9]|68|7[0147-9]|9[1-35-9])|790)\\\\d{6}\",,,,\"555123456\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"706\\\\d{6}\",,,,\"706123456\"],\"GE\",995,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"5|79\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"706\\\\d{6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GF:[,[,,\"[56]94\\\\d{6}\",,,,,,,[9]],[,,\"594(?:[023]\\\\d|1[01]|4[03-9]|5[6-9]|6[0-3]|80|9[014])\\\\d{4}\",,,,\"594101234\"],[,,\"694(?:[0-249]\\\\d|3[0-48])\\\\d{4}\",,,,\"694201234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GF\",594,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]\"],\"0$1\"]],,[,,,,,,,\n,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GG:[,[,,\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",,,,,,,[7,9,10],[6]],[,,\"1481[25-9]\\\\d{5}\",,,,\"1481256789\",,,[10],[6]],[,,\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",,,,\"7781123456\",,,[10]],[,,\"80[08]\\\\d{7}|800\\\\d{6}|8001111\",,,,\"8001234567\"],[,,\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",,,,\"9012345678\",,,[7,10]],[,,,,,,,,,[-1]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],[,,\"56\\\\d{8}\",,,,\"5612345678\",,,[10]],\"GG\",44,\"00\",\"0\",\n,,\"0|([25-9]\\\\d{5})$\",\"1481$1\",,,,,[,,\"76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",,,,\"7640123456\",,,[10]],,,[,,,,,,,,,[-1]],[,,\"(?:3[0347]|55)\\\\d{8}\",,,,\"5512345678\",,,[10]],,,[,,,,,,,,,[-1]]],GH:[,[,,\"(?:[235]\\\\d{3}|800)\\\\d{5}\",,,,,,,[8,9],[7]],[,,\"3(?:0(?:[237]\\\\d|80)|[167](?:2[0-6]|7\\\\d|80)|2(?:2[0-5]|7\\\\d|80)|3(?:2[0-3]|7\\\\d|80)|4(?:2[013-9]|3[01]|7\\\\d|80)|5(?:2[0-7]|7\\\\d|80)|8(?:2[0-2]|7\\\\d|80)|9(?:[28]0|7\\\\d))\\\\d{5}\",,,,\"302345678\",,,[9],[7]],[,,\"(?:2[0346-8]\\\\d|5(?:[0457]\\\\d|6[01]))\\\\d{6}\",\n,,,\"231234567\",,,[9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GH\",233,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[237]|80\"]],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],[[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,\"800\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GI:[,[,,\"(?:[25]\\\\d\\\\d|629)\\\\d{5}\",\n,,,,,,[8]],[,,\"2(?:(?:00\\\\d|2(?:2[2457]|50))\\\\d|1(?:6[24-7]\\\\d|90[0-2]))\\\\d{3}\",,,,\"20012345\"],[,,\"(?:5[46-8]\\\\d|629)\\\\d{5}\",,,,\"57123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GI\",350,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GL:[,[,,\"(?:19|[2-689]\\\\d)\\\\d{4}\",,,,,,,[6]],[,,\"(?:19|3[1-7]|6[14689]|8[14-79]|9\\\\d)\\\\d{4}\",,,,\"321000\"],[,,\"(?:[25][1-9]|4[2-9])\\\\d{4}\",,,,\"221234\"],[,\n,\"80\\\\d{4}\",,,,\"801234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3[89]\\\\d{4}\",,,,\"381234\"],\"GL\",299,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-689]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GM:[,[,,\"[2-9]\\\\d{6}\",,,,,,,[7]],[,,\"(?:4(?:[23]\\\\d\\\\d|4(?:1[024679]|[6-9]\\\\d))|5(?:54[0-7]|6[67]\\\\d|7(?:1[04]|2[035]|3[58]|48))|8\\\\d{3})\\\\d{3}\",,,,\"5661234\"],[,,\"(?:[23679]\\\\d|5[01])\\\\d{5}\",,,,\"3012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GM\",220,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GN:[,[,,\"(?:30|6\\\\d\\\\d|722)\\\\d{6}\",,,,,,,[8,9]],[,,\"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\\\d{4}\",,,,\"30241234\",,,[8]],[,,\"6[02356]\\\\d{7}\",,,,\"601123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"722\\\\d{6}\",,,,\"722123456\",,,[9]],\"GN\",224,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",\n[\"3\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GP:[,[,,\"(?:590|69\\\\d)\\\\d{6}\",,,,,,,[9]],[,,\"590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\",,,,\"590201234\"],[,,\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\",,,,\"690001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GP\",590,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",\n[\"[56]\"],\"0$1\"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GQ:[,[,,\"(?:222|(?:3\\\\d|55|[89]0)\\\\d)\\\\d{6}\",,,,,,,[9]],[,,\"3(?:3(?:[0-24-9]\\\\d[46]|3\\\\d[7-9])|5\\\\d\\\\d[7-9])\\\\d{4}\",,,,\"333091234\"],[,,\"(?:222|55[015])\\\\d{6}\",,,,\"222123456\"],[,,\"80\\\\d[1-9]\\\\d{5}\",,,,\"800123456\"],[,,\"90\\\\d[1-9]\\\\d{5}\",,,,\"900123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GQ\",240,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[,\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]],,\n[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GR:[,[,,\"(?:[268]\\\\d|[79]0)\\\\d{8}\",,,,,,,[10]],[,,\"2(?:1\\\\d\\\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\\\d|2[1-5]|[34][1-4]|9[1-57]))\\\\d{6}\",,,,\"2123456789\"],\n[,,\"6(?:8[57-9]|9\\\\d)\\\\d{7}\",,,,\"6912345678\"],[,,\"800\\\\d{7}\",,,,\"8001234567\"],[,,\"90[19]\\\\d{7}\",,,,\"9091234567\"],[,,\"8(?:0[16]|12|25)\\\\d{7}\",,,,\"8011234567\"],[,,\"70\\\\d{8}\",,,,\"7012345678\"],[,,,,,,,,,[-1]],\"GR\",30,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[3-8]1|[689]\"]],[,\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GT:[,[,,\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",,,,,,,[8,11]],[,,\"[267][2-9]\\\\d{6}\",\n,,,\"22456789\",,,[8]],[,,\"[3-5]\\\\d{7}\",,,,\"51234567\",,,[8]],[,,\"18[01]\\\\d{8}\",,,,\"18001112222\",,,[11]],[,,\"19\\\\d{9}\",,,,\"19001112222\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GT\",502,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GU:[,[,,\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\\\d{4}\",\n,,,\"6713001234\",,,,[7]],[,,\"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\\\d{4}\",,,,\"6713001234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"GU\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,\n,,,[-1]],,\"671\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GW:[,[,,\"[49]\\\\d{8}|4\\\\d{6}\",,,,,,,[7,9]],[,,\"443\\\\d{6}\",,,,\"443201234\",,,[9]],[,,\"9(?:5\\\\d|6[569]|77)\\\\d{6}\",,,,\"955012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"40\\\\d{5}\",,,,\"4012345\",,,[7]],\"GW\",245,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GY:[,[,,\"(?:(?:(?:[2-46]\\\\d|77)\\\\d|862)\\\\d|9008)\\\\d{3}\",\n,,,,,,[7]],[,,\"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\\\d|7[0-24-79])|3(?:2[25-9]|3\\\\d)|4(?:4[0-24]|5[56])|77[1-57])\\\\d{4}\",,,,\"2201234\"],[,,\"6\\\\d{6}\",,,,\"6091234\"],[,,\"(?:289|862)\\\\d{4}\",,,,\"2891234\"],[,,\"9008\\\\d{3}\",,,,\"9008123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GY\",592,\"001\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HK:[,[,,\"8[0-46-9]\\\\d{6,7}|9\\\\d{4}(?:\\\\d(?:\\\\d(?:\\\\d{4})?)?)?|(?:[235-79]\\\\d|46)\\\\d{6}\",\n,,,,,,[5,6,7,8,9,11]],[,,\"(?:2(?:[13-8]\\\\d|2[013-9]|9[0-24-9])\\\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\\\d|8(?:4[04]|9\\\\d))|58(?:0[1-8]|1[2-9]))\\\\d{4}\",,,,\"21234567\",,,[8]],[,,\"(?:46(?:0[0-6]|1[0-2]|4[0-57-9])|5(?:(?:[1-59][0-46-9]|6[0-4689])\\\\d|7(?:[0-2469]\\\\d|30))|6(?:(?:0[1-9]|[13-59]\\\\d|[68][0-57-9]|7[0-79])\\\\d|2(?:[0-57-9]\\\\d|6[01]))|707[1-5]|848[01]|9(?:(?:0[1-9]|1[02-9]|[358][0-8]|[467]\\\\d)\\\\d|2(?:[0-8]\\\\d|9[03-9])))\\\\d{4}\",,,,\"51234567\",,,[8]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,\n,\"900(?:[0-24-9]\\\\d{7}|3\\\\d{1,4})\",,,,\"90012345678\",,,[5,6,7,8,11]],[,,,,,,,,,[-1]],[,,\"8(?:1[0-4679]\\\\d|2(?:[0-36]\\\\d|7[0-4])|3(?:[034]\\\\d|2[09]|70))\\\\d{4}\",,,,\"81123456\",,,[8]],[,,,,,,,,,[-1]],\"HK\",852,\"00(?:30|5[09]|[126-9]?)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],,[,,\"7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[136])|2(?:[02389]\\\\d|1[18]|7[27-9])|3(?:[0-38]\\\\d|7[0-369]|9[2357-9])|47\\\\d|5(?:[178]\\\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\\\d)|7(?:[27]\\\\d|8[7-9])|8(?:[23689]\\\\d|7[1-9])|9(?:[025]\\\\d|6[0-246-8]|7[0-36-9]|8[238]))\\\\d{4}\",\n,,,\"71123456\",,,[8]],,,[,,,,,,,,,[-1]],[,,\"30(?:0[1-9]|[15-7]\\\\d|2[047]|89)\\\\d{4}\",,,,\"30161234\",,,[8]],,,[,,,,,,,,,[-1]]],HN:[,[,,\"[237-9]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:2(?:0[019]|1[1-36]|[23]\\\\d|4[04-6]|5[57]|64|7[0135689]|8[01346-9]|9[0-2])|4(?:07|2[3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:08|16|4[03-5]|5\\\\d|6[4-6]|74|80)|6(?:[056]\\\\d|17|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[034])|8(?:79|8[0-357-9]|9[1-57-9]))\\\\d{4}\",,,,\"22123456\"],[,,\"[37-9]\\\\d{7}\",,,,\"91234567\"],[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"HN\",504,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HR:[,[,,\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",,,,,,,[6,7,8,9]],[,,\"1\\\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\\\d{6,7}\",,,,\"12345678\",,,[8,9],[6,7]],[,,\"9(?:(?:01|[12589]\\\\d)\\\\d|7(?:[0679]\\\\d|51))\\\\d{5}|98\\\\d{6}\",,,,\"921234567\",,,[8,9]],[,,\"80[01]\\\\d{4,6}\",,,,\"800123456\",,,[7,8,9]],\n[,,\"6[01459]\\\\d{6}|6[01]\\\\d{4,5}\",,,,\"611234\",,,[6,7,8]],[,,,,,,,,,[-1]],[,,\"7[45]\\\\d{6}\",,,,\"74123456\",,,[8]],[,,,,,,,,,[-1]],\"HR\",385,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-5]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\"$1 $2 $3\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:62\\\\d?|72)\\\\d{6}\",,,,\"62123456\",,,[8,9]],,,[,,,,,,,,,[-1]]],HT:[,[,,\"[2-489]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:2\\\\d|5[1-5]|81|9[149])\\\\d{5}\",,,,\"22453300\"],[,,\"[34]\\\\d{7}\",,,,\"34101234\"],[,,\"8\\\\d{7}\",,,,\"80012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"9(?:[67][0-4]|8[0-3589]|9\\\\d)\\\\d{5}\",,,,\"98901234\"],\"HT\",509,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-489]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n,,[,,,,,,,,,[-1]]],HU:[,[,,\"[2357]\\\\d{8}|[1-9]\\\\d{7}\",,,,,,,[8,9],[6,7]],[,,\"(?:1\\\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\\\d{6}\",,,,\"12345678\",,,[8],[6,7]],[,,\"(?:[257]0|3[01])\\\\d{7}\",,,,\"201234567\",,,[9]],[,,\"[48]0\\\\d{6}\",,,,\"80123456\",,,[8]],[,,\"9[01]\\\\d{6}\",,,,\"90123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"21\\\\d{7}\",,,,\"211234567\",,,[9]],\"HU\",36,\"00\",\"06\",,,\"06\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"($1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\n\"($1)\"]],,[,,,,,,,,,[-1]],,,[,,\"[48]0\\\\d{6}\",,,,,,,[8]],[,,\"38\\\\d{7}\",,,,\"381234567\",,,[9]],,,[,,,,,,,,,[-1]]],ID:[,[,,\"(?:[1-36]|8\\\\d{5})\\\\d{6}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",,,,,,,[7,8,9,10,11,12],[5,6]],[,,\"2(?:[124]\\\\d{7,8}|(?:[35][1-4]|6[0-8]|7[1-6]|8\\\\d|9[1-8])\\\\d{5,8})|(?:3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|7(?:02|[125][1-9]|[36]\\\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\\\d{5,8}|6(?:1(?:[0-8]\\\\d{4,7}|9\\\\d{4,8})|(?:[25]\\\\d|3[1-69]|4[1-6])\\\\d{5,8})|2(?:1(?:14|500)|2\\\\d{3})\\\\d{3}\",\n,,,\"218350123\",,,[7,8,9,10,11],[5,6]],[,,\"8[1-35-9]\\\\d{7,10}\",,,,\"812345678\",,,[9,10,11,12]],[,,\"(?:177\\\\d|800)\\\\d{5,7}\",,,,\"8001234567\",,,[8,9,10,11]],[,,\"809\\\\d{7}\",,,,\"8091234567\",,,[10]],[,,\"804\\\\d{7}\",,,,\"8041234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ID\",62,\"0(?:0[17-9]|10(?:00|1[67]))\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[,\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\n\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"8071\\\\d{6}\",,,,,,,[10]],[,,\"(?:1500|8071\\\\d{3})\\\\d{3}\",,,,\"8071123456\",,,[7,10]],,,[,,,,,,,,,[-1]]],IE:[,[,,\"[148]\\\\d{9}|[124-9]\\\\d{8}|[124-69]\\\\d{7}|[24-69]\\\\d{6}\",,,,,,,[7,8,9,10],[5,6]],\n[,,\"(?:1\\\\d{2,3}|2(?:[13]\\\\d\\\\d|[24-9])|4(?:0[24]|(?:(?:[1-469]|8[0-46-9])\\\\d|5)\\\\d|7)|5(?:0[45]|(?:1|[23679]\\\\d)\\\\d|8)|6(?:[237-9]|[4-6]\\\\d\\\\d)|7[14]\\\\d\\\\d|9(?:[04]\\\\d\\\\d|[35-9]))\\\\d{5}|[269]1\\\\d{6}\",,,,\"2212345\",,,,[5,6]],[,,\"8(?:22|[35-9]\\\\d)\\\\d{6}\",,,,\"850123456\",,,[9]],[,,\"1800\\\\d{6}\",,,,\"1800123456\",,,[10]],[,,\"15(?:1[2-8]|[2-8]0|9[089])\\\\d{6}\",,,,\"1520123456\",,,[10]],[,,\"18[59]0\\\\d{6}\",,,,\"1850123456\",,,[10]],[,,\"700\\\\d{6}\",,,,\"700123456\",,,[9]],[,,\"76\\\\d{7}\",,,,\"761234567\",,,[9]],\"IE\",353,\n\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[,\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"76|8[235-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\"$1 $2 $3\",[\"1\"]],[,\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"18[59]0\\\\d{6}\",,,,,,,[10]],[,,\"818\\\\d{6}\",,,,\"818123456\",,,[9]],,,[,,\"8[35-9]5\\\\d{7}\",,,,\"8551234567\",,,[10]]],IL:[,[,,\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",,,,,,,[7,8,9,10,11,12]],[,,\"(?:153\\\\d\\\\d?|[2-489])\\\\d{7}\",,,,\"21234567\",,,[8,11,12],[7]],[,,\"5(?:(?:[0-489][2-9]|6\\\\d)\\\\d|5(?:01|2[2-5]|3[23]|4[45]|5[05689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\\\d{5}\",,,,\"502345678\",,,[9]],[,,\"1(?:255|80[019]\\\\d{3})\\\\d{3}\",\n,,,\"1800123456\",,,[7,10]],[,,\"1(?:2(?:00\\\\d\\\\d|12)|9(?:0[01]|19)\\\\d\\\\d)\\\\d{4}\",,,,\"1919123456\",,,[8,10]],[,,\"1700\\\\d{6}\",,,,\"1700123456\",,,[10]],[,,,,,,,,,[-1]],[,,\"7(?:(?:18|2[23]|3[237]|47|6[58]|7\\\\d|9[2357-9])\\\\d|8(?:2\\\\d|33|55|77|81))\\\\d{5}\",,,,\"771234567\",,,[9]],\"IL\",972,\"0(?:0|1[2-9])\",\"0\",,,\"0\",,,,[[,\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],\n[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[,\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[,\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,\"1700\\\\d{6}\",,,,,,,[10]],[,,\"1599\\\\d{6}\",,,,\"1599123456\",,,[10]],,,[,,\"151\\\\d{8,9}\",,,,\"15112340000\",,,[11,12]]],IM:[,[,,\"(?:1624|(?:[3578]\\\\d|90)\\\\d\\\\d)\\\\d{6}\",,,,,,,[10],[6]],[,,\"1624[5-8]\\\\d{5}\",,,,\"1624756789\",,,,[6]],[,,\"7(?:4576|[59]24\\\\d|624[0-4689])\\\\d{5}\",,,,\"7924123456\"],\n[,,\"808162\\\\d{4}\",,,,\"8081624567\"],[,,\"(?:8(?:4(?:40[49]06|5624\\\\d)|7(?:0624|2299)\\\\d)|90[0167]624\\\\d)\\\\d{3}\",,,,\"9016247890\"],[,,,,,,,,,[-1]],[,,\"70\\\\d{8}\",,,,\"7012345678\"],[,,\"56\\\\d{8}\",,,,\"5612345678\"],\"IM\",44,\"00\",\"0\",,,\"0|([5-8]\\\\d{5})$\",\"1624$1\",,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:3(?:(?:08162|3\\\\d{4}|7(?:0624|2299))\\\\d|4(?:40[49]06|5624\\\\d))|55\\\\d{5})\\\\d{3}\",,,,\"5512345678\"],,,[,,,,,,,,,[-1]]],IN:[,[,,\"(?:00800|1\\\\d{0,5}|[2-9]\\\\d\\\\d)\\\\d{7}\",,,,,,,[8,9,10,11,12,13],[6,7]],[,,\"(?:1(?:1[2-7]\\\\d\\\\d|2(?:[0-249][2-7]\\\\d|[35-8]\\\\d[2-7])|3(?:[0-25][2-7]\\\\d|[346-9]\\\\d[2-7])|4(?:[145][2-7]\\\\d|[236-9]\\\\d[2-7])|[59](?:[0235-9]\\\\d[2-7]|[14][2-7]\\\\d)|6(?:[014][2-7]\\\\d|[235-9]\\\\d[2-7])|7(?:(?:0[24]|[1257][2-7])\\\\d|[34689]\\\\d[2-7])|8(?:[01346][2-7]\\\\d|[257-9]\\\\d[2-7]))|2(?:[02][2-7]\\\\d\\\\d|1(?:[134689]\\\\d[2-7]|[257][2-7]\\\\d)|3(?:[013][2-7]\\\\d|[24-8]\\\\d[2-7])|4(?:[01][2-7]\\\\d|[2-8]\\\\d[2-7])|5(?:[0137][2-7]\\\\d|[25689]\\\\d[2-7])|6(?:[0158][2-7]\\\\d|[2-4679]\\\\d[2-7])|7(?:[13-79]\\\\d[2-7]|8[2-7]\\\\d)|8(?:(?:0[13468]|[1568][2-7])\\\\d|[2-479]\\\\d[2-7])|9(?:(?:0\\\\d|[14][2-7])\\\\d|[235-9]\\\\d[2-7]))|3(?:(?:01|1[79])\\\\d[2-7]|2(?:[1-5]\\\\d[2-7]|6[2-7]\\\\d)|3[2-7]\\\\d\\\\d|4(?:[13][2-7]\\\\d|2(?:[0189][2-7]|[2-7]\\\\d)|[5-8]\\\\d[2-7])|5(?:[125689]\\\\d[2-7]|[34][2-7]\\\\d)|6(?:[01489][2-7]\\\\d|[235-7]\\\\d[2-7])|7(?:[02-46][2-7]\\\\d|[157-9]\\\\d[2-7])|8(?:(?:0\\\\d|[159][2-7])\\\\d|[2-46-8]\\\\d[2-7]))|4(?:[04][2-7]\\\\d\\\\d|1(?:[14578]\\\\d[2-7]|[36][2-7]\\\\d)|2(?:(?:0[24]|[1-47][2-7])\\\\d|[5689]\\\\d[2-7])|3(?:[15][2-7]\\\\d|[2-467]\\\\d[2-7])|5(?:[12][2-7]\\\\d|[4-7]\\\\d[2-7])|6(?:[0-26-9][2-7]\\\\d|[35]\\\\d[2-7])|7(?:(?:[014-9][2-7]|2[2-8])\\\\d|3\\\\d[2-7])|8(?:[013-57][2-7]\\\\d|[2689]\\\\d[2-7])|9(?:[014-7][2-7]\\\\d|[2389]\\\\d[2-7]))|5(?:1(?:[025][2-7]\\\\d|[146-9]\\\\d[2-7])|2(?:[14-8]\\\\d[2-7]|2[2-7]\\\\d)|3(?:[1346]\\\\d[2-7]|[25][2-7]\\\\d)|4(?:[14-69]\\\\d[2-7]|[28][2-7]\\\\d)|5(?:(?:1[2-7]|2[1-7])\\\\d|[46]\\\\d[2-7])|6(?:[146-9]\\\\d[2-7]|[25][2-7]\\\\d)|7(?:1[2-7]\\\\d|[2-4]\\\\d[2-7])|8(?:1[2-7]\\\\d|[2-8]\\\\d[2-7])|9(?:[15][2-7]\\\\d|[246]\\\\d[2-7]))|6(?:1(?:[1358]\\\\d[2-7]|2[2-7]\\\\d)|2(?:1[2-7]\\\\d|[2457]\\\\d[2-7])|3(?:1[2-7]\\\\d|[2-4]\\\\d[2-7])|4(?:1[2-7]\\\\d|[235-7]\\\\d[2-7])|5(?:[17][2-7]\\\\d|[2-689]\\\\d[2-7])|6(?:[13][2-7]\\\\d|[24578]\\\\d[2-7])|7(?:1[2-7]\\\\d|[235689]\\\\d[2-7]|4(?:[0189][2-7]|[2-7]\\\\d))|8(?:0[2-7]\\\\d|[1-6]\\\\d[2-7]))|7(?:1(?:[013-9]\\\\d[2-7]|2[2-7]\\\\d)|2(?:[0235-9]\\\\d[2-7]|[14][2-7]\\\\d)|3(?:[134][2-7]\\\\d|[2679]\\\\d[2-7])|4(?:[1-35689]\\\\d[2-7]|[47][2-7]\\\\d)|5(?:[15][2-7]\\\\d|[2-46-9]\\\\d[2-7])|[67](?:[02-9]\\\\d[2-7]|1[2-7]\\\\d)|8(?:(?:[013-7]\\\\d|2[0-6])[2-7]|8(?:[0189][2-7]|[2-7]\\\\d))|9(?:[0189]\\\\d[2-7]|[2-7]\\\\d\\\\d))|8(?:0[2-7]\\\\d\\\\d|1(?:[1357-9]\\\\d[2-7]|6[2-7]\\\\d)|2(?:[014][2-7]\\\\d|[235-8]\\\\d[2-7])|3(?:[03-57-9]\\\\d[2-7]|[126][2-7]\\\\d)|(?:4[0-24-9]|5\\\\d)\\\\d[2-7]|6(?:[136][2-7]\\\\d|[2457-9]\\\\d[2-7])|7(?:[078][2-7]\\\\d|[1-6]\\\\d[2-7])|8(?:[1256]\\\\d[2-7]|[34][2-7]\\\\d)|9(?:1[2-7]\\\\d|[2-4]\\\\d[2-7])))\\\\d{5}\",\n,,,\"7410410123\",,,[10],[6,7,8]],[,,\"(?:6(?:(?:0(?:0[0-3569]|26|33)|2(?:[06]\\\\d|3[02589]|8[0-479]|9[0-79])|9(?:0[019]|13))\\\\d|1279|3(?:(?:0[0-79]|6[0-4679]|7[0-24-9]|[89]\\\\d)\\\\d|5(?:0[0-6]|[1-9]\\\\d)))|7(?:(?:0\\\\d\\\\d|19[0-5])\\\\d|2(?:(?:[0235-79]\\\\d|[14][017-9])\\\\d|8(?:[0-59]\\\\d|[6-8][089]))|3(?:(?:[05-8]\\\\d|3[017-9])\\\\d|1(?:[089]\\\\d|11|7[02-8])|2(?:[0-49][089]|[5-8]\\\\d)|4(?:[07-9]\\\\d|11)|9(?:[016-9]\\\\d|[2-5][089]))|4(?:0\\\\d\\\\d|1(?:[015-9]\\\\d|[2-4][089])|[29](?:[0-7][089]|[89]\\\\d)|3(?:[0-8][089]|9\\\\d)|[47](?:[089]\\\\d|11|7[02-8])|[56]\\\\d[089]|8(?:[0-24-7][089]|[389]\\\\d))|5(?:(?:[0346-8]\\\\d|5[017-9])\\\\d|1(?:[07-9]\\\\d|11)|2(?:[04-9]\\\\d|[1-3][089])|9(?:[0-6][089]|[7-9]\\\\d))|6(?:0(?:[0-47]\\\\d|[5689][089])|(?:1[0-257-9]|[6-9]\\\\d)\\\\d|2(?:[0-4]\\\\d|[5-9][089])|3(?:[02-8][089]|[19]\\\\d)|4\\\\d[089]|5(?:[0-367][089]|[4589]\\\\d))|7(?:0(?:0[02-9]|[13-7][089]|[289]\\\\d)|[1-9]\\\\d\\\\d)|8(?:[0-79]\\\\d\\\\d|8(?:[089]\\\\d|11|7[02-9]))|9(?:[089]\\\\d\\\\d|313|7(?:[02-8]\\\\d|9[07-9])))|8(?:0(?:(?:[01589]\\\\d|6[67])\\\\d|7(?:[02-8]\\\\d|9[04-9]))|1(?:[0-57-9]\\\\d\\\\d|6(?:[089]\\\\d|7[02-8]))|2(?:[014](?:[089]\\\\d|7[02-8])|[235-9]\\\\d\\\\d)|3(?:[03-57-9]\\\\d\\\\d|[126](?:[089]\\\\d|7[02-8]))|[45]\\\\d{3}|6(?:[02457-9]\\\\d\\\\d|[136](?:[089]\\\\d|7[02-8]))|7(?:(?:0[07-9]|[1-69]\\\\d)\\\\d|[78](?:[089]\\\\d|7[02-8]))|8(?:[0-25-9]\\\\d\\\\d|3(?:[089]\\\\d|7[02-8])|4(?:[0489]\\\\d|7[02-8]))|9(?:[02-9]\\\\d\\\\d|1(?:[0289]\\\\d|7[02-8])))|9\\\\d{4})\\\\d{5}\",\n,,,\"8123456789\",,,[10]],[,,\"(?:00800\\\\d|1(?:600|80[03]\\\\d{3}))\\\\d{6}|1800\\\\d{4,8}\",,,,\"1800123456\"],[,,\"186[12]\\\\d{9}\",,,,\"1861123456789\",,,[13]],[,,\"1860\\\\d{7}\",,,,\"18603451234\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IN\",91,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{8})\",\"$1\",[\"5[0236-8]\"],,,1],[,\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],,,1],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\n\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)\",\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12[2-7]|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1[2-7]|[34][2-6])|4[47][2-7]|61[346]|88[0-8])|8(?:(?:16|2[014]|3[126]|6[136])[2-7]|7(?:0[2-6]|[78][2-7])|8(?:3[2-7]|4[235-7])|91[3-7])\",\n\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1(?:[2-6]|71)|[34][2-6])|4[47](?:[2-6]|7[19])|61[346]|88(?:[01][2-7]|[2-7]|82))|8(?:(?:16|2[014]|3[126]|6[136])(?:[2-6]|7[19])|7(?:0[2-6]|[78](?:[2-6]|7[19]))|8(?:3(?:[2-6]|7[19])|4(?:[2356]|7[19]))|91(?:[3-6]|7[19]))\"],\n\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|(?:28[6-8]|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7])[2-7]|3(?:179|(?:2[0-49]|9[2-57])[2-7]))|807(?:1|9[1-3])\"],\n\"0$1\",,1],[,\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"14\"],,,1],[,\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],,,1],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"0\"],\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"1\"],,,1]],[[,\"(\\\\d{8})\",\"$1\",[\"5[0236-8]\"],,,1],[,\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],,,1],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\n\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)\",\n\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12[2-7]|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1[2-7]|[34][2-6])|4[47][2-7]|61[346]|88[0-8])|8(?:(?:16|2[014]|3[126]|6[136])[2-7]|7(?:0[2-6]|[78][2-7])|8(?:3[2-7]|4[235-7])|91[3-7])\",\n\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1(?:[2-6]|71)|[34][2-6])|4[47](?:[2-6]|7[19])|61[346]|88(?:[01][2-7]|[2-7]|82))|8(?:(?:16|2[014]|3[126]|6[136])(?:[2-6]|7[19])|7(?:0[2-6]|[78](?:[2-6]|7[19]))|8(?:3(?:[2-6]|7[19])|4(?:[2356]|7[19]))|91(?:[3-6]|7[19]))\"],\n\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|(?:28[6-8]|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7])[2-7]|3(?:179|(?:2[0-49]|9[2-57])[2-7]))|807(?:1|9[1-3])\"],\n\"0$1\",,1],[,\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"14\"],,,1],[,\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],,,1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"1\"],,,1]],[,,,,,,,,,[-1]],,,[,,\"(?:00800\\\\d|1(?:600|8(?:0[03]\\\\d\\\\d|6(?:0|[12]\\\\d\\\\d))\\\\d))\\\\d{6}|1800\\\\d{4,8}\"],[,,\"140\\\\d{7}\",,,,\"1409305260\",,,[10]],,,[,,,,,,,,,[-1]]],IO:[,[,,\"3\\\\d{6}\",,,,,,,[7]],[,,\"37\\\\d{5}\",,,,\"3709100\"],[,,\"38\\\\d{5}\",,,,\"3801234\"],[,\n,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IO\",246,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IQ:[,[,,\"(?:1|[2-6]\\\\d?|7\\\\d\\\\d)\\\\d{7}\",,,,,,,[8,9,10],[6,7]],[,,\"1\\\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\\\d{6,7}\",,,,\"12345678\",,,[8,9],[6,7]],[,,\"7[3-9]\\\\d{8}\",,,,\"7912345678\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IQ\",964,\"00\",\"0\",,\n,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IR:[,[,,\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",,,,,,,[4,5,6,7,10],[8]],[,,\"(?:(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])\\\\d{4}|94(?:(?:000|(?:11|2\\\\d)\\\\d|30[01])\\\\d|4(?:111|40\\\\d)))\\\\d{4}|(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[16]|[289]\\\\d?)\\\\d{3}\",\n,,,\"2123456789\",,,[6,7,10],[4,5,8]],[,,\"9(?:(?:0(?:[1-35]\\\\d|44)|(?:[13]\\\\d|2[0-2])\\\\d)\\\\d|9(?:(?:[01]\\\\d|44)\\\\d|510|8(?:1[01]|88)|9(?:0[013]|1[0134]|21|77|9[6-9])))\\\\d{5}\",,,,\"9123456789\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"993\\\\d{7}\",,,,\"9932123456\",,,[10]],\"IR\",98,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"9(?:4(?:11[1-7]|440)\\\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))\",,,,,,,[4,5,10]],[,,\"96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])\",,,,\"9601\",,,[4,5]],,,[,,,,,,,,,[-1]]],IS:[,[,,\"(?:38\\\\d|[4-9])\\\\d{6}\",,,,,,,[7,9]],[,,\"(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-245]|5[0-68]|6\\\\d|8[0-36-8])|5(?:05|[156]\\\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|87[23])\\\\d{4}\",\n,,,\"4101234\",,,[7]],[,,\"(?:38[589]\\\\d\\\\d|6(?:1[1-8]|2[0-6]|3[027-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\\\d)|7(?:5[057]|[6-8]\\\\d|9[0-3])|8(?:2[0-59]|[3469]\\\\d|5[1-9]|8[28]))\\\\d{4}\",,,,\"6111234\"],[,,\"800\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"90\\\\d{5}\",,,,\"9011234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"49\\\\d{5}\",,,,\"4921234\",,,[7]],\"IS\",354,\"00|1(?:0(?:01|[12]0)|100)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],\n[,,\"809\\\\d{4}\",,,,\"8091234\",,,[7]],,,[,,\"(?:689|8(?:7[0189]|80)|95[48])\\\\d{4}\",,,,\"6891234\",,,[7]]],IT:[,[,,\"0\\\\d{6}(?:\\\\d{4})?|3[0-8]\\\\d{9}|(?:[0138]\\\\d?|55)\\\\d{8}|[08]\\\\d{5}(?:\\\\d{2})?\",,,,,,,[6,7,8,9,10,11]],[,,\"0(?:(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d|6(?:[0-57-9]\\\\d\\\\d|6(?:[0-8]\\\\d|9[0-79])))\\\\d{1,6}\",\n,,,\"0212345678\"],[,,\"33\\\\d{9}|3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",,,,\"3123456789\",,,[9,10,11]],[,,\"80(?:0\\\\d{3}|3)\\\\d{3}\",,,,\"800123456\",,,[6,9]],[,,\"(?:(?:0878|1(?:44|6[346])\\\\d)\\\\d\\\\d|89(?:2|(?:4[5-9]|(?:5[5-9]|9)\\\\d\\\\d)\\\\d))\\\\d{3}|89[45][0-4]\\\\d\\\\d\",,,,\"899123456\",,,[6,8,9,10]],[,,\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",,,,\"848123456\",,,[6,9]],[,,\"1(?:78\\\\d|99)\\\\d{6}\",,,,\"1781234567\",,,[9,10]],[,,\"55\\\\d{8}\",,,,\"5512345678\",,,[10]],\"IT\",39,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[,\"(\\\\d{3})(\\\\d{3,6})\",\n\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[245])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))\"]],[,\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[67]|99)|[38]\"]],[,\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]\"]],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"3\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\"$1 $2 $3\",[\"0\"]]],,[,,,,,,,,,[-1]],1,,[,,\"848\\\\d{6}\",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],JE:[,[,,\"(?:1534|(?:[3578]\\\\d|90)\\\\d\\\\d)\\\\d{6}\",,,,,,,[10],[6]],[,,\"1534[0-24-8]\\\\d{5}\",,,,\"1534456789\",,,,[6]],[,,\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\",,,,\"7797712345\"],[,,\"80(?:07(?:35|81)|8901)\\\\d{4}\",,,,\"8007354567\"],[,,\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\",,,,\"9018105678\"],[,,,,,,,,,[-1]],[,,\"701511\\\\d{4}\",,,,\"7015115678\"],\n[,,\"56\\\\d{8}\",,,,\"5612345678\"],\"JE\",44,\"00\",\"0\",,,\"0|([0-24-8]\\\\d{5})$\",\"1534$1\",,,,,[,,\"76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",,,,\"7640123456\"],,,[,,,,,,,,,[-1]],[,,\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\",,,,\"5512345678\"],,,[,,,,,,,,,[-1]]],JM:[,[,,\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"(?:658[2-9]\\\\d\\\\d|876(?:5(?:0[12]|1[0-468]|2[35]|63)|6(?:0[1-3579]|1[0237-9]|[23]\\\\d|40|5[06]|6[2-589]|7[05]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\\\d|9[2-468])))\\\\d{4}\",\n,,,\"8765230123\",,,,[7]],[,,\"876(?:(?:2[14-9]|[348]\\\\d)\\\\d|5(?:0[3-9]|[2-57-9]\\\\d|6[0-24-9])|7(?:0[07]|7\\\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\\\d{4}\",,,,\"8762101234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"JM\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"658|876\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],JO:[,[,,\"(?:(?:(?:[268]|7\\\\d)\\\\d|32|53)\\\\d|900)\\\\d{5}\",\n,,,,,,[8,9]],[,,\"(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\\\d|4[0-3]|[57][023]|6[03])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[05]0|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:[029]0|7[08]))\\\\d{4}\",,,,\"62001234\",,,[8]],[,,\"7(?:55[0-49]|(?:7[025-9]|[89][0-25-9])\\\\d)\\\\d{5}\",\n,,,\"790123456\",,,[9]],[,,\"80\\\\d{6}\",,,,\"80012345\",,,[8]],[,,\"900\\\\d{5}\",,,,\"90012345\",,,[8]],[,,\"85\\\\d{6}\",,,,\"85012345\",,,[8]],[,,\"70\\\\d{7}\",,,,\"700123456\",,,[9]],[,,,,,,,,,[-1]],\"JO\",962,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7[457-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"7\"],\"0$1\"]],,[,,\"74(?:66|77)\\\\d{5}\",,,,\"746612345\",,,[9]],,,[,,,,,,,,,[-1]],[,,\"8(?:10|8\\\\d)\\\\d{5}\",\n,,,\"88101234\",,,[8]],,,[,,,,,,,,,[-1]]],JP:[,[,,\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",,,,,,,[8,9,10,11,12,13,14,15,16,17]],[,,\"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\\\d|4(?:[2-578]\\\\d|6[02-8]|9[2-59])|5(?:[2-589]\\\\d|6[1-9]|7[2-8])|7(?:[25-9]\\\\d|3[4-9]|4[02-9])|8(?:[2679]\\\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\\\d|[679][1-9]))\\\\d{6}\",,,,\"312345678\",,,[9]],[,,\"[7-9]0[1-9]\\\\d{7}\",,,,\"9012345678\",,,[10]],[,,\"(?:00(?:(?:37|66)\\\\d{4,11}|777(?:[01]|(?:5|8\\\\d)\\\\d)|882[1245]\\\\d\\\\d)|(?:120|800\\\\d)\\\\d{4})\\\\d\\\\d\",\n,,,\"120123456\"],[,,\"990\\\\d{6}\",,,,\"990123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"60\\\\d{7}\",,,,\"601234567\",,,[9]],[,,\"50[1-9]\\\\d{7}\",,,,\"5012345678\",,,[10]],\"JP\",81,\"010\",\"0\",,,\"0\",,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"007\",\"0077\",\"00777\",\"00777[01]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))\",\n\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:[2-46]|5[2-8]|7[2-689]|8[2-7]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])\",\n\"1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))\",\n\"1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\",\n\"1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\"],\n\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93)\",\"1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])\",\"1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\"$1-$2-$3\",[\"2(?:[34]7|[56]9|74|9[14-79])|82|993\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"2[2-9]|4|7[235-9]|9[49]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{3,4})\",\"$1-$2-$3\",[\"007\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"008\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[2579]|80\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2-$3\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",\n[\"0\"]],[,\"(\\\\d{4})(\\\\d{5})(\\\\d{5,6})\",\"$1-$2-$3\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{6})(\\\\d{6,7})\",\"$1-$2-$3\",[\"0\"]]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))\",\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))\"],\n\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:[2-46]|5[2-8]|7[2-689]|8[2-7]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])\",\"1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))\",\n\"1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\",\n\"1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\"],\n\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93)\",\"1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])\",\"1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\"$1-$2-$3\",[\"2(?:[34]7|[56]9|74|9[14-79])|82|993\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"2[2-9]|4|7[235-9]|9[49]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[2579]|80\"],\"0$1\"]],[,,\"20\\\\d{8}\",,,,\"2012345678\",,,[10]],,,[,,\"00(?:(?:37|66)\\\\d{4,11}|777(?:[01]|(?:5|8\\\\d)\\\\d)|882[1245]\\\\d\\\\d)\\\\d\\\\d\"],[,,\"570\\\\d{6}\",,,,\"570123456\",,,[9]],,,[,,,,,,,,,[-1]]],KE:[,[,\n,\"(?:(?:2|80)0\\\\d?|[4-7]\\\\d\\\\d|900)\\\\d{6}|[4-6]\\\\d{6,7}\",,,,,,,[7,8,9,10]],[,,\"20\\\\d{6,7}|(?:4[0-6]|5\\\\d|6[0-24-9])\\\\d{7}|(?:4[0245]|6[014-9])\\\\d{6}|5[1-79]\\\\d{5,6}|(?:4[245]|6[01457-9])\\\\d{5}\",,,,\"202012345\",,,[7,8,9]],[,,\"7\\\\d{8}\",,,,\"712123456\",,,[9]],[,,\"800[24-8]\\\\d{5,6}\",,,,\"800223456\",,,[9,10]],[,,\"900[02-9]\\\\d{5}\",,,,\"900223456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KE\",254,\"000\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",\n[\"7\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KG:[,[,,\"(?:[235-7]\\\\d|99)\\\\d{7}|800\\\\d{6,7}\",,,,,,,[9,10],[5,6]],[,,\"(?:3(?:1(?:[256]\\\\d|3[1-9]|47)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\\\d)|5(?:22|3[4-7]|59|6\\\\d)|6(?:22|5[35-7]|6\\\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\\\d)|9(?:22|4[1-8]|6\\\\d))|6(?:09|12|2[2-4])\\\\d)\\\\d{5}\",,,,\"312123456\",,,[9],[5,6]],[,,\"(?:2(?:0[0-35]|2\\\\d)|5[0-24-7]\\\\d|7(?:[07]\\\\d|55)|99[69])\\\\d{6}\",\n,,,\"700123456\",,,[9]],[,,\"800\\\\d{6,7}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KG\",996,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-79]|31[25]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KH:[,[,,\"1\\\\d{9}|[1-9]\\\\d{7,8}\",,,,,,,[8,9,10],[6,7]],[,,\"(?:2(?:3(?:4(?:[2-4]|[56]\\\\d)|[568]\\\\d\\\\d)|[4-6](?:4[56]|[56]\\\\d)\\\\d)|(?:3[2-6]|4[2-4]|[5-7][2-5])(?:4[56]|[56]\\\\d)\\\\d)\\\\d{4}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])[236-9]\\\\d{5}\",\n,,,\"23756789\",,,[8,9],[6,7]],[,,\"(?:(?:(?:1[28]|9[67])\\\\d|8(?:[013-79]|8\\\\d))\\\\d|(?:2[3-6]|4[2-4]|[56][2-5])48|3(?:[18]\\\\d\\\\d|[2-6]48)|7(?:(?:[07-9]|[16]\\\\d)\\\\d|[2-5]48))\\\\d{5}|(?:1\\\\d|6[016-9]|9[0-57-9])\\\\d{6}\",,,,\"91234567\",,,[8,9]],[,,\"1800(?:1\\\\d|2[019])\\\\d{4}\",,,,\"1800123456\",,,[10]],[,,\"1900(?:1\\\\d|2[09])\\\\d{4}\",,,,\"1900123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KH\",855,\"00[14-9]\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KI:[,[,,\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",,,,,,,[5,8]],[,,\"(?:[24]\\\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\\\d\\\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\\\d{3}\",,,,\"31234\"],[,,\"(?:6(?:200[01]|30[01]\\\\d)|7(?:200[01]|3(?:0[0-5]\\\\d|140)))\\\\d{3}\",,,,\"72001234\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"30(?:0[01]\\\\d\\\\d|12(?:11|20))\\\\d\\\\d\",\n,,,\"30010000\",,,[8]],\"KI\",686,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KM:[,[,,\"[3478]\\\\d{6}\",,,,,,,[7]],[,,\"7[4-7]\\\\d{5}\",,,,\"7712345\"],[,,\"[34]\\\\d{6}\",,,,\"3212345\"],[,,,,,,,,,[-1]],[,,\"8\\\\d{6}\",,,,\"8001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KM\",269,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KN:[,[,,\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],\n[,,\"869(?:2(?:29|36)|302|4(?:6[015-9]|70))\\\\d{4}\",,,,\"8692361234\",,,,[7]],[,,\"869(?:5(?:5[6-8]|6[5-7])|66\\\\d|76[02-7])\\\\d{4}\",,,,\"8697652917\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"KN\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"869\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KP:[,[,,\"(?:(?:19\\\\d|2)\\\\d|85)\\\\d{6}\",,,,,,,[8,10],[6,7]],[,\n,\"(?:2\\\\d|85)\\\\d{6}\",,,,\"21234567\",,,[8],[6,7]],[,,\"19[1-3]\\\\d{7}\",,,,\"1921234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KP\",850,\"00|99\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"2(?:[0-24-9]\\\\d\\\\d|3(?:[0-79]\\\\d|8[02-9]))\\\\d{4}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KR:[,[,,\"(?:00[1-9]\\\\d{2,4}|[12]|5\\\\d{3})\\\\d{7}|(?:(?:00|[13-6])\\\\d|70)\\\\d{8}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}\",\n,,,,,,[5,6,8,9,10,11,12,13,14],[3,4,7]],[,,\"(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\\\d{2,3}\",,,,\"22123456\",,,[5,6,8,9,10],[3,4,7]],[,,\"1[0-26-9]\\\\d{7,8}\",,,,\"1000000000\",,,[9,10]],[,,\"(?:00(?:3(?:08|68\\\\d)|798\\\\d{1,3})|80\\\\d)\\\\d{6}\",,,,\"801234567\",,,[9,11,12,13,14]],[,,\"60[2-9]\\\\d{6}\",,,,\"602345678\",,,[9]],[,,,,,,,,,[-1]],[,,\"50\\\\d{8,9}\",,,,\"5012345678\",,,[10,11]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],\"KR\",82,\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"0\",\n,,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\",,,,[[,\"(\\\\d{5})\",\"$1\",[\"1\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1(?:5[246-9]|6[046-8]|8[03579])\",\"1(?:5(?:22|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))\"]],[,\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\"$1-$2-$3\",[\"[57]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{5})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"003\",\"0030\"]],[,\"(\\\\d{5})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[,\"(\\\\d{5})(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],[[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1(?:5[246-9]|6[046-8]|8[03579])\",\"1(?:5(?:22|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))\"]],[,\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\n\"$1-$2-$3\",[\"2\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\",\"0$CC-$1\"]],[,,\"15\\\\d{7,8}\",,,,\"1523456789\",,,[9,10]],,,[,,\"00(?:3(?:08|68\\\\d)|798\\\\d{1,3})\\\\d{6}\",,,,,,,[11,12,13,14]],[,,\"1(?:5(?:22|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))\\\\d{4}\",,,,\"15441234\",\n,,[8]],,,[,,,,,,,,,[-1]]],KW:[,[,,\"(?:18|[2569]\\\\d\\\\d)\\\\d{5}\",,,,,,,[7,8]],[,,\"2(?:[23]\\\\d\\\\d|4(?:[1-35-9]\\\\d|44)|5(?:0[034]|[2-46]\\\\d|5[1-3]|7[1-7]))\\\\d{4}\",,,,\"22345678\",,,[8]],[,,\"(?:5(?:(?:[05]\\\\d|1[0-7]|6[56])\\\\d|2(?:22|5[25]))|6(?:(?:0[034679]|5[015-9]|6\\\\d)\\\\d|222|7(?:0[013-9]|[67]\\\\d)|9(?:[069]\\\\d|3[039]))|9(?:(?:0[09]|22|4[01479]|55|6[0679]|8[057-9]|9\\\\d)\\\\d|11[01]|7(?:02|[1-9]\\\\d)))\\\\d{4}\",,,,\"50012345\",,,[8]],[,,\"18\\\\d{5}\",,,,\"1801234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],\"KW\",965,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[25]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KY:[,[,,\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:4[35-79]|6[6-9]|77)|8(?:00|1[45]|25|[48]8)|9(?:14|4[035-9]))\\\\d{4}\",,,,\"3452221234\",,,,[7]],[,,\"345(?:32[1-9]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|9(?:1[67]|2[2-9]|3[689]))\\\\d{4}\",,,,\"3453231234\",\n,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"(?:345976|900[2-9]\\\\d\\\\d)\\\\d{4}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"KY\",1,\"011\",\"1\",,,\"1\",,,,,,[,,\"345849\\\\d{4}\",,,,\"3458491234\"],,\"345\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KZ:[,[,,\"(?:33622|(?:7\\\\d|80)\\\\d{3})\\\\d{5}\",,,,,,,[10]],[,,\"(?:33622|7(?:1(?:0(?:[23]\\\\d|4[0-3]|59|63)|1(?:[23]\\\\d|4[0-79]|59)|2(?:[23]\\\\d|59)|3(?:2\\\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\\\d|3[013-9]|5[1-9])|5(?:2\\\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\\\d|5[19]|61)|72\\\\d|8(?:[27]\\\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\\\d|4[46-9]|5[3469])|2(?:2\\\\d|3[0679]|46|5[12679])|3(?:[2-4]\\\\d|5[139])|4(?:2\\\\d|3[1-35-9]|59)|5(?:[23]\\\\d|4[0-246-8]|59|61)|6(?:2\\\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\\\d|40|5[279])|8(?:[23]\\\\d|4[0-3]|59)|9(?:2\\\\d|3[124578]|59))))\\\\d{5}\",\n,,,\"7123456789\"],[,,\"7(?:0[0-2578]|47|6[02-4]|7[15-8]|85)\\\\d{7}\",,,,\"7710009998\"],[,,\"800\\\\d{7}\",,,,\"8001234567\"],[,,\"809\\\\d{7}\",,,,\"8091234567\"],[,,,,,,,,,[-1]],[,,\"808\\\\d{7}\",,,,\"8081234567\"],[,,\"751\\\\d{7}\",,,,\"7511234567\"],\"KZ\",7,\"810\",\"8\",,,\"8\",,\"8~10\",,,,[,,,,,,,,,[-1]],,\"33|7\",[,,\"751\\\\d{7}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LA:[,[,,\"(?:2\\\\d|3)\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",,,,,,,[8,9,10],[6]],[,,\"(?:2[13]|[35-7][14]|41|8[1468])\\\\d{6}\",,,,\"21212862\",,,[8],[6]],[,,\"20(?:[29]\\\\d|5[24-689]|7[6-8])\\\\d{6}\",\n,,,\"2023123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LA\",856,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"3\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"30\\\\d{7}\",,,,\"301234567\",,,[9]],,,[,,,,,,,,,[-1]]],LB:[,[,,\"[7-9]\\\\d{7}|[13-9]\\\\d{6}\",,,,,,,[7,8]],[,,\"(?:(?:[14-69]\\\\d|8[02-9])\\\\d|7(?:[2-57]\\\\d|62|8[0-7]|9[04-9]))\\\\d{4}\",\n,,,\"1123456\",,,[7]],[,,\"(?:(?:3|81)\\\\d|7(?:[01]\\\\d|6[013-9]|8[89]|9[1-3]))\\\\d{5}\",,,,\"71123456\"],[,,,,,,,,,[-1]],[,,\"9[01]\\\\d{6}\",,,,\"90123456\",,,[8]],[,,\"80\\\\d{6}\",,,,\"80123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LB\",961,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LC:[,[,,\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",\n,,,,,,[10],[7]],[,,\"758(?:4(?:30|5\\\\d|6[2-9]|8[0-2])|57[0-2]|638)\\\\d{4}\",,,,\"7584305678\",,,,[7]],[,,\"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\\\d|3[01]))\\\\d{4}\",,,,\"7582845678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"LC\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"758\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],\nLI:[,[,,\"(?:(?:[2378]|6\\\\d\\\\d)\\\\d|90)\\\\d{5}\",,,,,,,[7,9]],[,,\"(?:2(?:01|1[27]|3\\\\d|6[02-578]|96)|3(?:7[0135-7]|8[048]|9[0269]))\\\\d{4}\",,,,\"2345678\",,,[7]],[,,\"(?:6(?:5(?:09|1\\\\d|20)|6(?:0[0-6]|10|2[06-9]|39))\\\\d|7(?:[37-9]\\\\d|42|56))\\\\d{4}\",,,,\"660234567\"],[,,\"80(?:02[28]|9\\\\d\\\\d)\\\\d\\\\d\",,,,\"8002222\",,,[7]],[,,\"90(?:02[258]|1(?:23|3[14])|66[136])\\\\d\\\\d\",,,,\"9002222\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LI\",423,\"00\",\"0\",,,\"0|(10(?:01|20|66))\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",\n[\"[237-9]\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[56]\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"870(?:28|87)\\\\d\\\\d\",,,,\"8702812\",,,[7]],,,[,,\"697(?:42|56|[78]\\\\d)\\\\d{4}\",,,,\"697861234\",,,[9]]],LK:[,[,,\"(?:[1-7]\\\\d|[89]1)\\\\d{7}\",,,,,,,[9],[7]],[,,\"(?:[189]1|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\\\d{6}\",,,,\"112345678\",,,,[7]],[,,\"7[0-25-8]\\\\d{7}\",,,,\"712345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LK\",94,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"1973\\\\d{5}\",,,,\"197312345\"],,,[,,,,,,,,,[-1]]],LR:[,[,,\"(?:2|33|5\\\\d|77|88)\\\\d{7}|[45]\\\\d{6}\",,,,,,,[7,8,9]],[,,\"(?:2\\\\d{3}|33333)\\\\d{4}\",,,,\"21234567\",,,[8,9]],[,,\"(?:(?:330|555|(?:77|88)\\\\d)\\\\d|4[67])\\\\d{5}|5\\\\d{6}\",,,,\"770123456\",,,[7,9]],[,,,,,,,,,[-1]],[,,\"332(?:02|[34]\\\\d)\\\\d{4}\",,,,\n\"332021234\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LR\",231,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3578]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LS:[,[,,\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",,,,,,,[8]],[,,\"2\\\\d{7}\",,,,\"22123456\"],[,,\"[56]\\\\d{7}\",,,,\"50123456\"],[,,\"800[256]\\\\d{4}\",,,,\"80021234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LS\",266,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LT:[,[,,\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",,,,,,,[8]],[,,\"(?:3[1478]|4[124-6]|52)\\\\d{6}\",,,,\"31234567\"],[,,\"6\\\\d{7}\",,,,\"61234567\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"9(?:0[0239]|10)\\\\d{5}\",,,,\"90012345\"],[,,\"808\\\\d{5}\",,,,\"80812345\"],[,,\"700\\\\d{5}\",,,,\"70012345\"],[,,,,,,,,,[-1]],\"LT\",370,\"00\",\"8\",,,\"[08]\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",\n[\"52[0-79]\"],\"(8-$1)\",,1],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",,1],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",,1],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"70[67]\\\\d{5}\",,,,\"70712345\"],,,[,,,,,,,,,[-1]]],LU:[,[,,\"[2457-9]\\\\d{3,10}|3(?:[0-46-9]\\\\d{2,9}|5(?:[013-9]\\\\d{1,8}|2\\\\d{1,3}))|6\\\\d{8}\",,,,,,,[4,5,6,7,8,9,10,11]],[,,\"(?:(?:2[2-9]|[457]\\\\d)\\\\d|3(?:[0-46-9]\\\\d|5[013-9])|8(?:0[2-9]|[13-9]\\\\d)|9(?:0[89]|[2-579]\\\\d))\\\\d{1,8}\",\n,,,\"27123456\"],[,,\"6(?:[269][18]|5[158]|7[189]|81)\\\\d{6}\",,,,\"628123456\",,,[9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"90[015]\\\\d{5}\",,,,\"90012345\",,,[8]],[,,\"801\\\\d{5}\",,,,\"80112345\",,,[8]],[,,,,,,,,,[-1]],[,,\"20(?:1\\\\d{5}|[2-689]\\\\d{1,7})\",,,,\"20201234\",,,[4,5,6,7,8,9,10]],\"LU\",352,\"00\",,,,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\",,,,[[,\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"],\n,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",\n[\"2[2-9]|[3-57-9]\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LV:[,[,,\"(?:[268]\\\\d|90)\\\\d{6}\",,,,,,,[8]],[,,\"6\\\\d{7}\",,,,\"63123456\"],[,,\"2\\\\d{7}\",,,,\"21234567\"],[,,\"80\\\\d{6}\",,,,\"80123456\"],[,,\"90\\\\d{6}\",,,,\"90123456\"],[,,\"81\\\\d{6}\",,,,\"81123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LV\",371,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LY:[,[,,\"(?:[2569]\\\\d|71)\\\\d{7}\",\n,,,,,,[9],[7]],[,,\"(?:2[13-5]|5[1347]|6[1-479]|71)\\\\d{7}\",,,,\"212345678\",,,,[7]],[,,\"9[1-6]\\\\d{7}\",,,,\"912345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LY\",218,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[25-79]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MA:[,[,,\"[5-8]\\\\d{8}\",,,,,,,[9]],[,,\"5(?:2(?:[015-79]\\\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])|3(?:[0-48]\\\\d|[57][2-9]|6[2-8]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\",,,\n,\"520123456\"],[,,\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:0[067]|6[1267]|7[017]))\\\\d{6}\",,,,\"650123456\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,\"89\\\\d{7}\",,,,\"891234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"5924[01]\\\\d{4}\",,,,\"592401234\"],\"MA\",212,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"5(?:2[015-7]|3[0-4])|[67]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-489]|3[5-9]|9)|892\",\"5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|9)|892\"],\"0$1\"],[,\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"5[23]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"5\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MC:[,[,,\"(?:(?:[349]|6\\\\d)\\\\d\\\\d|870)\\\\d{5}\",,,,,,,[8,9]],[,,\"(?:870|9[2-47-9]\\\\d)\\\\d{5}\",,,,\"99123456\",,,[8]],[,,\"(?:(?:3|6\\\\d)\\\\d\\\\d|4(?:4\\\\d|5[1-9]))\\\\d{5}\",,,,\"612345678\"],[,,\"90\\\\d{6}\",,,,\"90123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MC\",377,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"8\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"[39]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[39]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,\"870\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MD:[,[,,\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",,,,,,,[8]],[,,\"(?:(?:2[1-9]|3[1-79])\\\\d|5(?:33|5[257]))\\\\d{5}\",\n,,,\"22212345\"],[,,\"(?:562|6\\\\d\\\\d|7(?:[189]\\\\d|6[07]|7[457-9]))\\\\d{5}\",,,,\"62112345\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"90[056]\\\\d{5}\",,,,\"90012345\"],[,,\"808\\\\d{5}\",,,,\"80812345\"],[,,,,,,,,,[-1]],[,,\"3[08]\\\\d{6}\",,,,\"30123456\"],\"MD\",373,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"803\\\\d{5}\",,,,\"80312345\"],,,[,,,,,,,,,[-1]]],ME:[,\n[,,\"(?:20|[3-79]\\\\d|80\\\\d?)\\\\d{6}\",,,,,,,[8,9],[6]],[,,\"(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:[01][2467]|2[2-467]))\\\\d{5}\",,,,\"30234567\",,,[8],[6]],[,,\"6(?:00|3[024]|6[0-25]|[7-9]\\\\d)\\\\d{5}\",,,,\"67622901\",,,[8]],[,,\"80(?:[0-2578]|9\\\\d)\\\\d{5}\",,,,\"80080002\"],[,,\"9(?:4[1568]|5[178])\\\\d{5}\",,,,\"94515151\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"78[1-49]\\\\d{5}\",,,,\"78108780\",,,[8]],\"ME\",382,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],,[,,,,,\n,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"77[1-9]\\\\d{5}\",,,,\"77273012\",,,[8]],,,[,,,,,,,,,[-1]]],MF:[,[,,\"(?:590|69\\\\d)\\\\d{6}\",,,,,,,[9]],[,,\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\",,,,\"590271234\"],[,,\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\",,,,\"690001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MF\",590,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MG:[,[,,\"[23]\\\\d{8}\",,,,,,,[9],[7]],[,,\"20(?:(?:2\\\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\\\d|7(?:2[29]|[35]\\\\d))\\\\d{4}\",\n,,,\"202123456\",,,,[7]],[,,\"3[2-49]\\\\d{7}\",,,,\"321234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"22\\\\d{7}\",,,,\"221234567\"],\"MG\",261,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MH:[,[,,\"(?:(?:[256]\\\\d|45)\\\\d|329)\\\\d{4}\",,,,,,,[7]],[,,\"(?:247|528|625)\\\\d{4}\",,,,\"2471234\"],[,,\"(?:(?:23|54)5|329|45[56])\\\\d{4}\",,,,\"2351234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"635\\\\d{4}\",,,,\"6351234\"],\"MH\",692,\"011\",\"1\",,,\"1\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MK:[,[,,\"[2-578]\\\\d{7}\",,,,,,,[8],[6,7]],[,,\"(?:2(?:[23]\\\\d|5[0-24578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\\\d{5}\",,,,\"22012345\",,,,[6,7]],[,,\"7(?:(?:[0-25-8]\\\\d|3[2-4]|9[23])\\\\d|421)\\\\d{4}\",,,,\"72345678\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"5[02-9]\\\\d{6}\",\n,,,\"50012345\"],[,,\"8(?:0[1-9]|[1-9]\\\\d)\\\\d{5}\",,,,\"80123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MK\",389,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ML:[,[,,\"(?:[246-9]\\\\d|50)\\\\d{6}\",,,,,,,[8]],[,,\"(?:2(?:0(?:2\\\\d|7[0-8])|1(?:2[67]|[4-689]\\\\d))|4(?:0[0-4]|4[1-39])\\\\d)\\\\d{4}\",,,,\"20212345\"],\n[,,\"(?:2(?:079|17\\\\d)|(?:50|[679]\\\\d|8[239])\\\\d\\\\d)\\\\d{4}\",,,,\"65012345\"],[,,\"80\\\\d{6}\",,,,\"80012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ML\",223,\"00\",,,,,,,,[[,\"(\\\\d{4})\",\"$1\",[\"67[057-9]|74[045]\",\"67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]],[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]],[,,,,,,,,,[-1]],,,[,,\"80\\\\d{6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MM:[,[,,\"(?:1|[24-7]\\\\d)\\\\d{5,7}|8\\\\d{6,9}|9(?:[0-46-9]\\\\d{6,8}|5\\\\d{6})|2\\\\d{5}\",\n,,,,,,[6,7,8,9,10],[5]],[,,\"(?:1(?:(?:2\\\\d|3[56]|[89][0-6])\\\\d|4(?:2[2-469]|39|6[25]|7[01])|6)|2(?:2(?:00|8[34])|4(?:0\\\\d|2[246]|39|62|7[01])|51\\\\d\\\\d)|4(?:2(?:2\\\\d\\\\d|480)|3(?:20\\\\d|470|56)|420\\\\d|5470)|5(?:2(?:2\\\\d\\\\d?|470)|4(?:2(?:1|86)|470)|522\\\\d|7(?:20\\\\d|480)|[89](?:20\\\\d|470))|6(?:0(?:[23]|88\\\\d)|(?:124|42[04]|[56]2\\\\d)\\\\d|3(?:20\\\\d|470)|7(?:(?:3\\\\d|8[01459])\\\\d|4(?:39|[67]0)))|7(?:0470|1(?:20\\\\d?|470)|4(?:25\\\\d|470)|5(?:202|470|96\\\\d))|8(?:[13](?:2\\\\d\\\\d|470)|[25]2\\\\d\\\\d))\\\\d{4}|(?:(?:1[2-6]\\\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4]))\\\\d|25\\\\d{2,3}|8(?:[135]2\\\\d\\\\d|2(?:2\\\\d\\\\d|320)))\\\\d{3}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:1[2-689]|2[2-8]|3[24]|4[24-7]|5[245]|6[23]))\\\\d{4}\",\n,,,\"1234567\",,,[6,7,8,9],[5]],[,,\"(?:17[01]|9(?:2(?:[0-4]|[56]\\\\d\\\\d)|(?:3(?:[0-36]|4\\\\d)|(?:6[89]|89)\\\\d|7(?:3|5[0-2]|[6-9]\\\\d))\\\\d|4(?:(?:[0245]\\\\d|[1379])\\\\d|88)|5[0-6]|9(?:[089]|[5-7]\\\\d\\\\d))\\\\d)\\\\d{4}|9[69]1\\\\d{6}|9[68]\\\\d{6}\",,,,\"92123456\",,,[7,8,9,10]],[,,\"80080(?:[01][1-9]|2\\\\d)\\\\d{3}\",,,,\"8008001234\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:1(?:333|468)|2468)\\\\d{4}\",,,,\"13331234\",,,[8]],\"MM\",95,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],\n[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[,\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",\n[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MN:[,[,,\"[12]\\\\d{8,9}|[1257-9]\\\\d{7}\",,,,,,,[8,9,10],[4,5,6]],[,,\"(?:[12](?:1|2[1-37]|(?:3[2-8]|4[2-68]|5[1-4689])\\\\d?)|5[0568])\\\\d{6}|[12]2[1-3]\\\\d{5}\",,,,\"50123456\",,,,[4,5,6]],[,,\"(?:8(?:[05689]\\\\d|3[01])|9[013-9]\\\\d)\\\\d{5}\",,,,\"88123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"7[05-8]\\\\d{6}\",,,,\"75123456\",,,[8]],\"MN\",976,\"001\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",\n[\"[12]1\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]],[,\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[,\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MO:[,[,,\"(?:28|[68]\\\\d)\\\\d{6}\",,,,,,,[8]],[,,\"(?:28[2-57-9]|8(?:11|[2-57-9]\\\\d))\\\\d{5}\",,,,\"28212345\"],[,,\"6(?:[2356]\\\\d\\\\d|8(?:[02][5-9]|[1478]\\\\d|[356][0-4]))\\\\d{4}\",\n,,,\"66123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MO\",853,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MP:[,[,,\"(?:[58]\\\\d\\\\d|(?:67|90)0)\\\\d{7}\",,,,,,,[10],[7]],[,,\"670(?:2(?:3[3-7]|56|8[5-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\\\d{4}\",,,,\"6702345678\",,,,[7]],[,,\"670(?:2(?:3[3-7]|56|8[5-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\\\d{4}\",\n,,,\"6702345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"MP\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,,,,[-1]],,\"670\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MQ:[,[,,\"(?:596|69\\\\d)\\\\d{6}\",,,,,,,[9]],[,,\"596(?:0[0-7]|10|2[7-9]|3[05-9]|4[0-46-8]|[5-7]\\\\d|8[09]|9[4-8])\\\\d{4}\",,,,\"596301234\"],[,,\"69(?:6(?:[0-47-9]\\\\d|5[0-6]|6[0-4])|727)\\\\d{4}\",\n,,,\"696201234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MQ\",596,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MR:[,[,,\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",,,,,,,[8]],[,,\"(?:25[08]|35\\\\d|45[1-7])\\\\d{5}\",,,,\"35123456\"],[,,\"[2-4][0-46-9]\\\\d{6}\",,,,\"22123456\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MR\",222,\n\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MS:[,[,,\"(?:(?:[58]\\\\d\\\\d|900)\\\\d\\\\d|66449)\\\\d{5}\",,,,,,,[10],[7]],[,,\"664491\\\\d{4}\",,,,\"6644912345\",,,,[7]],[,,\"66449[2-6]\\\\d{4}\",,,,\"6644923456\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"MS\",1,\"011\",\n\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"664\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MT:[,[,,\"(?:(?:[2579]\\\\d\\\\d|800)\\\\d|3550)\\\\d{4}\",,,,,,,[8]],[,,\"2(?:0(?:[169]\\\\d|3[1-4])|[1-357]\\\\d\\\\d)\\\\d{4}\",,,,\"21001234\"],[,,\"(?:7(?:210|[79]\\\\d\\\\d)|9(?:2(?:1[01]|31)|69[67]|8(?:1[1-3]|89|97)|9\\\\d\\\\d))\\\\d{4}\",,,,\"96961234\"],[,,\"800[3467]\\\\d{4}\",,,,\"80071234\"],[,,\"5(?:0(?:0(?:37|43)|(?:6\\\\d|70|9[0168])\\\\d)|[12]\\\\d0[1-5])\\\\d{3}\",,,,\"50037123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3550\\\\d{4}\",,,,\"35501234\"],\"MT\",\n356,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]],,[,,\"7117\\\\d{4}\",,,,\"71171234\"],,,[,,,,,,,,,[-1]],[,,\"501\\\\d{5}\",,,,\"50112345\"],,,[,,,,,,,,,[-1]]],MU:[,[,,\"(?:[2-468]|5\\\\d)\\\\d{6}\",,,,,,,[7,8]],[,,\"(?:2(?:[03478]\\\\d|1[0-7]|6[0-79])|4(?:[013568]\\\\d|2[4-7])|54(?:4\\\\d|71)|6\\\\d\\\\d|8(?:14|3[129]))\\\\d{4}\",,,,\"54480123\"],[,,\"5(?:(?:2[589]|7\\\\d|9[0-8])\\\\d|4(?:2[1-389]|[489]\\\\d|7[1-9])|8(?:[0-689]\\\\d|7[15-8]))\\\\d{4}\",,,,\"52512345\",,,[8]],[,,\"80[0-2]\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"30\\\\d{5}\",,,,\n\"3012345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3(?:20|9\\\\d)\\\\d{4}\",,,,\"3201234\",,,[7]],\"MU\",230,\"0(?:0|[24-7]0|3[03])\",,,,,,\"020\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8(?:0[0-2]|14|3[129])\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"5\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MV:[,[,,\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",,,,,,,[7,10]],[,,\"(?:3(?:0[0-3]|3[0-59])|6(?:[57][02468]|6[024-68]|8[024689]))\\\\d{4}\",,,,\"6701234\",,,[7]],[,,\"(?:46[46]|(?:7[2-9]|9[14-9])\\\\d)\\\\d{4}\",\n,,,\"7712345\",,,[7]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"900\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MV\",960,\"0(?:0|19)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[367]|4(?:00|[56])|9[14-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"4[05]0\\\\d{4}\",,,,\"4001234\",,,[7]],,,[,,,,,,,,,[-1]]],MW:[,[,,\"1\\\\d{6}(?:\\\\d{2})?|(?:[23]1|77|88|99)\\\\d{7}\",,,,,,,[7,9]],[,,\"(?:1[2-9]|21\\\\d\\\\d)\\\\d{5}\",,,,\"1234567\"],[,,\"(?:111|(?:77|88|99)\\\\d)\\\\d{6}\",\n,,,\"991234567\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"31\\\\d{7}\",,,,\"310123456\",,,[9]],\"MW\",265,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[17-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MX:[,[,,\"(?:1\\\\d|[2-9])\\\\d{9}\",,,,,,,[10,11],[7,8]],\n[,,\"(?:2(?:0[01]|2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\\\d{7}\",,,,\"2221234567\",,,[10],[7,8]],[,,\"1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\\\d{7}\",\n,,,\"12221234567\",,,[11]],[,,\"8(?:00|88)\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"900\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,\"300\\\\d{7}\",,,,\"3001234567\",,,[10]],[,,\"500\\\\d{7}\",,,,\"5001234567\",,,[10]],[,,,,,,,,,[-1]],\"MX\",52,\"0[09]\",\"01\",,,\"0[12]|04[45]([2-9]\\\\d{9})$\",\"1$1\",\"00\",,[[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],\"01 $1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],\"01 $1\",,1],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],\"044 $1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\"$2 $3 $4\",[\"1\"],\"044 $1\"]],[[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],\"01 $1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],\"01 $1\",,1],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1(?:33|5[56]|81)\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MY:[,[,,\"(?:1\\\\d\\\\d?|3\\\\d|[4-9])\\\\d{7}\",,,,,,,[8,9,10],[6,7]],[,,\"(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\\\d|9[0-57])\\\\d|4(?:2[0-689]|[3-79]\\\\d|8[1-35689])|5(?:2[0-589]|[3468]\\\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\\\d|[3489][0-8]))\\\\d{5}\",\n,,,\"323856789\",,,[8,9],[6,7]],[,,\"1(?:(?:0(?:[23568]\\\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\\\d\\\\d|6(?:0[5-9]|[1-9]\\\\d))|(?:[23679][2-9]|59\\\\d)\\\\d)\\\\d|4(?:[235-9]\\\\d\\\\d|400)|8(?:(?:1[23]|[236]\\\\d|5[7-9]|7[016-9]|9[0-8])\\\\d|4(?:[06]\\\\d|7[0-4])|8(?:[01]\\\\d|[27][0-4])))\\\\d{4}\",,,,\"123456789\",,,[9,10]],[,,\"1[378]00\\\\d{6}\",,,,\"1300123456\",,,[10]],[,,\"1600\\\\d{6}\",,,,\"1600123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"154(?:6(?:0\\\\d|1[0-3])|8(?:[25]1|4[0189]|7[0-4679]))\\\\d{4}\",,,,\"1546012345\",,,[10]],\n\"MY\",60,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[0249]|[367][2-9]|8[1-9])|8\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"11\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MZ:[,[,,\"(?:2|8\\\\d)\\\\d{7}\",,,,,,,[8,9]],[,,\"2(?:[1346]\\\\d|5[0-2]|[78][12]|93)\\\\d{5}\",\n,,,\"21123456\",,,[8]],[,,\"8[2-7]\\\\d{7}\",,,,\"821234567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MZ\",258,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-7]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NA:[,[,,\"[68]\\\\d{7,8}\",,,,,,,[8,9]],[,,\"6(?:1(?:[02-4]\\\\d\\\\d|17)|2(?:17|54\\\\d|69|70)|3(?:17|2[0237]\\\\d|34|6[289]|7[01]|81)|4(?:17|(?:27|41|5[25])\\\\d|69|7[01])|5(?:17|2[236-8]\\\\d|69|7[01])|6(?:17|26\\\\d|38|42|69|7[01])|7(?:17|(?:2[2-4]|30)\\\\d|6[89]|7[01]))\\\\d{4}|6(?:1(?:2[2-7]|3[01378]|4[0-4]|69|7[014])|25[0-46-8]|32\\\\d|4(?:2[0-27]|4[016]|5[0-357])|52[02-9]|62[56]|7(?:2[2-69]|3[013]))\\\\d{4}\",\n,,,\"61221234\"],[,,\"(?:60|8[1245])\\\\d{7}\",,,,\"811234567\",,,[9]],[,,\"80\\\\d{7}\",,,,\"800123456\",,,[9]],[,,\"8701\\\\d{5}\",,,,\"870123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"8(?:3\\\\d\\\\d|86)\\\\d{5}\",,,,\"88612345\"],\"NA\",264,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8[0-5]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,\n,,,,[-1]],,,[,,,,,,,,,[-1]]],NC:[,[,,\"[2-57-9]\\\\d{5}\",,,,,,,[6]],[,,\"(?:2[03-9]|3[0-5]|4[1-7]|88)\\\\d{4}\",,,,\"201234\"],[,,\"(?:5[0-4]|[79]\\\\d|8[0-79])\\\\d{4}\",,,,\"751234\"],[,,,,,,,,,[-1]],[,,\"36\\\\d{4}\",,,,\"366711\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NC\",687,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[2-47-9]|5[0-4]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NE:[,[,,\"[0289]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:0(?:20|3[1-7]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\\\d{4}\",\n,,,\"20201234\"],[,,\"(?:8[04589]|9\\\\d)\\\\d{6}\",,,,\"93123456\"],[,,\"08\\\\d{6}\",,,,\"08123456\"],[,,\"09\\\\d{6}\",,,,\"09123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NE\",227,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"09|2[01]|[89]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NF:[,[,,\"[13]\\\\d{5}\",,,,,,,[6],[5]],[,,\"(?:1(?:06|17|28|39)|3[0-2]\\\\d)\\\\d{3}\",,,,\"106609\",,,,[5]],[,,\"3[58]\\\\d{4}\",,,,\"381234\",\n,,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NF\",672,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[,\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"3\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NG:[,[,,\"[78]\\\\d{10,13}|[7-9]\\\\d{9}|[1-9]\\\\d{7}|[124-7]\\\\d{6}\",,,,,,,[7,8,10,11,12,13,14],[5,6]],[,,\"(?:(?:[1-356]\\\\d|4[02-8]|7[0-79]|8[2-9])\\\\d|9(?:0[3-9]|[1-9]\\\\d))\\\\d{5}|(?:[12]\\\\d|4[147]|5[14579]|6[1578]|7[0-3578])\\\\d{5}\",,,,\"18040123\",,,[7,8],[5,\n6]],[,,\"(?:70(?:[1-689]\\\\d|7[0-3])|8(?:0(?:1[01]|[2-9]\\\\d)|1(?:[0-8]\\\\d|9[01]))|90[235-9]\\\\d)\\\\d{6}\",,,,\"8021234567\",,,[10]],[,,\"800\\\\d{7,11}\",,,,\"80017591759\",,,[10,11,12,13,14]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NG\",234,\"009\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-7]|8[2-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",\n[\"[7-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"700\\\\d{7,11}\",,,,\"7001234567\",,,[10,11,12,13,14]],,,[,,,,,,,,,[-1]]],NI:[,[,,\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",,,,,,,[8]],[,,\"2\\\\d{7}\",,,,\"21234567\"],[,,\"(?:5(?:5[0-7]|[78]\\\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\\\d)\\\\d)\\\\d{5}\",,,,\"81234567\"],[,,\"1800\\\\d{4}\",,,,\"18001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],[,,,,,,,,,[-1]],\"NI\",505,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NL:[,[,,\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8])|[89]\\\\d{0,3})\\\\d{6}|1\\\\d{4,5}\",,,,,,,[5,6,7,8,9,10]],[,,\"(?:1(?:[035]\\\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\\\d\\\\d)\\\\d{6}\",\n,,,\"101234567\",,,[9]],[,,\"6[1-58]\\\\d{7}\",,,,\"612345678\",,,[9]],[,,\"800\\\\d{4,7}\",,,,\"8001234\",,,[7,8,9,10]],[,,\"90[069]\\\\d{4,7}\",,,,\"9061234\",,,[7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:85|91)\\\\d{7}\",,,,\"851234567\",,,[9]],\"NL\",31,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"14\"]],[,\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1[035]|2[0346]|3[03568]|4[0356]|5[0358]|[7-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{8})\",\n\"$1 $2\",[\"6[1-58]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"0$1\"]],[[,\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1[035]|2[0346]|3[03568]|4[0356]|5[0358]|[7-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6[1-58]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"0$1\"]],[,,\"66\\\\d{7}\",,,,\"662345678\",,,[9]],,,[,,\"140(?:1(?:[035]|[16-8]\\\\d)|2(?:[0346]|[259]\\\\d)|3(?:[03568]|[124]\\\\d)|4(?:[0356]|[17-9]\\\\d)|5(?:[0358]|[124679]\\\\d)|7\\\\d|8[458])\",\n,,,,,,[5,6]],[,,\"140(?:1(?:[035]|[16-8]\\\\d)|2(?:[0346]|[259]\\\\d)|3(?:[03568]|[124]\\\\d)|4(?:[0356]|[17-9]\\\\d)|5(?:[0358]|[124679]\\\\d)|7\\\\d|8[458])|8[478]\\\\d{7}\",,,,\"14020\",,,[5,6,9]],,,[,,,,,,,,,[-1]]],NO:[,[,,\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",,,,,,,[5,8]],[,,\"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\\\d{6}\",,,,\"21234567\",,,[8]],[,,\"(?:4[015-8]|5[89]|9\\\\d)\\\\d{6}\",,,,\"40612345\",,,[8]],[,,\"80[01]\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"82[09]\\\\d{5}\",,,,\"82012345\",,,[8]],[,,\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",,,,\"81021234\",\n,,[8]],[,,\"880\\\\d{5}\",,,,\"88012345\",,,[8]],[,,\"85[0-5]\\\\d{5}\",,,,\"85012345\",,,[8]],\"NO\",47,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-7]\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[489]\"]]],,[,,,,,,,,,[-1]],1,\"[02-689]|7[0-8]\",[,,,,,,,,,[-1]],[,,\"(?:0\\\\d|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\",,,,\"01234\"],,,[,,\"81[23]\\\\d{5}\",,,,\"81212345\",,,[8]]],NP:[,[,,\"9\\\\d{9}|[1-9]\\\\d{7}\",,,,,,,[8,10],[6,7]],[,,\"(?:1[0-6]\\\\d|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-79])[2-6])\\\\d{5}\",\n,,,\"14567890\",,,[8],[6,7]],[,,\"9(?:6[0-3]|7[245]|8[0-24-68])\\\\d{7}\",,,,\"9841234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NP\",977,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"[1-8]|9(?:[1-579]|6[2-6])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NR:[,[,,\"(?:444|55\\\\d|888)\\\\d{4}\",,,,,,,[7]],[,,\"(?:444|888)\\\\d{4}\",,,,\"4441234\"],[,\n,\"55[4-9]\\\\d{4}\",,,,\"5551234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NR\",674,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[458]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NU:[,[,,\"(?:[47]|888\\\\d)\\\\d{3}\",,,,,,,[4,7]],[,,\"[47]\\\\d{3}\",,,,\"7012\",,,[4]],[,,\"888[4-9]\\\\d{3}\",,,,\"8884012\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NU\",683,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]],\n,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NZ:[,[,,\"[28]\\\\d{7,9}|[346]\\\\d{7}|(?:508|[79]\\\\d)\\\\d{6,7}\",,,,,,,[8,9,10],[7]],[,,\"(?:24099|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\\\d{3})\\\\d{3}\",,,,\"32345678\",,,[8],[7]],[,,\"2(?:[0-28]\\\\d?|[79])\\\\d{7}|21\\\\d{6}\",,,,\"211234567\"],[,,\"508\\\\d{6,7}|80\\\\d{6,8}\",,,,\"800123456\"],[,,\"90\\\\d{6,7}\",,,,\"900123456\",,,[8,9]],[,,,,,,,,,[-1]],[,,\"70\\\\d{7}\",,,,\"701234567\",,,[9]],[,,,,,,,,,[-1]],\"NZ\",64,\"0(?:0|161)\",\"0\",,,\"0\",,\"00\",,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\"$1-$2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80|9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[59]|80\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[028]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"[278]\"],\"0$1\"]],,[,,\"[28]6\\\\d{6,7}\",,,,\"26123456\",,,[8,9]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],OM:[,[,,\"(?:[279]\\\\d{3}|500|8007\\\\d?)\\\\d{4}\",,,,,,,[7,8,9]],[,,\"2[2-6]\\\\d{6}\",,,,\"23123456\",,,[8]],[,,\"(?:7[129]\\\\d|9(?:0[1-9]|[1-9]\\\\d))\\\\d{5}\",\n,,,\"92123456\",,,[8]],[,,\"(?:500|8007\\\\d?)\\\\d{4}\",,,,\"80071234\"],[,,\"900\\\\d{5}\",,,,\"90012345\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"OM\",968,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[79]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PA:[,[,,\"(?:[1-57-9]|6\\\\d)\\\\d{6}\",,,,,,,[7,8]],[,,\"(?:1(?:0\\\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|[68][58]|7[0167]|9[39])|2(?:[0235-79]\\\\d|1[0-7]|4[013-9]|8[026-9])|3(?:[089]\\\\d|1[014-7]|2[0-35]|33|4[0-579]|55|6[068]|7[06-8])|4(?:00|3[0-579]|4\\\\d|7[0-57-9])|5(?:[01]\\\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[05]|7[0-24-9]|8[7-9]|90)|8(?:09|2[89]|3\\\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\\\d))\\\\d{4}\",\n,,,\"2001234\",,,[7]],[,,\"(?:1[16]1|21[89]|6(?:[02-9]\\\\d|1[0-6])\\\\d|8(?:1[01]|7[23]))\\\\d{4}\",,,,\"61234567\"],[,,\"800\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\\\d{4}\",,,,\"8601234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PA\",507,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"6\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PE:[,[,,\"(?:[14-8]|9\\\\d)\\\\d{7}\",,,,,,,[8,9],[6,7]],[,,\"(?:1\\\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\\\d{6}\",\n,,,\"11234567\",,,[8],[6,7]],[,,\"9\\\\d{8}\",,,,\"912345678\",,,[9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"805\\\\d{5}\",,,,\"80512345\",,,[8]],[,,\"801\\\\d{5}\",,,,\"80112345\",,,[8]],[,,\"80[24]\\\\d{5}\",,,,\"80212345\",,,[8]],[,,,,,,,,,[-1]],\"PE\",51,\"19(?:1[124]|77|90)00\",\"0\",\" Anexo \",,\"0\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-7]|8[2-4]\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PF:[,[,,\"[48]\\\\d{7}|4\\\\d{5}\",,,,,,,[6,8]],[,,\"4(?:[09][4-689]\\\\d|4)\\\\d{4}\",,,,\"40412345\"],[,,\"8[79]\\\\d{6}\",,,,\"87123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PF\",689,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[48]\"]]],,[,,,,,,,,,[-1]],,,[,,\"44\\\\d{4}\",,,,,,,[6]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PG:[,[,,\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",\n,,,,,,[7,8]],[,,\"(?:(?:3[0-2]|4[257]|5[34]|9[78])\\\\d|64[1-9]|77(?:[0-24]\\\\d|30)|85[02-46-9])\\\\d{4}\",,,,\"3123456\"],[,,\"(?:7(?:[0-689]\\\\d|75)|81\\\\d)\\\\d{5}\",,,,\"70123456\",,,[8]],[,,\"180\\\\d{4}\",,,,\"1801234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"2(?:0[0-47]|7[568])\\\\d{4}\",,,,\"2751234\",,,[7]],\"PG\",675,\"00|140[1-3]\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],\nPH:[,[,,\"(?:1800\\\\d{2,4}|2|[89]\\\\d{4})\\\\d{5}|[3-8]\\\\d{8}|[28]\\\\d{7}\",,,,,,,[6,8,9,10,11,12,13],[4,5,7]],[,,\"(?:2\\\\d(?:\\\\d{2})?|(?:3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\\\d{3}|88(?:22\\\\d\\\\d|42))\\\\d{4}|8[2-8]\\\\d{7}\",,,,\"21234567\",,,[6,8,9,10],[4,5,7]],[,,\"(?:81[37]|9(?:0[5-9]|1[024-9]|2[0-35-9]|3[02-9]|4[235-9]|5[056]|6[5-7]|7[3-79]|89|9[4-9]))\\\\d{7}\",,,,\"9051234567\",,,[10]],[,,\"1800\\\\d{7,9}\",,,,\"180012345678\",,,[11,12,13]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PH\",63,\"00\",\n\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[,\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|5(?:22|44)|642|8(?:62|8[245])\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-68]|4[2-9]|[5-7]|8[2-8]\",\"3(?:[23568]|4(?:[0-57-9]|6[02-8]))|4(?:2(?:[0-689]|7[0-8])|[3-8]|9(?:[0-246-9]|3[1-9]|5[0-57-9]))|[5-7]|8(?:[2-7]|8(?:[0-24-9]|3[0-35-9]))\"],\n\"(0$1)\"],[,\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"[34]|88\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[,\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PK:[,[,,\"(?:122|[24-8]\\\\d{4,5}|9(?:[013-9]\\\\d{2,4}|2(?:[01]\\\\d\\\\d|2(?:[025-8]\\\\d|1[01]))\\\\d))\\\\d{6}|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",,,,,,,[8,9,10,11,12],[5,6,7]],[,,\"2(?:(?:1[2-9]\\\\d|[25][2-9])\\\\d{6}|(?:3[2358]|4[2-4]|9[2-8])[2-9]\\\\d{5,6})|4(?:(?:[0146-9][2-9]|2[2-9]\\\\d)\\\\d{6}|5[3479][2-9]\\\\d{5,6})|5(?:(?:[1-35-7][2-9]|8[126]\\\\d)\\\\d{6}|4[2-467][2-9]\\\\d{5,6})|6(?:0[468][2-9]\\\\d{5,6}|[1-8][2-9]\\\\d{6})|7(?:[14][2-9]\\\\d{6}|2[236][2-9]\\\\d{5,6})|8(?:[16][2-9]\\\\d{6}|(?:2[2-689]|3[23578]|4[3478]|5[2356])[2-9]\\\\d{5,6})|9(?:1[2-9]\\\\d{6}|(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])[2-9]\\\\d{5,6})\",\n,,,\"2123456789\",,,[9,10],[5,6,7,8]],[,,\"3(?:[014]\\\\d|2[0-5]|3[0-7]|55|64)\\\\d{7}\",,,,\"3012345678\",,,[10]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"900\\\\d{5}\",,,,\"90012345\",,,[8]],[,,,,,,,,,[-1]],[,,\"122\\\\d{6}\",,,,\"122044444\",,,[9]],[,,,,,,,,,[-1]],\"PK\",92,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[,\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\n\"(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356]))[2-9]|9(?:2(?:2[2-9]|[3-8])|(?:3[27-9]|4[2-6]|6[3569])[2-9]|9(?:[25-7][2-9]|8))\"],\"(0$1)\"],[,\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],\n[,,\"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\\\d{6}\",,,,\"21111825888\",,,[11,12]],,,[,,,,,,,,,[-1]]],PL:[,[,,\"[1-9]\\\\d{6}(?:\\\\d{2})?|6\\\\d{5}(?:\\\\d{2})?\",,,,,,,[6,7,8,9]],[,,\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\\\\d{3}\",\n,,,\"123456789\",,,[7,9]],[,,\"(?:45|5[0137]|6[069]|7[2389]|88)\\\\d{7}\",,,,\"512345678\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"70[01346-8]\\\\d{6}\",,,,\"701234567\",,,[9]],[,,\"801\\\\d{6}\",,,,\"801234567\",,,[9]],[,,,,,,,,,[-1]],[,,\"39\\\\d{7}\",,,,\"391234567\",,,[9]],\"PL\",48,\"00\",,,,,,,,[[,\"(\\\\d{5})\",\"$1\",[\"19\"]],[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|64\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],\n[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|2|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3-8]\"]]],,[,,\"64\\\\d{4,7}\",,,,\"641234567\"],,,[,,,,,,,,,[-1]],[,,\"804\\\\d{6}\",,,,\"804123456\",,,[9]],,,[,,,,,,,,,[-1]]],PM:[,[,,\"[45]\\\\d{5}\",,,,,,,[6]],[,,\"(?:4[1-3]|50)\\\\d{4}\",,,,\"430123\"],[,,\"(?:4[02-4]|5[05])\\\\d{4}\",,,,\"551234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,\n,,[-1]],[,,,,,,,,,[-1]],\"PM\",508,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PR:[,[,,\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",,,,,,,[10],[7]],[,,\"(?:787|939)[2-9]\\\\d{6}\",,,,\"7872345678\",,,,[7]],[,,\"(?:787|939)[2-9]\\\\d{6}\",,,,\"7872345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],\n[,,,,,,,,,[-1]],\"PR\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,,,,[-1]],,\"787|939\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PS:[,[,,\"(?:(?:1\\\\d|5)\\\\d\\\\d|[2489]2)\\\\d{6}\",,,,,,,[8,9,10],[7]],[,,\"(?:22[2-47-9]|42[45]|82[01458]|92[369])\\\\d{5}\",,,,\"22234567\",,,[8],[7]],[,,\"5[69]\\\\d{7}\",,,,\"599123456\",,,[9]],[,,\"1800\\\\d{6}\",,,,\"1800123456\",,,[10]],[,,,,,,,,,[-1]],[,,\"1700\\\\d{6}\",,,,\"1700123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PS\",970,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\n\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PT:[,[,,\"(?:[26-9]\\\\d|30)\\\\d{7}\",,,,,,,[9]],[,,\"2(?:[12]\\\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\\\d{6}\",,,,\"212345678\"],[,,\"9(?:[1-36]\\\\d\\\\d|480)\\\\d{5}\",,,,\"912345678\"],[,,\"80[02]\\\\d{6}\",,,,\"800123456\"],[,,\"(?:6(?:0[178]|4[68])\\\\d|76(?:0[1-57]|1[2-47]|2[237]))\\\\d{5}\",,,,\"760123456\"],[,,\"80(?:8\\\\d|9[1579])\\\\d{5}\",\n,,,\"808123456\"],[,,\"884[0-4689]\\\\d{5}\",,,,\"884123456\"],[,,\"30\\\\d{7}\",,,,\"301234567\"],\"PT\",351,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"70(?:7\\\\d|8[17])\\\\d{5}\",,,,\"707123456\"],,,[,,\"600\\\\d{6}\",,,,\"600110000\"]],PW:[,[,,\"(?:[25-8]\\\\d\\\\d|345|488|900)\\\\d{4}\",,,,,,,[7]],[,,\"(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\\\d{4}\",,,,\"2771234\"],[,,\"(?:6[2-4689]0|77\\\\d|88[0-4])\\\\d{4}\",\n,,,\"6201234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PW\",680,\"01[12]\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PY:[,[,,\"(?:[2-46-9]\\\\d|5[0-8])\\\\d{7}|[2-9]\\\\d{5,7}\",,,,,,,[6,7,8,9],[5]],[,,\"(?:2(?:1\\\\d|2[4-68]|7[15]|9[1-5])|5(?:[1-4]\\\\d|5[02-4])|6(?:1\\\\d|3[1-3]|44|7[1-46-8]))\\\\d{5,6}|3(?:(?:18|3[167]|4[2357]|51)\\\\d{5,6}|[289]\\\\d{5,7})|4(?:[1246-8]\\\\d{5,7}|(?:3[12]|5[13]|9[1-47])\\\\d{5,6})|7(?:[1-3]\\\\d{5,7}|(?:4[0-4]|6[1-578]|75|8[0-8])\\\\d{5,6})|8(?:[1-36]\\\\d{5,7}|58\\\\d{5,6})|[26]1\\\\d{5}\",\n,,,\"212345678\",,,[7,8,9],[5,6]],[,,\"9(?:51|6[129]|[78][1-6]|9[1-5])\\\\d{6}\",,,,\"961456789\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"8700[0-4]\\\\d{4}\",,,,\"870012345\",,,[9]],\"PY\",595,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\n\"(0$1)\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-7]|85\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"[2-9]0\\\\d{4,7}\",,,,\"201234567\"],,,[,,,,,,,,,[-1]]],QA:[,[,,\"(?:(?:2|[3-7]\\\\d)\\\\d\\\\d|800)\\\\d{4}\",,,,,,,[7,8]],[,,\"4[04]\\\\d{6}\",,,,\"44123456\",,,[8]],[,,\"[35-7]\\\\d{7}\",,,,\"33123456\",,,[8]],[,,\"800\\\\d{4}\",,,,\"8001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"QA\",974,\"00\",,,,,\n,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[126]|8\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]],,[,,\"2(?:[12]\\\\d|61)\\\\d{4}\",,,,\"2123456\",,,[7]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RE:[,[,,\"(?:26|[68]\\\\d)\\\\d{7}\",,,,,,,[9]],[,,\"262\\\\d{6}\",,,,\"262161234\"],[,,\"69(?:2\\\\d\\\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[05]|6[0-26]|7[0-27]|8[0-38]|9[0-479]))\\\\d{4}\",,,,\"692123456\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,\"89[1-37-9]\\\\d{6}\",,,,\"891123456\"],[,,\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\",,,,\"810123456\"],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RE\",262,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[268]\"],\"0$1\"]],,[,,,,,,,,,[-1]],1,\"262|69|8\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RO:[,[,,\"(?:[237]\\\\d|[89]0)\\\\d{7}|[23]\\\\d{5}\",,,,,,,[6,9]],[,,\"[23][13-6]\\\\d{7}|(?:2(?:19\\\\d|[3-6]\\\\d9)|31\\\\d\\\\d)\\\\d\\\\d\",,,,\"211234567\"],[,,\"7(?:(?:[02-7]\\\\d|8[03-8]|99)\\\\d|1(?:[01]\\\\d|20))\\\\d{5}\",,,,\"712034567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"90[036]\\\\d{6}\",,,,\"900123456\",,\n,[9]],[,,\"801\\\\d{6}\",,,,\"801123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RO\",40,\"00\",\"0\",\" int \",,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[237-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"37\\\\d{7}\",,,,\"372123456\",,,[9]],,,[,,,,,,,,,[-1]]],RS:[,[,,\"[127]\\\\d{6,11}|3(?:[0-79]\\\\d{5,10}|8(?:[02-9]\\\\d{4,9}|1\\\\d{4,5}))|6\\\\d{7,9}|800\\\\d{3,9}|90\\\\d{4,8}|7\\\\d{5}\",\n,,,,,,[6,7,8,9,10,11,12],[4,5]],[,,\"(?:1(?:[02-9][2-9]|1[1-9])\\\\d|2(?:[0-24-7][2-9]\\\\d|[389](?:0[2-9]|[2-9]\\\\d))|3(?:[0-8][2-9]\\\\d|9(?:0[2-9]|[2-9]\\\\d)))\\\\d{3,8}\",,,,\"10234567\",,,[7,8,9,10,11,12],[4,5,6]],[,,\"6(?:[0-689]|7\\\\d)\\\\d{6,7}\",,,,\"601234567\",,,[8,9,10]],[,,\"800\\\\d{3,9}\",,,,\"80012345\"],[,,\"(?:78\\\\d|90[0169])\\\\d{3,7}\",,,,\"90012345\",,,[6,7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RS\",381,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{5,10})\",\n\"$1 $2\",[\"[1-36]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"7[06]\\\\d{4,10}\",,,,\"700123456\"],,,[,,,,,,,,,[-1]]],RU:[,[,,\"[347-9]\\\\d{9}\",,,,,,,[10],[7]],[,,\"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\\\d{7}\",,,,\"3011234567\",,,,[7]],[,,\"9\\\\d{9}\",,,,\"9123456789\"],[,,\"80[04]\\\\d{7}\",,,,\"8001234567\"],[,,\"80[39]\\\\d{7}\",,,,\"8091234567\"],[,,,,,,,,,[-1]],[,,\"808\\\\d{7}\",,,,\"8081234567\"],[,\n,,,,,,,,[-1]],\"RU\",7,\"810\",\"8\",,,\"8\",,\"8~10\",,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[3489]\"],\"8 ($1)\",,1]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[3489]\"],\"8 ($1)\",,1]],[,,,,,,,,,[-1]],1,\"3[04-689]|[489]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RW:[,[,,\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",,,,,,,[8,9]],[,\n,\"(?:06|2[258]\\\\d)\\\\d{6}\",,,,\"250123456\"],[,,\"7[238]\\\\d{7}\",,,,\"720123456\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"900\\\\d{6}\",,,,\"900123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RW\",250,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SA:[,[,,\"(?:(?:[15]|8\\\\d)\\\\d|92)\\\\d{7}\",\n,,,,,,[9,10],[7]],[,,\"1(?:1\\\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\\\d{6}\",,,,\"112345678\",,,[9],[7]],[,,\"5(?:[013-689]\\\\d|7[0-36-8])\\\\d{6}\",,,,\"512345678\",,,[9]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"925\\\\d{6}\",,,,\"925012345\",,,[9]],[,,\"920\\\\d{6}\",,,,\"920012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SA\",966,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\"$1 $2 $3\",[\"81\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"811\\\\d{7}\",,,,\"8110123456\",,,[10]],,,[,,,,,,,,,[-1]]],SB:[,[,,\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",,,,,,,[5,7]],[,,\"(?:1[4-79]|[23]\\\\d|4[0-2]|5[03]|6[0-37])\\\\d{3}\",,,,\"40123\",,,[5]],[,,\"(?:48|(?:(?:7[1-9]|8[4-9])\\\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\\\d)\\\\d{3}\",,,,\"7421234\"],[,,\"1[38]\\\\d{3}\",,,,\"18123\",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,\n,\"5[12]\\\\d{3}\",,,,\"51123\",,,[5]],\"SB\",677,\"0[01]\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:1[2-9]|2[013-9]|3[0-2]|[46]|5[0-46-9]|7[0-689]|8[0-79]|9[0-8])\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SC:[,[,,\"(?:(?:(?:[24]\\\\d|64)\\\\d|971)\\\\d|8000)\\\\d{3}\",,,,,,,[7]],[,,\"4[2-46]\\\\d{5}\",,,,\"4217123\"],[,,\"2[5-8]\\\\d{5}\",,,,\"2510123\"],[,,\"8000\\\\d{3}\",,,,\"8000000\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:64\\\\d|971)\\\\d{4}\",,,,\"6412345\"],\"SC\",248,\"0(?:[02]|10?)\",\n,,,,,\"00\",,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SD:[,[,,\"[19]\\\\d{8}\",,,,,,,[9]],[,,\"1(?:5[3-7]|8[35-7])\\\\d{6}\",,,,\"153123456\"],[,,\"(?:1[0-2]|9[0-3569])\\\\d{7}\",,,,\"911231234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SD\",249,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SE:[,[,,\n\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",,,,,,,[6,7,8,9,10,12]],[,,\"1(?:0[1-8]\\\\d{6}|(?:[13689]\\\\d|2[0-35]|4[0-4]|5[0-25-9]|7[13-6])\\\\d{5,6})|(?:2(?:[136]\\\\d|2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|[1356]\\\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\\\d|6[03-5]|7[013]|8[0-79]|9[01]))\\\\d{5,6}|4(?:[0246]\\\\d{5,7}|(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\\\d{5,6})|6(?:[03]\\\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\\\d{5,6})|8\\\\d{6,8}|9(?:0[1-9]\\\\d{4,6}|(?:1[0-68]|2\\\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8])\\\\d{5,6})|(?:[12][136]|3[356])\\\\d{5}\",\n,,,\"8123456\",,,[7,8,9]],[,,\"7[02369]\\\\d{7}\",,,,\"701234567\",,,[9]],[,,\"20\\\\d{4,7}\",,,,\"20123456\",,,[6,7,8,9]],[,,\"649\\\\d{6}|9(?:00|39|44)[1-8]\\\\d{3,6}\",,,,\"9001234567\",,,[7,8,9,10]],[,,\"77[0-7]\\\\d{6}\",,,,\"771234567\",,,[9]],[,,\"75[1-8]\\\\d{6}\",,,,\"751234567\",,,[9]],[,,,,,,,,,[-1]],\"SE\",46,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44)\"],\"0$1\"],\n[,\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:0|39|44)\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"7\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\"]],[[,\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1 $2 $3\",[\"20\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"9(?:00|39|44)\"]],[,\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"8\"]],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1 $2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"]],[,\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"]],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1 $2 $3\",[\"9(?:0|39|44)\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"]],\n[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]\"]]],[,,\"74[02-9]\\\\d{6}\",,,,\"740123456\",,,[9]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"(?:25[245]|67[3-68])\\\\d{9}\",,,,\"254123456789\",,,[12]]],SG:[,[,,\"(?:1\\\\d{3}|[369]|7000|8(?:\\\\d{2})?)\\\\d{7}\",,,,,,,[8,10,11]],[,,\"6[1-9]\\\\d{6}\",,,,\"61234567\",,,[8]],[,,\"(?:8[1-8]|9[0-8])\\\\d{6}\",,,,\"81234567\",,,[8]],[,,\"(?:18|8)00\\\\d{7}\",\n,,,\"18001234567\",,,[10,11]],[,,\"1900\\\\d{7}\",,,,\"19001234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3[12]\\\\d{6}\",,,,\"31234567\",,,[8]],\"SG\",65,\"0[0-3]\\\\d\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8[1-8]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1[89]\"]],[,\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"7000\\\\d{7}\",,,,\"70001234567\",,,[11]],,,[,,,,,,,,,[-1]]],SH:[,[,,\"(?:[256]\\\\d|8)\\\\d{3}\",,,,,,,[4,5]],[,\n,\"2(?:[0-57-9]\\\\d|6[4-9])\\\\d\\\\d\",,,,\"22158\"],[,,\"[56]\\\\d{4}\",,,,\"51234\",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"262\\\\d\\\\d\",,,,\"26212\",,,[5]],\"SH\",290,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],1,\"[256]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SI:[,[,,\"[1-8]\\\\d{7}|90\\\\d{4,6}|8\\\\d{4,6}\",,,,,,,[5,6,7,8]],[,,\"(?:[1-357][2-8]|4[24-8])\\\\d{6}\",,,,\"12345678\",,,[8],[7]],[,,\"(?:(?:[37][01]|4[0139]|51)\\\\d\\\\d|6(?:[48]\\\\d\\\\d|5(?:1\\\\d|55|[67]0)|9(?:10|[69]\\\\d)))\\\\d{4}\",,,,\"31234567\",\n,,[8]],[,,\"80\\\\d{4,6}\",,,,\"80123456\",,,[6,7,8]],[,,\"89[1-3]\\\\d{2,5}|90\\\\d{4,6}\",,,,\"90123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:59\\\\d\\\\d|8(?:1(?:[67]\\\\d|8[01389])|2(?:0\\\\d|2[0378]|8[0-2489])|3[389]\\\\d))\\\\d{4}\",,,,\"59012345\",,,[8]],\"SI\",386,\"00|10(?:22|66|88|99)\",\"0\",,,\"0\",,\"00\",,[[,\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[12]|[357][2-8]|4[24-8]\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3467]|51\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{5})\",\n\"$1 $2\",[\"[58]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SJ:[,[,,\"(?:0|(?:[4589]\\\\d|79)\\\\d\\\\d)\\\\d{4}\",,,,,,,[5,8]],[,,\"79\\\\d{6}\",,,,\"79123456\",,,[8]],[,,\"(?:4[015-8]|5[89]|9\\\\d)\\\\d{6}\",,,,\"41234567\",,,[8]],[,,\"80[01]\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"82[09]\\\\d{5}\",,,,\"82012345\",,,[8]],[,,\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",,,,\"81021234\",,,[8]],[,,\"880\\\\d{5}\",,,,\"88012345\",,,[8]],[,,\"85[0-5]\\\\d{5}\",,,,\"85012345\",,,[8]],\"SJ\",47,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"79\",[,,,\n,,,,,,[-1]],[,,\"(?:0\\\\d|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\",,,,\"01234\"],,,[,,\"81[23]\\\\d{5}\",,,,\"81212345\",,,[8]]],SK:[,[,,\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",,,,,,,[6,7,9]],[,,\"(?:2(?:16|[2-9]\\\\d{3})|[3-5][1-8]\\\\d{3})\\\\d{4}|(?:2|[3-5][1-8])1[67]\\\\d{3}|[3-5][1-8]16\\\\d\\\\d\",,,,\"221234567\"],[,,\"9(?:0(?:[1-8]\\\\d|9[1-9])|(?:1[0-24-9]|[45]\\\\d)\\\\d)\\\\d{5}\",,,,\"912123456\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"9(?:00|[78]\\\\d)\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"8[5-9]\\\\d{7}\",,,,\"850123456\",,,\n[9]],[,,,,,,,,,[-1]],[,,\"6(?:02|5[0-4]|9[0-6])\\\\d{6}\",,,,\"690123456\",,,[9]],\"SK\",421,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"909\",\"9090\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"]],[[,\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\n\"$1 $2 $3\",[\"21\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"]],[,,\"9090\\\\d{3}\",,,,\"9090123\",,,[7]],,,[,,\"(?:(?:602|8(?:00|[5-9]\\\\d))\\\\d{3}|9(?:0(?:0\\\\d{3}|90)|[78]\\\\d{4}))\\\\d{3}\",,,,,,,[7,9]],[,,\"96\\\\d{7}\",,,,\"961234567\",,,[9]],,,[,,,,,,,,,[-1]]],SL:[,[,,\"(?:[2-578]\\\\d|66|99)\\\\d{6}\",\n,,,,,,[8],[6]],[,,\"[235]2[2-4][2-9]\\\\d{4}\",,,,\"22221234\",,,,[6]],[,,\"(?:2[15]|3[013-5]|4[04]|5[05]|66|7[5-9]|8[08]|99)\\\\d{6}\",,,,\"25123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SL\",232,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[2-9]\"],\"(0$1)\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SM:[,[,,\"(?:0549|[5-7]\\\\d)\\\\d{6}\",,,,,,,[8,10],[6]],[,,\"0549(?:8[0157-9]|9\\\\d)\\\\d{4}\",,,,\"0549886377\",,,[10],[6]],[,,\"6[16]\\\\d{6}\",,,\n,\"66661212\",,,[8]],[,,,,,,,,,[-1]],[,,\"7[178]\\\\d{6}\",,,,\"71123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"5[158]\\\\d{6}\",,,,\"58001110\",,,[8]],\"SM\",378,\"00\",,,,\"([89]\\\\d{5})$\",\"0549$1\",,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[,\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SN:[,[,,\"(?:[378]\\\\d{4}|93330)\\\\d{4}\",,,,,,,[9]],[,,\"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\\\d{5}\",,,,\"301012345\"],[,,\"7(?:[06-8]\\\\d|21|90)\\\\d{6}\",\n,,,\"701234567\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,\"88[4689]\\\\d{6}\",,,,\"884123456\"],[,,\"81[02468]\\\\d{6}\",,,,\"810123456\"],[,,,,,,,,,[-1]],[,,\"(?:3(?:392|9[01]\\\\d)\\\\d|93330)\\\\d{4}\",,,,\"933301234\"],\"SN\",221,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SO:[,[,,\"[346-9]\\\\d{8}|[12679]\\\\d{7}|(?:[1-4]\\\\d|59)\\\\d{5}|[1348]\\\\d{5}\",,,,,,,[6,7,8,9]],[,,\"(?:1\\\\d|2[0-79]|3[0-46-8]|4[0-7]|59)\\\\d{5}|(?:[134]\\\\d|8[125])\\\\d{4}\",\n,,,\"4012345\",,,[6,7]],[,,\"(?:(?:15|(?:3[59]|4[89]|6[1-9]|79|8[08])\\\\d|9(?:0[67]|[2-9]))\\\\d|2(?:4\\\\d|8))\\\\d{5}|(?:6\\\\d|7[1-9])\\\\d{6}\",,,,\"71123456\",,,[7,8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SO\",252,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[,\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[,\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"24|[67]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79[0-8]|90\"]],\n[,\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[12679]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SR:[,[,,\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",,,,,,,[6,7]],[,,\"(?:2[1-3]|3[0-7]|(?:4|68)\\\\d|5[2-58])\\\\d{4}\",,,,\"211234\"],[,,\"(?:7[124-7]|8[125-9])\\\\d{5}\",,,,\"7412345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"56\\\\d{4}\",,,,\"561234\",,,[6]],\"SR\",597,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|5[2-58]\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"5\"]],[,\"(\\\\d{3})(\\\\d{4})\",\n\"$1-$2\",[\"[6-8]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SS:[,[,,\"[19]\\\\d{8}\",,,,,,,[9]],[,,\"18\\\\d{7}\",,,,\"181234567\"],[,,\"(?:12|9[1257])\\\\d{7}\",,,,\"977123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SS\",211,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ST:[,[,,\"(?:22|9\\\\d)\\\\d{5}\",,,,,,,[7]],[,,\"22\\\\d{5}\",,,,\"2221234\"],[,,\"9(?:0(?:0[5-9]|[1-9]\\\\d)|[89]\\\\d\\\\d)\\\\d{3}\",\n,,,\"9812345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ST\",239,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SV:[,[,,\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",,,,,,,[7,8,11]],[,,\"2[1-6]\\\\d{6}\",,,,\"21234567\",,,[8]],[,,\"[67]\\\\d{7}\",,,,\"70123456\",,,[8]],[,,\"800\\\\d{4}(?:\\\\d{4})?\",,,,\"8001234\",,,[7,11]],[,,\"900\\\\d{4}(?:\\\\d{4})?\",,,,\"9001234\",,,[7,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,\n,,,[-1]],\"SV\",503,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SX:[,[,,\"(?:(?:[58]\\\\d\\\\d|900)\\\\d|7215)\\\\d{6}\",,,,,,,[10],[7]],[,,\"7215(?:4[2-8]|8[239]|9[056])\\\\d{4}\",,,,\"7215425678\",,,,[7]],[,,\"7215(?:1[02]|2\\\\d|5[034679]|8[014-8])\\\\d{4}\",,,,\"7215205678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",\n,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"SX\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"721\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SY:[,[,,\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",,,,,,,[8,9],[6,7]],[,,\"(?:1[14]\\\\d|2(?:1\\\\d?|[235])|3(?:[13]\\\\d|4)|4[13]|5[1-3])\\\\d{6}|1[1-356]\\\\d{6}\",,,,\"112345678\",,,,[6,7]],[,,\"9(?:22|[3-589]\\\\d|6[024-9])\\\\d{6}\",,,,\"944567890\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],\"SY\",963,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SZ:[,[,,\"(?:0800|(?:[237]\\\\d|900)\\\\d\\\\d)\\\\d{4}\",,,,,,,[8,9]],[,,\"[23][2-5]\\\\d{6}\",,,,\"22171234\",,,[8]],[,,\"7[6-9]\\\\d{6}\",,,,\"76123456\",,,[8]],[,,\"0800\\\\d{4}\",,,,\"08001234\",,,[8]],[,,\"900\\\\d{6}\",,,,\"900012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"70\\\\d{6}\",,,,\"70012345\",\n,,[8]],\"SZ\",268,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[,\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]],,[,,,,,,,,,[-1]],,,[,,\"0800\\\\d{4}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TA:[,[,,\"8\\\\d{3}\",,,,,,,[4]],[,,\"8\\\\d{3}\",,,,\"8999\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TA\",290,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"8\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TC:[,[,,\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"649(?:712|9(?:4\\\\d|50))\\\\d{4}\",\n,,,\"6497121234\",,,,[7]],[,,\"649(?:2(?:3[129]|4[1-7])|3(?:3[1-389]|4[1-8])|4[34][1-3])\\\\d{4}\",,,,\"6492311234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"64971[01]\\\\d{4}\",,,,\"6497101234\",,,,[7]],\"TC\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"649\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TD:[,[,,\"(?:22|[69]\\\\d|77)\\\\d{6}\",,,,,,,[8]],[,,\"22(?:[37-9]0|5[0-5]|6[89])\\\\d{4}\",\n,,,\"22501234\"],[,,\"(?:6[023568]|77|9\\\\d)\\\\d{6}\",,,,\"63012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TD\",235,\"00|16\",,,,,,\"00\",,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TG:[,[,,\"[279]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\\\d{5}\",,,,\"22212345\"],[,,\"(?:7[09]|9[0-36-9])\\\\d{6}\",,,,\"90112345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,\n,,,,[-1]],[,,,,,,,,,[-1]],\"TG\",228,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TH:[,[,,\"(?:1\\\\d\\\\d?|[2-57]|[689]\\\\d)\\\\d{7}\",,,,,,,[8,9,10]],[,,\"(?:2\\\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\\\d{6}\",,,,\"21234567\",,,[8]],[,,\"(?:14|6[1-6]|[89]\\\\d)\\\\d{7}\",,,,\"812345678\",,,[9]],[,,\"1800\\\\d{6}\",,,,\"1800123456\",,,[10]],[,,\"1900\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"6[08]\\\\d{7}\",,,,\"601234567\",\n,,[9]],\"TH\",66,\"00[1-9]\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"14|[3-9]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TJ:[,[,,\"(?:[3-59]\\\\d|77|88)\\\\d{7}\",,,,,,,[9],[3,5,6,7]],[,,\"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\\\d{6}\",,,,\"372123456\",,,,[3,5,6,7]],[,,\"(?:41[18]|(?:5[05]|77|88|9[0-35-9])\\\\d)\\\\d{6}\",,,,\"917123456\"],[,,,,,,,\n,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TJ\",992,\"810\",\"8\",,,\"8\",,\"8~10\",,[[,\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[1245]|3[12])\",\"3(?:[1245]|3(?:1[0-689]|2))\"],,,1],[,\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"33\"],,,1],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[148]|[578]|9(?:[0235-9]|1[0-69])\"],,,1],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[349]\"],,,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TK:[,[,,\"[2-47]\\\\d{3,6}\",,,,,,,[4,5,6,7]],\n[,,\"(?:2[2-4]|[34]\\\\d)\\\\d{2,5}\",,,,\"3101\"],[,,\"7[2-4]\\\\d{2,5}\",,,,\"7290\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TK\",690,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TL:[,[,,\"(?:[2-4]\\\\d|7\\\\d\\\\d?|[89]0)\\\\d{5}\",,,,,,,[7,8]],[,,\"(?:2[1-5]|3[1-9]|4[1-4])\\\\d{5}\",,,,\"2112345\",,,[7]],[,,\"7[3-8]\\\\d{6}\",,,,\"77212345\",,,[8]],[,,\"80\\\\d{5}\",,,,\"8012345\",,,[7]],[,,\"90\\\\d{5}\",,,,\"9012345\",,,[7]],[,,,,,,,,,[-1]],[,,\"70\\\\d{5}\",,,,\"7012345\",\n,,[7]],[,,,,,,,,,[-1]],\"TL\",670,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TM:[,[,,\"[1-6]\\\\d{7}\",,,,,,,[8]],[,,\"(?:1(?:2\\\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\\\d{5}\",,,,\"12345678\"],[,,\"6[1-9]\\\\d{6}\",,,,\"66123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TM\",993,\"810\",\"8\",,,\"8\",\n,\"8~10\",,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"6\"],\"8 $1\"],[,\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TN:[,[,,\"[2-57-9]\\\\d{7}\",,,,,,,[8]],[,,\"(?:(?:3[0-2]|7\\\\d)\\\\d{3}|81200)\\\\d{3}\",,,,\"30010123\"],[,,\"(?:(?:[259]\\\\d|4[0-6])\\\\d\\\\d|3(?:001|1(?:[1-35]\\\\d|40)|240|(?:6[0-4]|91)\\\\d))\\\\d{4}\",,,,\"20123456\"],[,,\"8010\\\\d{4}\",,,,\"80101234\"],[,,\"88\\\\d{6}\",\n,,,\"88123456\"],[,,\"8[12]10\\\\d{4}\",,,,\"81101234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TN\",216,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TO:[,[,,\"(?:(?:080|[56])0|[2-4]\\\\d|[78]\\\\d(?:\\\\d{2})?)\\\\d{3}\",,,,,,,[5,7]],[,,\"(?:2\\\\d|3[1-8]|4[1-4]|[56]0|7[0149]|8[05])\\\\d{3}\",,,,\"20123\",,,[5]],[,,\"(?:7[578]|8[46-9])\\\\d{5}\",,,,\"7715123\",,,[7]],[,,\"0800\\\\d{3}\",,,,\"0800222\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,\n,,[-1]],[,,,,,,,,,[-1]],\"TO\",676,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-6]|7[014]|8[05]\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"7[578]|8\"]],[,\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TR:[,[,,\"(?:[2-58]\\\\d\\\\d|900)\\\\d{7}|4\\\\d{6}\",,,,,,,[7,10]],[,,\"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\\\d{7}\",,,,\"2123456789\",,,[10]],[,,\"5(?:(?:0[15-7]|1[06]|24|[34]\\\\d|5[1-59]|9[46])\\\\d\\\\d|6161)\\\\d{5}\",\n,,,\"5012345678\",,,[10]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"(?:8[89]8|900)\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,\"592(?:21[12]|461)\\\\d{4}\",,,,\"5922121234\",,,[10]],[,,,,,,,,,[-1]],\"TR\",90,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d)(\\\\d{3})\",\"$1 $2 $3\",[\"444\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-4]\"],\"(0$1)\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|[89]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\",,1]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"[2-4]\"],\"(0$1)\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|[89]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\",,1]],[,,\"512\\\\d{7}\",,,,\"5123456789\",,,[10]],,,[,,\"444\\\\d{4}\",,,,,,,[7]],[,,\"(?:444|850\\\\d{3})\\\\d{4}\",,,,\"4441444\"],,,[,,,,,,,,,[-1]]],TT:[,[,,\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"868(?:2(?:01|1[89]|[23]\\\\d)|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\\\d|7[0-79])|82[124])\\\\d{4}\",,,,\"8682211234\",,,,[7]],[,,\"868(?:2(?:6[6-9]|[7-9]\\\\d)|[37](?:0[1-9]|1[02-9]|[2-9]\\\\d)|4[6-9]\\\\d|6(?:20|78|8\\\\d))\\\\d{4}\",\n,,,\"8682911234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"TT\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"868\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"868619\\\\d{4}\",,,,\"8686191234\",,,,[7]]],TV:[,[,,\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",,,,,,,[5,6,7]],[,,\"2[02-9]\\\\d{3}\",,,,\"20123\",,,[5]],[,,\"(?:7[01]\\\\d|90)\\\\d{4}\",,,,\"901234\",,,[6,7]],[,,,,,,,,,[-1]],[,,,,,,,,,\n[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TV\",688,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TW:[,[,,\"(?:[24589]|7\\\\d)\\\\d{8}|[2-8]\\\\d{7}|2\\\\d{6}\",,,,,,,[7,8,9,10]],[,,\"(?:(?:2[2-8]\\\\d|3[2-9]|4(?:[239]\\\\d|[78])|5[2-8]|6[235-79]|7[1-9])\\\\d\\\\d|8(?:2(?:3\\\\d|66)|[7-9]\\\\d\\\\d))\\\\d{4}|24\\\\d{6}\",,,,\"221234567\",,,[8,9]],[,,\"9[0-8]\\\\d{7}\",,,,\"912345678\",,,[9]],[,,\"80[0-79]\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"20(?:[013-9]\\\\d\\\\d|2)\\\\d{4}\",,,,\"203123456\",,,[7,9]],\n[,,,,,,,,,[-1]],[,,\"99\\\\d{7}\",,,,\"990123456\",,,[9]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],\"TW\",886,\"0(?:0[25-79]|19)\",\"0\",\"#\",,\"0\",,,,[[,\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25][2-8]|[346]|7[1-9]|8[27-9]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[258]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"50[0-46-9]\\\\d{6}\",,,,\"500123456\",\n,,[9]],,,[,,,,,,,,,[-1]]],TZ:[,[,,\"(?:[26-8]\\\\d|41|90)\\\\d{7}\",,,,,,,[9]],[,,\"2[2-8]\\\\d{7}\",,,,\"222345678\"],[,,\"(?:6[2-9]|7[13-9])\\\\d{7}\",,,,\"621234567\"],[,,\"80[08]\\\\d{6}\",,,,\"800123456\"],[,,\"90\\\\d{7}\",,,,\"900123456\"],[,,\"8(?:40|6[01])\\\\d{6}\",,,,\"840123456\"],[,,,,,,,,,[-1]],[,,\"41\\\\d{7}\",,,,\"412345678\"],\"TZ\",255,\"00[056]\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\n,[,,,,,,,,,[-1]],,,[,,\"(?:8(?:[04]0|6[01])|90\\\\d)\\\\d{6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UA:[,[,,\"[3-9]\\\\d{8}\",,,,,,,[9],[5,6,7]],[,,\"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\\\d{7}\",,,,\"311234567\",,,,[5,6,7]],[,,\"(?:39|50|6[36-8]|7[1-3]|9[1-9])\\\\d{7}\",,,,\"391234567\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,\"900[2-49]\\\\d{5}\",,,,\"900212345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"89[1-579]\\\\d{6}\",,,,\"891234567\"],\"UA\",380,\"00\",\"0\",,,\"0\",,\"0~0\",,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:3[1-8]|4[136-8])2|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|[89]0\",\n\"3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|[89]0\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UG:[,[,,\"(?:(?:[29]0|[347]\\\\d)\\\\d|800)\\\\d{6}\",\n,,,,,,[9],[5,6,7]],[,,\"(?:20(?:(?:(?:[0147]\\\\d|5[0-4]|8[0-2])\\\\d|2(?:40|[5-9]\\\\d)|3(?:0[0-4]|[2367]\\\\d))\\\\d|6(?:00[0-2]|30[0-4]|[5-9]\\\\d\\\\d))|[34]\\\\d{5})\\\\d{3}\",,,,\"312345678\",,,,[5,6,7]],[,,\"7(?:(?:[0157-9]\\\\d|30|4[0-4])\\\\d|2(?:[03]\\\\d|60))\\\\d{5}\",,,,\"712345678\"],[,,\"800[1-3]\\\\d{5}\",,,,\"800123456\"],[,,\"90[1-3]\\\\d{6}\",,,,\"901123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"UG\",256,\"00[057]\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"3|4(?:[0-5]|6[0-36-9])\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\n\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[247-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],US:[,[,,\"[2-9]\\\\d{9}\",,,,,,,[10],[7]],[,,\"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-2])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\",\n,,,\"2015550123\",,,,[7]],[,,\"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-2])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\",\n,,,\"2015550123\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"US\",1,\"011\",\"1\",,,\"1\",,,1,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],,,1]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-9]\"]]],[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,\"710[2-9]\\\\d{6}\",,,,\"7102123456\"],,,[,,,,,,,,,[-1]]],UY:[,[,,\"(?:[249]\\\\d\\\\d|80)\\\\d{5}|9\\\\d{6}\",\n,,,,,,[7,8]],[,,\"(?:2\\\\d|4[2-7])\\\\d{6}\",,,,\"21231234\",,,[8],[7]],[,,\"9[1-9]\\\\d{6}\",,,,\"94231234\",,,[8]],[,,\"80[05]\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"90[0-8]\\\\d{4}\",,,,\"9001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"UY\",598,\"0(?:0|1[3-9]\\\\d)\",\"0\",\" int. \",,\"0\",,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8|90\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[24]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UZ:[,[,,\"[679]\\\\d{8}\",\n,,,,,,[9]],[,,\"(?:6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\\\d\\\\d|7(?:[23]\\\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|1[12]\\\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\\\d{5}\",,,,\"669050123\"],[,,\"(?:6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\\\d|61[23]|7(?:[01][017]|4\\\\d|55|9[5-9]))|2(?:(?:11|7\\\\d)\\\\d|2(?:[12]1|9[01379])|5(?:[126]\\\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\\\d)\\\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\\\d|4(?:56|83)|7(?:[07]\\\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\\\d|[39][07])|9(?:0\\\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\\\d|7[0-4])|(?:5[67]|7\\\\d)\\\\d|6(?:2[0-26]|8\\\\d)))|7(?:0\\\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\\\d|7(?:0\\\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\\\d|5(?:0[0-4]|5[579]|9\\\\d)|7(?:[0-3579]\\\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\\\d|9[5-9])|7(?:0\\\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\\\d))|5(?:112|2(?:0\\\\d|2[29]|[49]4)|3[1568]\\\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\\\d|41[179]|5(?:[349]\\\\d|5[0-2])|7(?:0[017]|[13]\\\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\\\d|60|7[2579]|87|9[07])))|9[0-57-9]\\\\d{3})\\\\d{4}\",\n,,,\"912345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"UZ\",998,\"810\",\"8\",,,\"8\",,\"8~10\",,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[679]\"],\"8 $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VA:[,[,,\"0\\\\d{6}(?:\\\\d{4})?|3[0-8]\\\\d{9}|(?:[0138]\\\\d?|55)\\\\d{8}|[08]\\\\d{5}(?:\\\\d{2})?\",,,,,,,[6,7,8,9,10,11]],[,,\"06698\\\\d{1,6}\",,,,\"0669812345\"],[,,\"33\\\\d{9}|3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",,,,\"3123456789\",,,[9,10,11]],[,,\"80(?:0\\\\d{3}|3)\\\\d{3}\",\n,,,\"800123456\",,,[6,9]],[,,\"(?:(?:0878|1(?:44|6[346])\\\\d)\\\\d\\\\d|89(?:2|(?:4[5-9]|(?:5[5-9]|9)\\\\d\\\\d)\\\\d))\\\\d{3}|89[45][0-4]\\\\d\\\\d\",,,,\"899123456\",,,[6,8,9,10]],[,,\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",,,,\"848123456\",,,[6,9]],[,,\"1(?:78\\\\d|99)\\\\d{6}\",,,,\"1781234567\",,,[9,10]],[,,\"55\\\\d{8}\",,,,\"5512345678\",,,[10]],\"VA\",39,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"06698\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VC:[,[,,\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"784(?:266|3(?:6[6-9]|7\\\\d|8[0-24-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\\\d{4}\",\n,,,\"7842661234\",,,,[7]],[,,\"784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4]))\\\\d{4}\",,,,\"7844301234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"VC\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"784\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VE:[,[,,\"(?:(?:[24]\\\\d|50)\\\\d|[89]00)\\\\d{7}\",,,,,,,[10],[7]],[,,\"(?:2(?:12|3[457-9]|[467]\\\\d|[58][1-9]|9[1-6])|50[01])\\\\d{7}\",\n,,,\"2121234567\",,,,[7]],[,,\"4(?:1[24-8]|2[46])\\\\d{7}\",,,,\"4121234567\"],[,,\"800\\\\d{7}\",,,,\"8001234567\"],[,,\"900\\\\d{7}\",,,,\"9001234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"VE\",58,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24589]\"],\"0$1\",\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VG:[,[,,\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"284(?:(?:229|774|8(?:52|6[459]))\\\\d|4(?:22\\\\d|9(?:[45]\\\\d|6[0-5])))\\\\d{3}\",,,,\"2842291234\",,,,[7]],[,,\"284(?:(?:3(?:0[0-3]|4[0-7]|68|9[34])|54[0-57])\\\\d|4(?:(?:4[0-6]|68)\\\\d|9(?:6[6-9]|9\\\\d)))\\\\d{3}\",\n,,,\"2843001234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"VG\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"284\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VI:[,[,,\"(?:(?:34|90)0|[58]\\\\d\\\\d)\\\\d{7}\",,,,,,,[10],[7]],[,,\"340(?:2(?:01|2[06-8]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\\\d)|884|998)\\\\d{4}\",\n,,,\"3406421234\",,,,[7]],[,,\"340(?:2(?:01|2[06-8]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\\\d)|884|998)\\\\d{4}\",,,,\"3406421234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"VI\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,,,,[-1]],,\"340\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VN:[,[,,\"[12]\\\\d{9}|[135-9]\\\\d{8}|(?:[16]\\\\d?|[78])\\\\d{6}\",\n,,,,,,[7,8,9,10]],[,,\"2(?:0[3-9]|1[0-689]|2[0-25-9]|3[2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|8[2-7]|9[0-4679])\\\\d{7}\",,,,\"2101234567\",,,[10]],[,,\"(?:(?:3\\\\d|7[06-9])\\\\d|5(?:2[238]|[689]\\\\d)|8(?:[1-58]\\\\d|6[5-9]|9[689])|9(?:[0-8]\\\\d|9[013-9]))\\\\d{6}\",,,,\"912345678\",,,[9]],[,,\"1800\\\\d{4,6}\",,,,\"1800123456\",,,[8,9,10]],[,,\"1900\\\\d{4,6}\",,,,\"1900123456\",,,[8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"672\\\\d{6}\",,,,\"672012345\",,,[9]],\"VN\",84,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",,1],\n[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[17]99\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"69\"],\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],,,1],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[69]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"0$1\",,1],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",,1]],[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],,,1],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"[69]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"0$1\",,1],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",,1]],[,,,,,,,,,[-1]],,,[,,\"(?:[17]99|69\\\\d\\\\d?)\\\\d{4}\",,,,,,,[7,8]],[,,\"(?:[17]99|69\\\\d\\\\d?|80\\\\d)\\\\d{4}\",,,,\"1992000\",,,[7,8]],,,[,,,,,,,,,[-1]]],VU:[,[,,\"(?:(?:[23]|(?:[57]\\\\d|90)\\\\d)\\\\d|[48]8)\\\\d{3}\",,,,,,,[5,7]],[,,\"(?:(?:2[02-9]|88)\\\\d|3(?:[4-7]\\\\d|8[0-8])|48[4-9])\\\\d\\\\d\",,,,\"22123\",,,[5]],\n[,,\"(?:5(?:[0-689]\\\\d|7[2-5])|7[013-7]\\\\d)\\\\d{4}\",,,,\"5912345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"90[1-9]\\\\d{4}\",,,,\"9010123\",,,[7]],\"VU\",678,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[579]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:3[03]|900\\\\d)\\\\d{3}\",,,,\"30123\"],,,[,,,,,,,,,[-1]]],WF:[,[,,\"(?:[45]0|68|72|8\\\\d)\\\\d{4}\",,,,,,,[6]],[,,\"(?:50|68|72)\\\\d{4}\",,,,\"501234\"],[,,\"(?:50|68|72|8[23])\\\\d{4}\",,,,\"501234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"WF\",681,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[4-8]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"[48]0\\\\d{4}\",,,,\"401234\"]],WS:[,[,,\"(?:[2-6]|8\\\\d(?:\\\\d{4})?)\\\\d{4}|[78]\\\\d{6}\",,,,,,,[5,6,7,10]],[,,\"(?:[2-5]\\\\d|6[1-9])\\\\d{3}\",,,,\"22123\",,,[5]],[,,\"(?:7[25-7]|8(?:[3-7]|9\\\\d{3}))\\\\d{5}\",,,,\"7212345\",,,[7,10]],[,,\"800\\\\d{3}\",,,,\"800123\",,,[6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"WS\",685,\"0\",,,,,,,,[[,\"(\\\\d{5})\",\n\"$1\",[\"[2-6]\"]],[,\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"8\"]],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],XK:[,[,,\"(?:[23]\\\\d{2,3}|4\\\\d\\\\d|[89]00)\\\\d{5}\",,,,,,,[8,9]],[,,\"(?:2[89]|39)0\\\\d{6}|[23][89]\\\\d{6}\",,,,\"28012345\"],[,,\"4[3-79]\\\\d{6}\",,,,\"43201234\",,,[8]],[,,\"800\\\\d{5}\",,,,\"80001234\",,,[8]],[,,\"900\\\\d{5}\",,,,\"90001234\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"XK\",383,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",\n[\"[2-4]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[23]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YE:[,[,,\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",,,,,,,[7,8,9],[6]],[,,\"17\\\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\\\d{5}\",,,,\"1234567\",,,[7,8],[6]],[,,\"7[0137]\\\\d{7}\",,,,\"712345678\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"YE\",967,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\"$1 $2 $3\",[\"[1-6]|7[24-68]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YT:[,[,,\"(?:(?:26|63)9|80\\\\d)\\\\d{6}\",,,,,,,[9]],[,,\"269(?:0[67]|5[01]|6\\\\d|[78]0)\\\\d{4}\",,,,\"269601234\"],[,,\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|[45]0|9[04-79])\\\\d{4}\",,,,\"639012345\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"YT\",262,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,\"269|63\",[,,,,,,\n,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZA:[,[,,\"[1-9]\\\\d{8}|8\\\\d{4,7}\",,,,,,,[5,6,7,8,9]],[,,\"(?:1[0-8]|2[1-378]|3[1-69]|4\\\\d|5[1346-8])\\\\d{7}\",,,,\"101234567\",,,[9]],[,,\"(?:6\\\\d|7[0-46-9]|8[1-5])\\\\d{7}|8[1-4]\\\\d{3,6}\",,,,\"711234567\"],[,,\"80\\\\d{7}\",,,,\"801234567\",,,[9]],[,,\"(?:86[2-9]|9[0-2]\\\\d)\\\\d{6}\",,,,\"862345678\",,,[9]],[,,\"860\\\\d{6}\",,,,\"860123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"87\\\\d{7}\",,,,\"871234567\",,,[9]],\"ZA\",27,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"861\\\\d{6}\",,,,\"861123456\",,,[9]],,,[,,,,,,,,,[-1]]],ZM:[,[,,\"(?:(?:21|76|9\\\\d)\\\\d|800)\\\\d{6}\",,,,,,,[9],[6]],[,,\"21[1-8]\\\\d{6}\",,,,\"211234567\",,,,[6]],[,,\"(?:76|9[5-8])\\\\d{7}\",,,,\"955123456\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ZM\",260,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})\",\n\"$1 $2\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZW:[,[,,\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",,,,,,,[5,6,7,8,9,10],[3,4]],[,,\"(?:1(?:(?:3\\\\d|9)\\\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\\\d\\\\d|[56](?:[14]\\\\d\\\\d|20)|7(?:[089]|2[03]|[35]\\\\d\\\\d))\\\\d|4(?:2\\\\d\\\\d|8))\\\\d|1(?:2|[39]\\\\d{4}))|3(?:(?:123|(?:29\\\\d|92)\\\\d)\\\\d\\\\d|7(?:[19]|[56]\\\\d))|(?:4\\\\d\\\\d|9[2-9])\\\\d\\\\d?|5(?:0|1[2-478]|26|[37]2|4(?:2\\\\d{3}|83)|5(?:25\\\\d\\\\d|[78])|[689]\\\\d)|6(?:(?:[16-8]21|28|52[013])\\\\d\\\\d|[39])|8(?:[1349]28|523)\\\\d\\\\d)\\\\d{3}|(?:(?:2(?:(?:(?:0|8[146])\\\\d|7[1-7])\\\\d|2(?:[278]\\\\d|92)|58(?:2\\\\d|3))|3(?:[26]|9\\\\d{3})|5(?:4\\\\d|5)\\\\d\\\\d)\\\\d|6(?:(?:(?:[0-246]|[78]\\\\d)\\\\d|37)\\\\d|5[2-8]))\\\\d\\\\d|(?:2(?:[569]\\\\d|8[2-57-9])|3(?:[013-59]\\\\d|8[37])|6[89]8)\\\\d{3}\",\n,,,\"1312345\",,,,[3,4]],[,,\"(?:7(?:1\\\\d|3[2-9]|7[1-9]|8[2-5])|8644)\\\\d{6}\",,,,\"712345678\",,,[9,10]],[,,\"80(?:[01]\\\\d|20|8[0-8])\\\\d{3}\",,,,\"8001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"86(?:1[12]|30|55|77|8[368])\\\\d{6}\",,,,\"8686123456\",,,[10]],\"ZW\",263,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8|[78])|3(?:[09]8|17|3[78]|[78])|5[15][78]|6(?:[29]8|37|[68][78]|75)\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\n\"$1 $2\",[\"80\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"2(?:[05-79]2|4)|(?:39|5[45]|6[15-8])2|8[13-59]\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"[16]|2(?:[0-256]|9[0-79])|3(?:[09][0-79]|1[0-689]|[24-6]|3[0-69])|5[0-35-9]\"],\n\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29|[35]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"[25]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],800:[,[,,\"\\\\d{8}\",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"\\\\d{8}\",,,,\"12345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",800,,,,,,,,1,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],808:[,[,,\"\\\\d{8}\",,,,,,,[8]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"\\\\d{8}\",,,,\"12345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",808,,,,,,,,1,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],870:[,[,,\"[35-7]\\\\d{8}\",,,,,,,[9]],[,,,,,,,,,[-1]],[,,\"(?:[356]\\\\d|7[6-8])\\\\d{7}\",,,,\"301234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",870,,,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],,[,,,,,,,,,[-1]],,,[,,,\n,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],878:[,[,,\"10\\\\d{10}\",,,,,,,[12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"10\\\\d{10}\",,,,\"101234567890\"],\"001\",878,,,,,,,,1,[[,\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],881:[,[,,\"[67]\\\\d{8}\",,,,,,,[9]],[,,,,,,,,,[-1]],[,,\"[67]\\\\d{8}\",,,,\"612345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,\n,,[-1]],\"001\",881,,,,,,,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[67]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],882:[,[,,\"[13]\\\\d{6}(?:\\\\d{2,5})?|1\\\\d{7}\",,,,,,,[7,8,9,10,11,12]],[,,,,,,,,,[-1]],[,,\"3(?:(?:(?:2|7\\\\d{3})\\\\d|37)\\\\d\\\\d|4(?:2|7\\\\d{3}))\\\\d{4}\",,,,\"3421234\",,,[7,9,10,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])|6\\\\d{1,6})|3(?:45|9\\\\d{3})\\\\d{3})\\\\d{4}\",\n,,,\"390123456789\"],\"001\",882,,,,,,,,,[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34[57]\"]],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[,\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[13]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"348[57]\\\\d{7}\",,,,\"34851234567\",,,[11]]],883:[,[,,\"51\\\\d{7}(?:\\\\d{3})?\",\n,,,,,,[9,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"51[013]0\\\\d{8}|5100\\\\d{5}\",,,,\"510012345\"],\"001\",883,,,,,,,,1,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"510\"]],[,\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],888:[,[,,\"\\\\d{11}\",,,,,,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,\n,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",888,,,,,,,,1,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"\\\\d{11}\",,,,\"12345678901\"],,,[,,,,,,,,,[-1]]],979:[,[,,\"\\\\d{9}\",,,,,,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"\\\\d{9}\",,,,\"123456789\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",979,,,,,,,,1,[[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]]};/*\n\n Copyright (C) 2010 The Libphonenumber Authors.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nfunction M(){this.a={}}M.c=void 0;M.a=function(){return M.c?M.c:M.c=new M};\nvar xa={0:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",\"\\uff10\":\"0\",\"\\uff11\":\"1\",\"\\uff12\":\"2\",\"\\uff13\":\"3\",\"\\uff14\":\"4\",\"\\uff15\":\"5\",\"\\uff16\":\"6\",\"\\uff17\":\"7\",\"\\uff18\":\"8\",\"\\uff19\":\"9\",\"\\u0660\":\"0\",\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u06f0\":\"0\",\"\\u06f1\":\"1\",\"\\u06f2\":\"2\",\"\\u06f3\":\"3\",\"\\u06f4\":\"4\",\"\\u06f5\":\"5\",\"\\u06f6\":\"6\",\"\\u06f7\":\"7\",\"\\u06f8\":\"8\",\"\\u06f9\":\"9\"},ya={0:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",\n7:\"7\",8:\"8\",9:\"9\",\"\\uff10\":\"0\",\"\\uff11\":\"1\",\"\\uff12\":\"2\",\"\\uff13\":\"3\",\"\\uff14\":\"4\",\"\\uff15\":\"5\",\"\\uff16\":\"6\",\"\\uff17\":\"7\",\"\\uff18\":\"8\",\"\\uff19\":\"9\",\"\\u0660\":\"0\",\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u06f0\":\"0\",\"\\u06f1\":\"1\",\"\\u06f2\":\"2\",\"\\u06f3\":\"3\",\"\\u06f4\":\"4\",\"\\u06f5\":\"5\",\"\\u06f6\":\"6\",\"\\u06f7\":\"7\",\"\\u06f8\":\"8\",\"\\u06f9\":\"9\",A:\"2\",B:\"2\",C:\"2\",D:\"3\",E:\"3\",F:\"3\",G:\"4\",H:\"4\",I:\"4\",J:\"5\",K:\"5\",L:\"5\",M:\"6\",N:\"6\",O:\"6\",P:\"7\",\nQ:\"7\",R:\"7\",S:\"7\",T:\"8\",U:\"8\",V:\"8\",W:\"9\",X:\"9\",Y:\"9\",Z:\"9\"},N=/^[+\\uff0b]+/,za=/([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9])/,Aa=/[+\\uff0b0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]/,Ba=/[\\\\\\/] *x/,Ca=/[^0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9A-Za-z#]+$/,Da=/(?:.*?[A-Za-z]){3}.*/,Ea=/(?:;ext=([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,7})|[ \\u00a0\\t,]*(?:e?xt(?:ensi(?:o\\u0301?|\\u00f3))?n?|\\uff45?\\uff58\\uff54\\uff4e?|\\u0434\\u043e\\u0431|[;,x\\uff58#\\uff03~\\uff5e]|int|anexo|\\uff49\\uff4e\\uff54)[:\\.\\uff0e]?[ \\u00a0\\t,-]*([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,7})#?|[- ]+([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,5})#)$/i,\nFa=/^[0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{2}$|^[+\\uff0b]*(?:[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\[\\]/~\\u2053\\u223c\\uff5e*]*[0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]){3,}[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\[\\]/~\\u2053\\u223c\\uff5e*A-Za-z0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]*(?:;ext=([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,7})|[ \\u00a0\\t,]*(?:e?xt(?:ensi(?:o\\u0301?|\\u00f3))?n?|\\uff45?\\uff58\\uff54\\uff4e?|\\u0434\\u043e\\u0431|[;,x\\uff58#\\uff03~\\uff5e]|int|anexo|\\uff49\\uff4e\\uff54)[:\\.\\uff0e]?[ \\u00a0\\t,-]*([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,7})#?|[- ]+([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,5})#)?$/i,\nGa=/(\\$\\d)/;function Ha(a){var b=a.search(Aa);0<=b?(a=a.substring(b),a=a.replace(Ca,\"\"),b=a.search(Ba),0<=b&&(a=a.substring(0,b))):a=\"\";return a}function Ia(a){return 2>a.length?!1:O(Fa,a)}function Ja(a){return O(Da,a)?P(a,ya):P(a,xa)}function Ka(a){var b=Ja(a.toString());a.c=\"\";a.a(b)}function La(a){return null!=a&&(1!=A(a,9)||-1!=w(a,9)[0])}function P(a,b){for(var c=new F,d,e=a.length,f=0;f<e;++f)d=a.charAt(f),d=b[d.toUpperCase()],null!=d&&c.a(d);return c.toString()}\nfunction Q(a){return null!=a&&isNaN(a)&&a.toUpperCase()in wa}\nfunction Ma(a,b,c){if(0==t(b,2)&&null!=b.a[5]){var d=y(b,5);if(0<d.length)return d}d=y(b,1);var e=R(b);if(0==c)return Na(d,0,e,\"\");if(!(d in K))return e;a=S(a,d,T(d));b=null!=b.a[3]&&0!=t(b,3).length?3==c?\";ext=\"+t(b,3):null!=a.a[13]?t(a,13)+y(b,3):\" ext. \"+y(b,3):\"\";a:{a=0==w(a,20).length||2==c?w(a,19):w(a,20);for(var f,g=a.length,h=0;h<g;++h){f=a[h];var l=A(f,3);if(0==l||0==e.search(t(f,3,l-1)))if(l=new RegExp(t(f,1)),O(l,e)){a=f;break a}}a=null}null!=a&&(g=a,a=y(g,2),f=new RegExp(t(g,1)),y(g,5),\ng=y(g,4),e=2==c&&null!=g&&0<g.length?e.replace(f,a.replace(Ga,g)):e.replace(f,a),3==c&&(e=e.replace(/^[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\[\\]/~\\u2053\\u223c\\uff5e]+/,\"\"),e=e.replace(/[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\[\\]/~\\u2053\\u223c\\uff5e]+/g,\"-\")));return Na(d,c,e,b)}function S(a,b,c){return\"001\"==c?U(a,\"\"+b):U(a,c)}\nfunction R(a){if(null==a.a[2])return\"\";var b=\"\"+t(a,2);return null!=a.a[4]&&t(a,4)&&0<y(a,8)?Array(y(a,8)+1).join(\"0\")+b:b}function Na(a,b,c,d){switch(b){case 0:return\"+\"+a+c+d;case 1:return\"+\"+a+\" \"+c+d;case 3:return\"tel:+\"+a+\"-\"+c+d;default:return c+d}}\nfunction V(a,b){switch(b){case 4:return t(a,5);case 3:return t(a,4);case 1:return t(a,3);case 0:case 2:return t(a,2);case 5:return t(a,6);case 6:return t(a,8);case 7:return t(a,7);case 8:return t(a,21);case 9:return t(a,25);case 10:return t(a,28);default:return t(a,1)}}function W(a,b){return X(a,t(b,1))?X(a,t(b,5))?4:X(a,t(b,4))?3:X(a,t(b,6))?5:X(a,t(b,8))?6:X(a,t(b,7))?7:X(a,t(b,21))?8:X(a,t(b,25))?9:X(a,t(b,28))?10:X(a,t(b,2))?t(b,18)||X(a,t(b,3))?2:0:!t(b,18)&&X(a,t(b,3))?1:-1:-1}\nfunction U(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.a[b];if(null==c){c=wa[b];if(null==c)return null;c=(new E).a(I.f(),c);a.a[b]=c}return c}function X(a,b){var c=a.length;return 0<A(b,9)&&-1==p(w(b,9),c)?!1:O(y(b,2),a)}\nfunction Oa(a,b){if(null==b)return null;var c=y(b,1);c=K[c];if(null==c)a=null;else if(1==c.length)a=c[0];else a:{b=R(b);for(var d,e=c.length,f=0;f<e;f++){d=c[f];var g=U(a,d);if(null!=g.a[23]){if(0==b.search(t(g,23))){a=d;break a}}else if(-1!=W(b,g)){a=d;break a}}a=null}return a}function T(a){a=K[a];return null==a?\"ZZ\":a[0]}\nfunction Y(a,b,c,d){var e=V(c,d),f=0==A(e,9)?w(t(c,1),9):w(e,9);e=w(e,10);if(2==d)if(La(V(c,0)))a=V(c,1),La(a)&&(f=f.concat(0==A(a,9)?w(t(c,1),9):w(a,9)),q(f),0==e.length?e=w(a,10):(e=e.concat(w(a,10)),q(e)));else return Y(a,b,c,1);if(-1==f[0])return 5;b=b.length;if(-1<p(e,b))return 4;c=f[0];return c==b?0:c>b?2:f[f.length-1]<b?3:-1<p(f,b,1)?0:5}function Pa(a,b){var c=R(b);b=y(b,1);if(!(b in K))return 1;b=S(a,b,T(b));return Y(a,c,b,-1)}\nfunction Qa(a,b,c,d,e,f){if(0==b.length)return 0;b=new F(b);var g;null!=c&&(g=t(c,11));null==g&&(g=\"NonMatch\");var h=b.toString();if(0==h.length)g=20;else if(N.test(h))h=h.replace(N,\"\"),b.c=\"\",b.a(Ja(h)),g=1;else{h=new RegExp(g);Ka(b);g=b.toString();if(0==g.search(h)){h=g.match(h)[0].length;var l=g.substring(h).match(za);l&&null!=l[1]&&0<l[1].length&&\"0\"==P(l[1],xa)?g=!1:(b.c=\"\",b.a(g.substring(h)),g=!0)}else g=!1;g=g?5:20}e&&u(f,6,g);if(20!=g){if(2>=b.c.length)throw Error(\"Phone number too short after IDD\");\na:{a=b.toString();if(0!=a.length&&\"0\"!=a.charAt(0))for(e=a.length,b=1;3>=b&&b<=e;++b)if(c=parseInt(a.substring(0,b),10),c in K){d.a(a.substring(b));d=c;break a}d=0}if(0!=d)return u(f,1,d),d;throw Error(\"Invalid country calling code\");}if(null!=c&&(g=y(c,10),h=\"\"+g,l=b.toString(),0==l.lastIndexOf(h,0)&&(h=new F(l.substring(h.length)),l=t(c,1),l=new RegExp(y(l,2)),Ra(h,c,null),h=h.toString(),!O(l,b.toString())&&O(l,h)||3==Y(a,b.toString(),c,-1))))return d.a(h),e&&u(f,6,10),u(f,1,g),g;u(f,1,0);return 0}\nfunction Ra(a,b,c){var d=a.toString(),e=d.length,f=t(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp(\"^(?:\"+f+\")\");if(e=g.exec(d)){f=new RegExp(y(t(b,1),2));var h=O(f,d),l=e.length-1;b=t(b,16);if(null==b||0==b.length||null==e[l]||0==e[l].length){if(!h||O(f,d.substring(e[0].length)))null!=c&&0<l&&null!=e[l]&&c.a(e[1]),a.set(d.substring(e[0].length))}else if(d=d.replace(g,b),!h||O(f,d))null!=c&&0<l&&c.a(e[1]),a.set(d)}}}\nfunction Z(a,b,c){if(!Q(c)&&0<b.length&&\"+\"!=b.charAt(0))throw Error(\"Invalid country calling code\");return Sa(a,b,c,!0)}\nfunction Sa(a,b,c,d){if(null==b)throw Error(\"The string supplied did not seem to be a phone number\");if(250<b.length)throw Error(\"The string supplied is too long to be a phone number\");var e=new F,f=b.indexOf(\";phone-context=\");if(0<=f){var g=f+15;if(\"+\"==b.charAt(g)){var h=b.indexOf(\";\",g);0<h?e.a(b.substring(g,h)):e.a(b.substring(g))}g=b.indexOf(\"tel:\");e.a(b.substring(0<=g?g+4:0,f))}else e.a(Ha(b));f=e.toString();g=f.indexOf(\";isub=\");0<g&&(e.c=\"\",e.a(f.substring(0,g)));if(!Ia(e.toString()))throw Error(\"The string supplied did not seem to be a phone number\");\nf=e.toString();if(!(Q(c)||null!=f&&0<f.length&&N.test(f)))throw Error(\"Invalid country calling code\");f=new J;d&&u(f,5,b);a:{b=e.toString();g=b.search(Ea);if(0<=g&&Ia(b.substring(0,g))){h=b.match(Ea);for(var l=h.length,z=1;z<l;++z)if(null!=h[z]&&0<h[z].length){e.c=\"\";e.a(b.substring(0,g));b=h[z];break a}}b=\"\"}0<b.length&&u(f,3,b);g=U(a,c);b=new F;h=0;l=e.toString();try{h=Qa(a,l,g,b,d,f)}catch(L){if(\"Invalid country calling code\"==L.message&&N.test(l)){if(l=l.replace(N,\"\"),h=Qa(a,l,g,b,d,f),0==h)throw L;\n}else throw L;}0!=h?(e=T(h),e!=c&&(g=S(a,h,e))):(Ka(e),b.a(e.toString()),null!=c?(h=y(g,10),u(f,1,h)):d&&(delete f.a[6],f.c&&delete f.c[6]));if(2>b.c.length)throw Error(\"The string supplied is too short to be a phone number\");null!=g&&(c=new F,e=new F(b.toString()),Ra(e,g,c),a=Y(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0<c.toString().length&&u(f,7,c.toString())));d=b.toString();a=d.length;if(2>a)throw Error(\"The string supplied is too short to be a phone number\");if(17<a)throw Error(\"The string supplied is too long to be a phone number\");\nif(1<d.length&&\"0\"==d.charAt(0)){u(f,4,!0);for(a=1;a<d.length-1&&\"0\"==d.charAt(a);)a++;1!=a&&u(f,8,a)}u(f,2,parseInt(d,10));return f}function O(a,b){return(a=\"string\"==typeof a?b.match(\"^(?:\"+a+\")$\"):b.match(a))&&a[0].length==b.length?!0:!1};m(\"intlTelInputUtils\",{});m(\"intlTelInputUtils.formatNumber\",function(a,b,c){try{var d=M.a(),e=Z(d,a,b),f=Pa(d,e);return 0==f||4==f?Ma(d,e,\"undefined\"==typeof c?0:c):a}catch(g){return a}});m(\"intlTelInputUtils.getExampleNumber\",function(a,b,c){try{var d=M.a();a:{if(Q(a)){var e=V(U(d,a),c);try{if(null!=e.a[6]){var f=t(e,6);var g=Sa(d,f,a,!1);break a}}catch(h){}}g=null}return Ma(d,g,b?2:1)}catch(h){return\"\"}});m(\"intlTelInputUtils.getExtension\",function(a,b){try{return t(Z(M.a(),a,b),3)}catch(c){return\"\"}});\nm(\"intlTelInputUtils.getNumberType\",function(a,b){try{var c=M.a();var d=Z(c,a,b),e=Oa(c,d),f=S(c,y(d,1),e);if(null==f)var g=-1;else{var h=R(d);g=W(h,f)}return g}catch(l){return-99}});\nm(\"intlTelInputUtils.getValidationError\",function(a,b){try{var c=M.a(),d=Z(c,a,b);return Pa(c,d)}catch(e){return\"Invalid country calling code\"==e.message?1:\"The string supplied did not seem to be a phone number\"==e.message?4:\"Phone number too short after IDD\"==e.message||\"The string supplied is too short to be a phone number\"==e?2:\"The string supplied is too long to be a phone number\"==e.message?3:-99}});\nm(\"intlTelInputUtils.isValidNumber\",function(a,b){try{var c=M.a(),d=Z(c,a,b);var e=Oa(c,d),f=y(d,1),g=S(c,f,e),h;if(!(h=null==g)){var l;if(l=\"001\"!=e){var z=U(c,e);if(null==z)throw Error(\"Invalid region code: \"+e);var L=y(z,10);l=f!=L}h=l}if(h)var va=!1;else{var Ta=R(d);va=-1!=W(Ta,g)}return va}catch(Ua){return!1}});m(\"intlTelInputUtils.numberFormat\",{E164:0,INTERNATIONAL:1,NATIONAL:2,RFC3966:3});\nm(\"intlTelInputUtils.numberType\",{FIXED_LINE:0,MOBILE:1,FIXED_LINE_OR_MOBILE:2,TOLL_FREE:3,PREMIUM_RATE:4,SHARED_COST:5,VOIP:6,PERSONAL_NUMBER:7,PAGER:8,UAN:9,VOICEMAIL:10,UNKNOWN:-1});m(\"intlTelInputUtils.validationError\",{IS_POSSIBLE:0,INVALID_COUNTRY_CODE:1,TOO_SHORT:2,TOO_LONG:3,NOT_A_NUMBER:4});})();\n","/**\n * Exposing intl-tel-input as a component\n */\nmodule.exports = require(\"./build/js/intlTelInput\");\n","// Unobtrusive validation support library for jQuery and jQuery Validate\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n// @version v3.2.11\n\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\n/*global document: false, jQuery: false */\n\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(\"jquery.validate.unobtrusive\", ['jquery-validation'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports \n module.exports = factory(require('jquery-validation'));\n } else {\n // Browser global\n jQuery.validator.unobtrusive = factory(jQuery);\n }\n}(function ($) {\n var $jQval = $.validator,\n adapters,\n data_validation = \"unobtrusiveValidation\";\n\n function setValidationValues(options, ruleName, value) {\n options.rules[ruleName] = value;\n if (options.message) {\n options.messages[ruleName] = options.message;\n }\n }\n\n function splitAndTrim(value) {\n return value.replace(/^\\s+|\\s+$/g, \"\").split(/\\s*,\\s*/g);\n }\n\n function escapeAttributeValue(value) {\n // As mentioned on http://api.jquery.com/category/selectors/\n return value.replace(/([!\"#$%&'()*+,./:;<=>?@\\[\\\\\\]^`{|}~])/g, \"\\\\$1\");\n }\n\n function getModelPrefix(fieldName) {\n return fieldName.substr(0, fieldName.lastIndexOf(\".\") + 1);\n }\n\n function appendModelPrefix(value, prefix) {\n if (value.indexOf(\"*.\") === 0) {\n value = value.replace(\"*.\", prefix);\n }\n return value;\n }\n\n function onError(error, inputElement) { // 'this' is the form element\n var container = $(this).find(\"[data-valmsg-for='\" + escapeAttributeValue(inputElement[0].name) + \"']\"),\n replaceAttrValue = container.attr(\"data-valmsg-replace\"),\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;\n\n container.removeClass(\"field-validation-valid\").addClass(\"field-validation-error\");\n error.data(\"unobtrusiveContainer\", container);\n\n if (replace) {\n container.empty();\n error.removeClass(\"input-validation-error\").appendTo(container);\n }\n else {\n error.hide();\n }\n }\n\n function onErrors(event, validator) { // 'this' is the form element\n var container = $(this).find(\"[data-valmsg-summary=true]\"),\n list = container.find(\"ul\");\n\n if (list && list.length && validator.errorList.length) {\n list.empty();\n container.addClass(\"validation-summary-errors\").removeClass(\"validation-summary-valid\");\n\n $.each(validator.errorList, function () {\n $(\"<li />\").html(this.message).appendTo(list);\n });\n }\n }\n\n function onSuccess(error) { // 'this' is the form element\n var container = error.data(\"unobtrusiveContainer\");\n\n if (container) {\n var replaceAttrValue = container.attr(\"data-valmsg-replace\"),\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;\n\n container.addClass(\"field-validation-valid\").removeClass(\"field-validation-error\");\n error.removeData(\"unobtrusiveContainer\");\n\n if (replace) {\n container.empty();\n }\n }\n }\n\n function onReset(event) { // 'this' is the form element\n var $form = $(this),\n key = '__jquery_unobtrusive_validation_form_reset';\n if ($form.data(key)) {\n return;\n }\n // Set a flag that indicates we're currently resetting the form.\n $form.data(key, true);\n try {\n $form.data(\"validator\").resetForm();\n } finally {\n $form.removeData(key);\n }\n\n $form.find(\".validation-summary-errors\")\n .addClass(\"validation-summary-valid\")\n .removeClass(\"validation-summary-errors\");\n $form.find(\".field-validation-error\")\n .addClass(\"field-validation-valid\")\n .removeClass(\"field-validation-error\")\n .removeData(\"unobtrusiveContainer\")\n .find(\">*\") // If we were using valmsg-replace, get the underlying error\n .removeData(\"unobtrusiveContainer\");\n }\n\n function validationInfo(form) {\n var $form = $(form),\n result = $form.data(data_validation),\n onResetProxy = $.proxy(onReset, form),\n defaultOptions = $jQval.unobtrusive.options || {},\n execInContext = function (name, args) {\n var func = defaultOptions[name];\n func && $.isFunction(func) && func.apply(form, args);\n };\n\n if (!result) {\n result = {\n options: { // options structure passed to jQuery Validate's validate() method\n errorClass: defaultOptions.errorClass || \"input-validation-error\",\n errorElement: defaultOptions.errorElement || \"span\",\n errorPlacement: function () {\n onError.apply(form, arguments);\n execInContext(\"errorPlacement\", arguments);\n },\n invalidHandler: function () {\n onErrors.apply(form, arguments);\n execInContext(\"invalidHandler\", arguments);\n },\n messages: {},\n rules: {},\n success: function () {\n onSuccess.apply(form, arguments);\n execInContext(\"success\", arguments);\n }\n },\n attachValidation: function () {\n $form\n .off(\"reset.\" + data_validation, onResetProxy)\n .on(\"reset.\" + data_validation, onResetProxy)\n .validate(this.options);\n },\n validate: function () { // a validation function that is called by unobtrusive Ajax\n $form.validate();\n return $form.valid();\n }\n };\n $form.data(data_validation, result);\n }\n\n return result;\n }\n\n $jQval.unobtrusive = {\n adapters: [],\n\n parseElement: function (element, skipAttach) {\n /// <summary>\n /// Parses a single HTML element for unobtrusive validation attributes.\n /// </summary>\n /// <param name=\"element\" domElement=\"true\">The HTML element to be parsed.</param>\n /// <param name=\"skipAttach\" type=\"Boolean\">[Optional] true to skip attaching the\n /// validation to the form. If parsing just this single element, you should specify true.\n /// If parsing several elements, you should specify false, and manually attach the validation\n /// to the form when you are finished. The default is false.</param>\n var $element = $(element),\n form = $element.parents(\"form\")[0],\n valInfo, rules, messages;\n\n if (!form) { // Cannot do client-side validation without a form\n return;\n }\n\n valInfo = validationInfo(form);\n valInfo.options.rules[element.name] = rules = {};\n valInfo.options.messages[element.name] = messages = {};\n\n $.each(this.adapters, function () {\n var prefix = \"data-val-\" + this.name,\n message = $element.attr(prefix),\n paramValues = {};\n\n if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)\n prefix += \"-\";\n\n $.each(this.params, function () {\n paramValues[this] = $element.attr(prefix + this);\n });\n\n this.adapt({\n element: element,\n form: form,\n message: message,\n params: paramValues,\n rules: rules,\n messages: messages\n });\n }\n });\n\n $.extend(rules, { \"__dummy__\": true });\n\n if (!skipAttach) {\n valInfo.attachValidation();\n }\n },\n\n parse: function (selector) {\n /// <summary>\n /// Parses all the HTML elements in the specified selector. It looks for input elements decorated\n /// with the [data-val=true] attribute value and enables validation according to the data-val-*\n /// attribute values.\n /// </summary>\n /// <param name=\"selector\" type=\"String\">Any valid jQuery selector.</param>\n\n // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one\n // element with data-val=true\n var $selector = $(selector),\n $forms = $selector.parents()\n .addBack()\n .filter(\"form\")\n .add($selector.find(\"form\"))\n .has(\"[data-val=true]\");\n\n $selector.find(\"[data-val=true]\").each(function () {\n $jQval.unobtrusive.parseElement(this, true);\n });\n\n $forms.each(function () {\n var info = validationInfo(this);\n if (info) {\n info.attachValidation();\n }\n });\n }\n };\n\n adapters = $jQval.unobtrusive.adapters;\n\n adapters.add = function (adapterName, params, fn) {\n /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>\n /// <param name=\"adapterName\" type=\"String\">The name of the adapter to be added. This matches the name used\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>\n /// <param name=\"params\" type=\"Array\" optional=\"true\">[Optional] An array of parameter names (strings) that will\n /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and\n /// mmmm is the parameter name).</param>\n /// <param name=\"fn\" type=\"Function\">The function to call, which adapts the values from the HTML\n /// attributes into jQuery Validate rules and/or messages.</param>\n /// <returns type=\"jQuery.validator.unobtrusive.adapters\" />\n if (!fn) { // Called with no params, just a function\n fn = params;\n params = [];\n }\n this.push({ name: adapterName, params: params, adapt: fn });\n return this;\n };\n\n adapters.addBool = function (adapterName, ruleName) {\n /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\n /// the jQuery Validate validation rule has no parameter values.</summary>\n /// <param name=\"adapterName\" type=\"String\">The name of the adapter to be added. This matches the name used\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>\n /// <param name=\"ruleName\" type=\"String\" optional=\"true\">[Optional] The name of the jQuery Validate rule. If not provided, the value\n /// of adapterName will be used instead.</param>\n /// <returns type=\"jQuery.validator.unobtrusive.adapters\" />\n return this.add(adapterName, function (options) {\n setValidationValues(options, ruleName || adapterName, true);\n });\n };\n\n adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {\n /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\n /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and\n /// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>\n /// <param name=\"adapterName\" type=\"String\">The name of the adapter to be added. This matches the name used\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>\n /// <param name=\"minRuleName\" type=\"String\">The name of the jQuery Validate rule to be used when you only\n /// have a minimum value.</param>\n /// <param name=\"maxRuleName\" type=\"String\">The name of the jQuery Validate rule to be used when you only\n /// have a maximum value.</param>\n /// <param name=\"minMaxRuleName\" type=\"String\">The name of the jQuery Validate rule to be used when you\n /// have both a minimum and maximum value.</param>\n /// <param name=\"minAttribute\" type=\"String\" optional=\"true\">[Optional] The name of the HTML attribute that\n /// contains the minimum value. The default is \"min\".</param>\n /// <param name=\"maxAttribute\" type=\"String\" optional=\"true\">[Optional] The name of the HTML attribute that\n /// contains the maximum value. The default is \"max\".</param>\n /// <returns type=\"jQuery.validator.unobtrusive.adapters\" />\n return this.add(adapterName, [minAttribute || \"min\", maxAttribute || \"max\"], function (options) {\n var min = options.params.min,\n max = options.params.max;\n\n if (min && max) {\n setValidationValues(options, minMaxRuleName, [min, max]);\n }\n else if (min) {\n setValidationValues(options, minRuleName, min);\n }\n else if (max) {\n setValidationValues(options, maxRuleName, max);\n }\n });\n };\n\n adapters.addSingleVal = function (adapterName, attribute, ruleName) {\n /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\n /// the jQuery Validate validation rule has a single value.</summary>\n /// <param name=\"adapterName\" type=\"String\">The name of the adapter to be added. This matches the name used\n /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>\n /// <param name=\"attribute\" type=\"String\">[Optional] The name of the HTML attribute that contains the value.\n /// The default is \"val\".</param>\n /// <param name=\"ruleName\" type=\"String\" optional=\"true\">[Optional] The name of the jQuery Validate rule. If not provided, the value\n /// of adapterName will be used instead.</param>\n /// <returns type=\"jQuery.validator.unobtrusive.adapters\" />\n return this.add(adapterName, [attribute || \"val\"], function (options) {\n setValidationValues(options, ruleName || adapterName, options.params[attribute]);\n });\n };\n\n $jQval.addMethod(\"__dummy__\", function (value, element, params) {\n return true;\n });\n\n $jQval.addMethod(\"regex\", function (value, element, params) {\n var match;\n if (this.optional(element)) {\n return true;\n }\n\n match = new RegExp(params).exec(value);\n return (match && (match.index === 0) && (match[0].length === value.length));\n });\n\n $jQval.addMethod(\"nonalphamin\", function (value, element, nonalphamin) {\n var match;\n if (nonalphamin) {\n match = value.match(/\\W/g);\n match = match && match.length >= nonalphamin;\n }\n return match;\n });\n\n if ($jQval.methods.extension) {\n adapters.addSingleVal(\"accept\", \"mimtype\");\n adapters.addSingleVal(\"extension\", \"extension\");\n } else {\n // for backward compatibility, when the 'extension' validation method does not exist, such as with versions\n // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for\n // validating the extension, and ignore mime-type validations as they are not supported.\n adapters.addSingleVal(\"extension\", \"extension\", \"accept\");\n }\n\n adapters.addSingleVal(\"regex\", \"pattern\");\n adapters.addBool(\"creditcard\").addBool(\"date\").addBool(\"digits\").addBool(\"email\").addBool(\"number\").addBool(\"url\");\n adapters.addMinMax(\"length\", \"minlength\", \"maxlength\", \"rangelength\").addMinMax(\"range\", \"min\", \"max\", \"range\");\n adapters.addMinMax(\"minlength\", \"minlength\").addMinMax(\"maxlength\", \"minlength\", \"maxlength\");\n adapters.add(\"equalto\", [\"other\"], function (options) {\n var prefix = getModelPrefix(options.element.name),\n other = options.params.other,\n fullOtherName = appendModelPrefix(other, prefix),\n element = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(fullOtherName) + \"']\")[0];\n\n setValidationValues(options, \"equalTo\", element);\n });\n adapters.add(\"required\", function (options) {\n // jQuery Validate equates \"required\" with \"mandatory\" for checkbox elements\n if (options.element.tagName.toUpperCase() !== \"INPUT\" || options.element.type.toUpperCase() !== \"CHECKBOX\") {\n setValidationValues(options, \"required\", true);\n }\n });\n adapters.add(\"remote\", [\"url\", \"type\", \"additionalfields\"], function (options) {\n var value = {\n url: options.params.url,\n type: options.params.type || \"GET\",\n data: {}\n },\n prefix = getModelPrefix(options.element.name);\n\n $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {\n var paramName = appendModelPrefix(fieldName, prefix);\n value.data[paramName] = function () {\n var field = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(paramName) + \"']\");\n // For checkboxes and radio buttons, only pick up values from checked fields.\n if (field.is(\":checkbox\")) {\n return field.filter(\":checked\").val() || field.filter(\":hidden\").val() || '';\n }\n else if (field.is(\":radio\")) {\n return field.filter(\":checked\").val() || '';\n }\n return field.val();\n };\n });\n\n setValidationValues(options, \"remote\", value);\n });\n adapters.add(\"password\", [\"min\", \"nonalphamin\", \"regex\"], function (options) {\n if (options.params.min) {\n setValidationValues(options, \"minlength\", options.params.min);\n }\n if (options.params.nonalphamin) {\n setValidationValues(options, \"nonalphamin\", options.params.nonalphamin);\n }\n if (options.params.regex) {\n setValidationValues(options, \"regex\", options.params.regex);\n }\n });\n adapters.add(\"fileextensions\", [\"extensions\"], function (options) {\n setValidationValues(options, \"extension\", options.params.extensions);\n });\n\n $(function () {\n $jQval.unobtrusive.parse(document);\n });\n\n return $jQval.unobtrusive;\n}));\n","/*!\n * jQuery Validation Plugin v1.19.5\n *\n * https://jqueryvalidation.org/\n *\n * Copyright (c) 2022 Jörn Zaefferer\n * Released under the MIT license\n */\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\tdefine( [\"jquery\"], factory );\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\tmodule.exports = factory( require( \"jquery\" ) );\n\t} else {\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n$.extend( $.fn, {\n\n\t// https://jqueryvalidation.org/validate/\n\tvalidate: function( options ) {\n\n\t\t// If nothing is selected, return nothing; can't chain anyway\n\t\tif ( !this.length ) {\n\t\t\tif ( options && options.debug && window.console ) {\n\t\t\t\tconsole.warn( \"Nothing selected, can't validate, returning nothing.\" );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if a validator for this form was already created\n\t\tvar validator = $.data( this[ 0 ], \"validator\" );\n\t\tif ( validator ) {\n\t\t\treturn validator;\n\t\t}\n\n\t\t// Add novalidate tag if HTML5.\n\t\tthis.attr( \"novalidate\", \"novalidate\" );\n\n\t\tvalidator = new $.validator( options, this[ 0 ] );\n\t\t$.data( this[ 0 ], \"validator\", validator );\n\n\t\tif ( validator.settings.onsubmit ) {\n\n\t\t\tthis.on( \"click.validate\", \":submit\", function( event ) {\n\n\t\t\t\t// Track the used submit button to properly handle scripted\n\t\t\t\t// submits later.\n\t\t\t\tvalidator.submitButton = event.currentTarget;\n\n\t\t\t\t// Allow suppressing validation by adding a cancel class to the submit button\n\t\t\t\tif ( $( this ).hasClass( \"cancel\" ) ) {\n\t\t\t\t\tvalidator.cancelSubmit = true;\n\t\t\t\t}\n\n\t\t\t\t// Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button\n\t\t\t\tif ( $( this ).attr( \"formnovalidate\" ) !== undefined ) {\n\t\t\t\t\tvalidator.cancelSubmit = true;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Validate the form on submit\n\t\t\tthis.on( \"submit.validate\", function( event ) {\n\t\t\t\tif ( validator.settings.debug ) {\n\n\t\t\t\t\t// Prevent form submit to be able to see console output\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\n\t\t\t\tfunction handle() {\n\t\t\t\t\tvar hidden, result;\n\n\t\t\t\t\t// Insert a hidden input as a replacement for the missing submit button\n\t\t\t\t\t// The hidden input is inserted in two cases:\n\t\t\t\t\t// - A user defined a `submitHandler`\n\t\t\t\t\t// - There was a pending request due to `remote` method and `stopRequest()`\n\t\t\t\t\t// was called to submit the form in case it's valid\n\t\t\t\t\tif ( validator.submitButton && ( validator.settings.submitHandler || validator.formSubmitted ) ) {\n\t\t\t\t\t\thidden = $( \"<input type='hidden'/>\" )\n\t\t\t\t\t\t\t.attr( \"name\", validator.submitButton.name )\n\t\t\t\t\t\t\t.val( $( validator.submitButton ).val() )\n\t\t\t\t\t\t\t.appendTo( validator.currentForm );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( validator.settings.submitHandler && !validator.settings.debug ) {\n\t\t\t\t\t\tresult = validator.settings.submitHandler.call( validator, validator.currentForm, event );\n\t\t\t\t\t\tif ( hidden ) {\n\n\t\t\t\t\t\t\t// And clean up afterwards; thanks to no-block-scope, hidden can be referenced\n\t\t\t\t\t\t\thidden.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( result !== undefined ) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t// Prevent submit for invalid forms or custom submit handlers\n\t\t\t\tif ( validator.cancelSubmit ) {\n\t\t\t\t\tvalidator.cancelSubmit = false;\n\t\t\t\t\treturn handle();\n\t\t\t\t}\n\t\t\t\tif ( validator.form() ) {\n\t\t\t\t\tif ( validator.pendingRequest ) {\n\t\t\t\t\t\tvalidator.formSubmitted = true;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn handle();\n\t\t\t\t} else {\n\t\t\t\t\tvalidator.focusInvalid();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn validator;\n\t},\n\n\t// https://jqueryvalidation.org/valid/\n\tvalid: function() {\n\t\tvar valid, validator, errorList;\n\n\t\tif ( $( this[ 0 ] ).is( \"form\" ) ) {\n\t\t\tvalid = this.validate().form();\n\t\t} else {\n\t\t\terrorList = [];\n\t\t\tvalid = true;\n\t\t\tvalidator = $( this[ 0 ].form ).validate();\n\t\t\tthis.each( function() {\n\t\t\t\tvalid = validator.element( this ) && valid;\n\t\t\t\tif ( !valid ) {\n\t\t\t\t\terrorList = errorList.concat( validator.errorList );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tvalidator.errorList = errorList;\n\t\t}\n\t\treturn valid;\n\t},\n\n\t// https://jqueryvalidation.org/rules/\n\trules: function( command, argument ) {\n\t\tvar element = this[ 0 ],\n\t\t\tisContentEditable = typeof this.attr( \"contenteditable\" ) !== \"undefined\" && this.attr( \"contenteditable\" ) !== \"false\",\n\t\t\tsettings, staticRules, existingRules, data, param, filtered;\n\n\t\t// If nothing is selected, return empty object; can't chain anyway\n\t\tif ( element == null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !element.form && isContentEditable ) {\n\t\t\telement.form = this.closest( \"form\" )[ 0 ];\n\t\t\telement.name = this.attr( \"name\" );\n\t\t}\n\n\t\tif ( element.form == null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( command ) {\n\t\t\tsettings = $.data( element.form, \"validator\" ).settings;\n\t\t\tstaticRules = settings.rules;\n\t\t\texistingRules = $.validator.staticRules( element );\n\t\t\tswitch ( command ) {\n\t\t\tcase \"add\":\n\t\t\t\t$.extend( existingRules, $.validator.normalizeRule( argument ) );\n\n\t\t\t\t// Remove messages from rules, but allow them to be set separately\n\t\t\t\tdelete existingRules.messages;\n\t\t\t\tstaticRules[ element.name ] = existingRules;\n\t\t\t\tif ( argument.messages ) {\n\t\t\t\t\tsettings.messages[ element.name ] = $.extend( settings.messages[ element.name ], argument.messages );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"remove\":\n\t\t\t\tif ( !argument ) {\n\t\t\t\t\tdelete staticRules[ element.name ];\n\t\t\t\t\treturn existingRules;\n\t\t\t\t}\n\t\t\t\tfiltered = {};\n\t\t\t\t$.each( argument.split( /\\s/ ), function( index, method ) {\n\t\t\t\t\tfiltered[ method ] = existingRules[ method ];\n\t\t\t\t\tdelete existingRules[ method ];\n\t\t\t\t} );\n\t\t\t\treturn filtered;\n\t\t\t}\n\t\t}\n\n\t\tdata = $.validator.normalizeRules(\n\t\t$.extend(\n\t\t\t{},\n\t\t\t$.validator.classRules( element ),\n\t\t\t$.validator.attributeRules( element ),\n\t\t\t$.validator.dataRules( element ),\n\t\t\t$.validator.staticRules( element )\n\t\t), element );\n\n\t\t// Make sure required is at front\n\t\tif ( data.required ) {\n\t\t\tparam = data.required;\n\t\t\tdelete data.required;\n\t\t\tdata = $.extend( { required: param }, data );\n\t\t}\n\n\t\t// Make sure remote is at back\n\t\tif ( data.remote ) {\n\t\t\tparam = data.remote;\n\t\t\tdelete data.remote;\n\t\t\tdata = $.extend( data, { remote: param } );\n\t\t}\n\n\t\treturn data;\n\t}\n} );\n\n// JQuery trim is deprecated, provide a trim method based on String.prototype.trim\nvar trim = function( str ) {\n\n\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill\n\treturn str.replace( /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\" );\n};\n\n// Custom selectors\n$.extend( $.expr.pseudos || $.expr[ \":\" ], {\t\t// '|| $.expr[ \":\" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support\n\n\t// https://jqueryvalidation.org/blank-selector/\n\tblank: function( a ) {\n\t\treturn !trim( \"\" + $( a ).val() );\n\t},\n\n\t// https://jqueryvalidation.org/filled-selector/\n\tfilled: function( a ) {\n\t\tvar val = $( a ).val();\n\t\treturn val !== null && !!trim( \"\" + val );\n\t},\n\n\t// https://jqueryvalidation.org/unchecked-selector/\n\tunchecked: function( a ) {\n\t\treturn !$( a ).prop( \"checked\" );\n\t}\n} );\n\n// Constructor for validator\n$.validator = function( options, form ) {\n\tthis.settings = $.extend( true, {}, $.validator.defaults, options );\n\tthis.currentForm = form;\n\tthis.init();\n};\n\n// https://jqueryvalidation.org/jQuery.validator.format/\n$.validator.format = function( source, params ) {\n\tif ( arguments.length === 1 ) {\n\t\treturn function() {\n\t\t\tvar args = $.makeArray( arguments );\n\t\t\targs.unshift( source );\n\t\t\treturn $.validator.format.apply( this, args );\n\t\t};\n\t}\n\tif ( params === undefined ) {\n\t\treturn source;\n\t}\n\tif ( arguments.length > 2 && params.constructor !== Array ) {\n\t\tparams = $.makeArray( arguments ).slice( 1 );\n\t}\n\tif ( params.constructor !== Array ) {\n\t\tparams = [ params ];\n\t}\n\t$.each( params, function( i, n ) {\n\t\tsource = source.replace( new RegExp( \"\\\\{\" + i + \"\\\\}\", \"g\" ), function() {\n\t\t\treturn n;\n\t\t} );\n\t} );\n\treturn source;\n};\n\n$.extend( $.validator, {\n\n\tdefaults: {\n\t\tmessages: {},\n\t\tgroups: {},\n\t\trules: {},\n\t\terrorClass: \"error\",\n\t\tpendingClass: \"pending\",\n\t\tvalidClass: \"valid\",\n\t\terrorElement: \"label\",\n\t\tfocusCleanup: false,\n\t\tfocusInvalid: true,\n\t\terrorContainer: $( [] ),\n\t\terrorLabelContainer: $( [] ),\n\t\tonsubmit: true,\n\t\tignore: \":hidden\",\n\t\tignoreTitle: false,\n\t\tonfocusin: function( element ) {\n\t\t\tthis.lastActive = element;\n\n\t\t\t// Hide error label and remove error class on focus if enabled\n\t\t\tif ( this.settings.focusCleanup ) {\n\t\t\t\tif ( this.settings.unhighlight ) {\n\t\t\t\t\tthis.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass );\n\t\t\t\t}\n\t\t\t\tthis.hideThese( this.errorsFor( element ) );\n\t\t\t}\n\t\t},\n\t\tonfocusout: function( element ) {\n\t\t\tif ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {\n\t\t\t\tthis.element( element );\n\t\t\t}\n\t\t},\n\t\tonkeyup: function( element, event ) {\n\n\t\t\t// Avoid revalidate the field when pressing one of the following keys\n\t\t\t// Shift => 16\n\t\t\t// Ctrl => 17\n\t\t\t// Alt => 18\n\t\t\t// Caps lock => 20\n\t\t\t// End => 35\n\t\t\t// Home => 36\n\t\t\t// Left arrow => 37\n\t\t\t// Up arrow => 38\n\t\t\t// Right arrow => 39\n\t\t\t// Down arrow => 40\n\t\t\t// Insert => 45\n\t\t\t// Num lock => 144\n\t\t\t// AltGr key => 225\n\t\t\tvar excludedKeys = [\n\t\t\t\t16, 17, 18, 20, 35, 36, 37,\n\t\t\t\t38, 39, 40, 45, 144, 225\n\t\t\t];\n\n\t\t\tif ( event.which === 9 && this.elementValue( element ) === \"\" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) {\n\t\t\t\treturn;\n\t\t\t} else if ( element.name in this.submitted || element.name in this.invalid ) {\n\t\t\t\tthis.element( element );\n\t\t\t}\n\t\t},\n\t\tonclick: function( element ) {\n\n\t\t\t// Click on selects, radiobuttons and checkboxes\n\t\t\tif ( element.name in this.submitted ) {\n\t\t\t\tthis.element( element );\n\n\t\t\t// Or option elements, check parent select in that case\n\t\t\t} else if ( element.parentNode.name in this.submitted ) {\n\t\t\t\tthis.element( element.parentNode );\n\t\t\t}\n\t\t},\n\t\thighlight: function( element, errorClass, validClass ) {\n\t\t\tif ( element.type === \"radio\" ) {\n\t\t\t\tthis.findByName( element.name ).addClass( errorClass ).removeClass( validClass );\n\t\t\t} else {\n\t\t\t\t$( element ).addClass( errorClass ).removeClass( validClass );\n\t\t\t}\n\t\t},\n\t\tunhighlight: function( element, errorClass, validClass ) {\n\t\t\tif ( element.type === \"radio\" ) {\n\t\t\t\tthis.findByName( element.name ).removeClass( errorClass ).addClass( validClass );\n\t\t\t} else {\n\t\t\t\t$( element ).removeClass( errorClass ).addClass( validClass );\n\t\t\t}\n\t\t}\n\t},\n\n\t// https://jqueryvalidation.org/jQuery.validator.setDefaults/\n\tsetDefaults: function( settings ) {\n\t\t$.extend( $.validator.defaults, settings );\n\t},\n\n\tmessages: {\n\t\trequired: \"This field is required.\",\n\t\tremote: \"Please fix this field.\",\n\t\temail: \"Please enter a valid email address.\",\n\t\turl: \"Please enter a valid URL.\",\n\t\tdate: \"Please enter a valid date.\",\n\t\tdateISO: \"Please enter a valid date (ISO).\",\n\t\tnumber: \"Please enter a valid number.\",\n\t\tdigits: \"Please enter only digits.\",\n\t\tequalTo: \"Please enter the same value again.\",\n\t\tmaxlength: $.validator.format( \"Please enter no more than {0} characters.\" ),\n\t\tminlength: $.validator.format( \"Please enter at least {0} characters.\" ),\n\t\trangelength: $.validator.format( \"Please enter a value between {0} and {1} characters long.\" ),\n\t\trange: $.validator.format( \"Please enter a value between {0} and {1}.\" ),\n\t\tmax: $.validator.format( \"Please enter a value less than or equal to {0}.\" ),\n\t\tmin: $.validator.format( \"Please enter a value greater than or equal to {0}.\" ),\n\t\tstep: $.validator.format( \"Please enter a multiple of {0}.\" )\n\t},\n\n\tautoCreateRanges: false,\n\n\tprototype: {\n\n\t\tinit: function() {\n\t\t\tthis.labelContainer = $( this.settings.errorLabelContainer );\n\t\t\tthis.errorContext = this.labelContainer.length && this.labelContainer || $( this.currentForm );\n\t\t\tthis.containers = $( this.settings.errorContainer ).add( this.settings.errorLabelContainer );\n\t\t\tthis.submitted = {};\n\t\t\tthis.valueCache = {};\n\t\t\tthis.pendingRequest = 0;\n\t\t\tthis.pending = {};\n\t\t\tthis.invalid = {};\n\t\t\tthis.reset();\n\n\t\t\tvar currentForm = this.currentForm,\n\t\t\t\tgroups = ( this.groups = {} ),\n\t\t\t\trules;\n\t\t\t$.each( this.settings.groups, function( key, value ) {\n\t\t\t\tif ( typeof value === \"string\" ) {\n\t\t\t\t\tvalue = value.split( /\\s/ );\n\t\t\t\t}\n\t\t\t\t$.each( value, function( index, name ) {\n\t\t\t\t\tgroups[ name ] = key;\n\t\t\t\t} );\n\t\t\t} );\n\t\t\trules = this.settings.rules;\n\t\t\t$.each( rules, function( key, value ) {\n\t\t\t\trules[ key ] = $.validator.normalizeRule( value );\n\t\t\t} );\n\n\t\t\tfunction delegate( event ) {\n\t\t\t\tvar isContentEditable = typeof $( this ).attr( \"contenteditable\" ) !== \"undefined\" && $( this ).attr( \"contenteditable\" ) !== \"false\";\n\n\t\t\t\t// Set form expando on contenteditable\n\t\t\t\tif ( !this.form && isContentEditable ) {\n\t\t\t\t\tthis.form = $( this ).closest( \"form\" )[ 0 ];\n\t\t\t\t\tthis.name = $( this ).attr( \"name\" );\n\t\t\t\t}\n\n\t\t\t\t// Ignore the element if it belongs to another form. This will happen mainly\n\t\t\t\t// when setting the `form` attribute of an input to the id of another form.\n\t\t\t\tif ( currentForm !== this.form ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar validator = $.data( this.form, \"validator\" ),\n\t\t\t\t\teventType = \"on\" + event.type.replace( /^validate/, \"\" ),\n\t\t\t\t\tsettings = validator.settings;\n\t\t\t\tif ( settings[ eventType ] && !$( this ).is( settings.ignore ) ) {\n\t\t\t\t\tsettings[ eventType ].call( validator, this, event );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$( this.currentForm )\n\t\t\t\t.on( \"focusin.validate focusout.validate keyup.validate\",\n\t\t\t\t\t\":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], \" +\n\t\t\t\t\t\"[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], \" +\n\t\t\t\t\t\"[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], \" +\n\t\t\t\t\t\"[type='radio'], [type='checkbox'], [contenteditable], [type='button']\", delegate )\n\n\t\t\t\t// Support: Chrome, oldIE\n\t\t\t\t// \"select\" is provided as event.target when clicking a option\n\t\t\t\t.on( \"click.validate\", \"select, option, [type='radio'], [type='checkbox']\", delegate );\n\n\t\t\tif ( this.settings.invalidHandler ) {\n\t\t\t\t$( this.currentForm ).on( \"invalid-form.validate\", this.settings.invalidHandler );\n\t\t\t}\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.form/\n\t\tform: function() {\n\t\t\tthis.checkForm();\n\t\t\t$.extend( this.submitted, this.errorMap );\n\t\t\tthis.invalid = $.extend( {}, this.errorMap );\n\t\t\tif ( !this.valid() ) {\n\t\t\t\t$( this.currentForm ).triggerHandler( \"invalid-form\", [ this ] );\n\t\t\t}\n\t\t\tthis.showErrors();\n\t\t\treturn this.valid();\n\t\t},\n\n\t\tcheckForm: function() {\n\t\t\tthis.prepareForm();\n\t\t\tfor ( var i = 0, elements = ( this.currentElements = this.elements() ); elements[ i ]; i++ ) {\n\t\t\t\tthis.check( elements[ i ] );\n\t\t\t}\n\t\t\treturn this.valid();\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.element/\n\t\telement: function( element ) {\n\t\t\tvar cleanElement = this.clean( element ),\n\t\t\t\tcheckElement = this.validationTargetFor( cleanElement ),\n\t\t\t\tv = this,\n\t\t\t\tresult = true,\n\t\t\t\trs, group;\n\n\t\t\tif ( checkElement === undefined ) {\n\t\t\t\tdelete this.invalid[ cleanElement.name ];\n\t\t\t} else {\n\t\t\t\tthis.prepareElement( checkElement );\n\t\t\t\tthis.currentElements = $( checkElement );\n\n\t\t\t\t// If this element is grouped, then validate all group elements already\n\t\t\t\t// containing a value\n\t\t\t\tgroup = this.groups[ checkElement.name ];\n\t\t\t\tif ( group ) {\n\t\t\t\t\t$.each( this.groups, function( name, testgroup ) {\n\t\t\t\t\t\tif ( testgroup === group && name !== checkElement.name ) {\n\t\t\t\t\t\t\tcleanElement = v.validationTargetFor( v.clean( v.findByName( name ) ) );\n\t\t\t\t\t\t\tif ( cleanElement && cleanElement.name in v.invalid ) {\n\t\t\t\t\t\t\t\tv.currentElements.push( cleanElement );\n\t\t\t\t\t\t\t\tresult = v.check( cleanElement ) && result;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\trs = this.check( checkElement ) !== false;\n\t\t\t\tresult = result && rs;\n\t\t\t\tif ( rs ) {\n\t\t\t\t\tthis.invalid[ checkElement.name ] = false;\n\t\t\t\t} else {\n\t\t\t\t\tthis.invalid[ checkElement.name ] = true;\n\t\t\t\t}\n\n\t\t\t\tif ( !this.numberOfInvalids() ) {\n\n\t\t\t\t\t// Hide error containers on last error\n\t\t\t\t\tthis.toHide = this.toHide.add( this.containers );\n\t\t\t\t}\n\t\t\t\tthis.showErrors();\n\n\t\t\t\t// Add aria-invalid status for screen readers\n\t\t\t\t$( element ).attr( \"aria-invalid\", !rs );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.showErrors/\n\t\tshowErrors: function( errors ) {\n\t\t\tif ( errors ) {\n\t\t\t\tvar validator = this;\n\n\t\t\t\t// Add items to error list and map\n\t\t\t\t$.extend( this.errorMap, errors );\n\t\t\t\tthis.errorList = $.map( this.errorMap, function( message, name ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmessage: message,\n\t\t\t\t\t\telement: validator.findByName( name )[ 0 ]\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\t// Remove items from success list\n\t\t\t\tthis.successList = $.grep( this.successList, function( element ) {\n\t\t\t\t\treturn !( element.name in errors );\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( this.settings.showErrors ) {\n\t\t\t\tthis.settings.showErrors.call( this, this.errorMap, this.errorList );\n\t\t\t} else {\n\t\t\t\tthis.defaultShowErrors();\n\t\t\t}\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.resetForm/\n\t\tresetForm: function() {\n\t\t\tif ( $.fn.resetForm ) {\n\t\t\t\t$( this.currentForm ).resetForm();\n\t\t\t}\n\t\t\tthis.invalid = {};\n\t\t\tthis.submitted = {};\n\t\t\tthis.prepareForm();\n\t\t\tthis.hideErrors();\n\t\t\tvar elements = this.elements()\n\t\t\t\t.removeData( \"previousValue\" )\n\t\t\t\t.removeAttr( \"aria-invalid\" );\n\n\t\t\tthis.resetElements( elements );\n\t\t},\n\n\t\tresetElements: function( elements ) {\n\t\t\tvar i;\n\n\t\t\tif ( this.settings.unhighlight ) {\n\t\t\t\tfor ( i = 0; elements[ i ]; i++ ) {\n\t\t\t\t\tthis.settings.unhighlight.call( this, elements[ i ],\n\t\t\t\t\t\tthis.settings.errorClass, \"\" );\n\t\t\t\t\tthis.findByName( elements[ i ].name ).removeClass( this.settings.validClass );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telements\n\t\t\t\t\t.removeClass( this.settings.errorClass )\n\t\t\t\t\t.removeClass( this.settings.validClass );\n\t\t\t}\n\t\t},\n\n\t\tnumberOfInvalids: function() {\n\t\t\treturn this.objectLength( this.invalid );\n\t\t},\n\n\t\tobjectLength: function( obj ) {\n\t\t\t/* jshint unused: false */\n\t\t\tvar count = 0,\n\t\t\t\ti;\n\t\t\tfor ( i in obj ) {\n\n\t\t\t\t// This check allows counting elements with empty error\n\t\t\t\t// message as invalid elements\n\t\t\t\tif ( obj[ i ] !== undefined && obj[ i ] !== null && obj[ i ] !== false ) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t},\n\n\t\thideErrors: function() {\n\t\t\tthis.hideThese( this.toHide );\n\t\t},\n\n\t\thideThese: function( errors ) {\n\t\t\terrors.not( this.containers ).text( \"\" );\n\t\t\tthis.addWrapper( errors ).hide();\n\t\t},\n\n\t\tvalid: function() {\n\t\t\treturn this.size() === 0;\n\t\t},\n\n\t\tsize: function() {\n\t\t\treturn this.errorList.length;\n\t\t},\n\n\t\tfocusInvalid: function() {\n\t\t\tif ( this.settings.focusInvalid ) {\n\t\t\t\ttry {\n\t\t\t\t\t$( this.findLastActive() || this.errorList.length && this.errorList[ 0 ].element || [] )\n\t\t\t\t\t.filter( \":visible\" )\n\t\t\t\t\t.trigger( \"focus\" )\n\n\t\t\t\t\t// Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find\n\t\t\t\t\t.trigger( \"focusin\" );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// Ignore IE throwing errors when focusing hidden elements\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tfindLastActive: function() {\n\t\t\tvar lastActive = this.lastActive;\n\t\t\treturn lastActive && $.grep( this.errorList, function( n ) {\n\t\t\t\treturn n.element.name === lastActive.name;\n\t\t\t} ).length === 1 && lastActive;\n\t\t},\n\n\t\telements: function() {\n\t\t\tvar validator = this,\n\t\t\t\trulesCache = {};\n\n\t\t\t// Select all valid inputs inside the form (no submit or reset buttons)\n\t\t\treturn $( this.currentForm )\n\t\t\t.find( \"input, select, textarea, [contenteditable]\" )\n\t\t\t.not( \":submit, :reset, :image, :disabled\" )\n\t\t\t.not( this.settings.ignore )\n\t\t\t.filter( function() {\n\t\t\t\tvar name = this.name || $( this ).attr( \"name\" ); // For contenteditable\n\t\t\t\tvar isContentEditable = typeof $( this ).attr( \"contenteditable\" ) !== \"undefined\" && $( this ).attr( \"contenteditable\" ) !== \"false\";\n\n\t\t\t\tif ( !name && validator.settings.debug && window.console ) {\n\t\t\t\t\tconsole.error( \"%o has no name assigned\", this );\n\t\t\t\t}\n\n\t\t\t\t// Set form expando on contenteditable\n\t\t\t\tif ( isContentEditable ) {\n\t\t\t\t\tthis.form = $( this ).closest( \"form\" )[ 0 ];\n\t\t\t\t\tthis.name = name;\n\t\t\t\t}\n\n\t\t\t\t// Ignore elements that belong to other/nested forms\n\t\t\t\tif ( this.form !== validator.currentForm ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Select only the first element for each name, and only those with rules specified\n\t\t\t\tif ( name in rulesCache || !validator.objectLength( $( this ).rules() ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\trulesCache[ name ] = true;\n\t\t\t\treturn true;\n\t\t\t} );\n\t\t},\n\n\t\tclean: function( selector ) {\n\t\t\treturn $( selector )[ 0 ];\n\t\t},\n\n\t\terrors: function() {\n\t\t\tvar errorClass = this.settings.errorClass.split( \" \" ).join( \".\" );\n\t\t\treturn $( this.settings.errorElement + \".\" + errorClass, this.errorContext );\n\t\t},\n\n\t\tresetInternals: function() {\n\t\t\tthis.successList = [];\n\t\t\tthis.errorList = [];\n\t\t\tthis.errorMap = {};\n\t\t\tthis.toShow = $( [] );\n\t\t\tthis.toHide = $( [] );\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.resetInternals();\n\t\t\tthis.currentElements = $( [] );\n\t\t},\n\n\t\tprepareForm: function() {\n\t\t\tthis.reset();\n\t\t\tthis.toHide = this.errors().add( this.containers );\n\t\t},\n\n\t\tprepareElement: function( element ) {\n\t\t\tthis.reset();\n\t\t\tthis.toHide = this.errorsFor( element );\n\t\t},\n\n\t\telementValue: function( element ) {\n\t\t\tvar $element = $( element ),\n\t\t\t\ttype = element.type,\n\t\t\t\tisContentEditable = typeof $element.attr( \"contenteditable\" ) !== \"undefined\" && $element.attr( \"contenteditable\" ) !== \"false\",\n\t\t\t\tval, idx;\n\n\t\t\tif ( type === \"radio\" || type === \"checkbox\" ) {\n\t\t\t\treturn this.findByName( element.name ).filter( \":checked\" ).val();\n\t\t\t} else if ( type === \"number\" && typeof element.validity !== \"undefined\" ) {\n\t\t\t\treturn element.validity.badInput ? \"NaN\" : $element.val();\n\t\t\t}\n\n\t\t\tif ( isContentEditable ) {\n\t\t\t\tval = $element.text();\n\t\t\t} else {\n\t\t\t\tval = $element.val();\n\t\t\t}\n\n\t\t\tif ( type === \"file\" ) {\n\n\t\t\t\t// Modern browser (chrome & safari)\n\t\t\t\tif ( val.substr( 0, 12 ) === \"C:\\\\fakepath\\\\\" ) {\n\t\t\t\t\treturn val.substr( 12 );\n\t\t\t\t}\n\n\t\t\t\t// Legacy browsers\n\t\t\t\t// Unix-based path\n\t\t\t\tidx = val.lastIndexOf( \"/\" );\n\t\t\t\tif ( idx >= 0 ) {\n\t\t\t\t\treturn val.substr( idx + 1 );\n\t\t\t\t}\n\n\t\t\t\t// Windows-based path\n\t\t\t\tidx = val.lastIndexOf( \"\\\\\" );\n\t\t\t\tif ( idx >= 0 ) {\n\t\t\t\t\treturn val.substr( idx + 1 );\n\t\t\t\t}\n\n\t\t\t\t// Just the file name\n\t\t\t\treturn val;\n\t\t\t}\n\n\t\t\tif ( typeof val === \"string\" ) {\n\t\t\t\treturn val.replace( /\\r/g, \"\" );\n\t\t\t}\n\t\t\treturn val;\n\t\t},\n\n\t\tcheck: function( element ) {\n\t\t\telement = this.validationTargetFor( this.clean( element ) );\n\n\t\t\tvar rules = $( element ).rules(),\n\t\t\t\trulesCount = $.map( rules, function( n, i ) {\n\t\t\t\t\treturn i;\n\t\t\t\t} ).length,\n\t\t\t\tdependencyMismatch = false,\n\t\t\t\tval = this.elementValue( element ),\n\t\t\t\tresult, method, rule, normalizer;\n\n\t\t\t// Prioritize the local normalizer defined for this element over the global one\n\t\t\t// if the former exists, otherwise user the global one in case it exists.\n\t\t\tif ( typeof rules.normalizer === \"function\" ) {\n\t\t\t\tnormalizer = rules.normalizer;\n\t\t\t} else if (\ttypeof this.settings.normalizer === \"function\" ) {\n\t\t\t\tnormalizer = this.settings.normalizer;\n\t\t\t}\n\n\t\t\t// If normalizer is defined, then call it to retreive the changed value instead\n\t\t\t// of using the real one.\n\t\t\t// Note that `this` in the normalizer is `element`.\n\t\t\tif ( normalizer ) {\n\t\t\t\tval = normalizer.call( element, val );\n\n\t\t\t\t// Delete the normalizer from rules to avoid treating it as a pre-defined method.\n\t\t\t\tdelete rules.normalizer;\n\t\t\t}\n\n\t\t\tfor ( method in rules ) {\n\t\t\t\trule = { method: method, parameters: rules[ method ] };\n\t\t\t\ttry {\n\t\t\t\t\tresult = $.validator.methods[ method ].call( this, val, element, rule.parameters );\n\n\t\t\t\t\t// If a method indicates that the field is optional and therefore valid,\n\t\t\t\t\t// don't mark it as valid when there are no other rules\n\t\t\t\t\tif ( result === \"dependency-mismatch\" && rulesCount === 1 ) {\n\t\t\t\t\t\tdependencyMismatch = true;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdependencyMismatch = false;\n\n\t\t\t\t\tif ( result === \"pending\" ) {\n\t\t\t\t\t\tthis.toHide = this.toHide.not( this.errorsFor( element ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !result ) {\n\t\t\t\t\t\tthis.formatAndAdd( element, rule );\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\tif ( this.settings.debug && window.console ) {\n\t\t\t\t\t\tconsole.log( \"Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\", e );\n\t\t\t\t\t}\n\t\t\t\t\tif ( e instanceof TypeError ) {\n\t\t\t\t\t\te.message += \". Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\";\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( dependencyMismatch ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( this.objectLength( rules ) ) {\n\t\t\t\tthis.successList.push( element );\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t// Return the custom message for the given element and validation method\n\t\t// specified in the element's HTML5 data attribute\n\t\t// return the generic message if present and no method specific message is present\n\t\tcustomDataMessage: function( element, method ) {\n\t\t\treturn $( element ).data( \"msg\" + method.charAt( 0 ).toUpperCase() +\n\t\t\t\tmethod.substring( 1 ).toLowerCase() ) || $( element ).data( \"msg\" );\n\t\t},\n\n\t\t// Return the custom message for the given element name and validation method\n\t\tcustomMessage: function( name, method ) {\n\t\t\tvar m = this.settings.messages[ name ];\n\t\t\treturn m && ( m.constructor === String ? m : m[ method ] );\n\t\t},\n\n\t\t// Return the first defined argument, allowing empty strings\n\t\tfindDefined: function() {\n\t\t\tfor ( var i = 0; i < arguments.length; i++ ) {\n\t\t\t\tif ( arguments[ i ] !== undefined ) {\n\t\t\t\t\treturn arguments[ i ];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\n\t\t// The second parameter 'rule' used to be a string, and extended to an object literal\n\t\t// of the following form:\n\t\t// rule = {\n\t\t// method: \"method name\",\n\t\t// parameters: \"the given method parameters\"\n\t\t// }\n\t\t//\n\t\t// The old behavior still supported, kept to maintain backward compatibility with\n\t\t// old code, and will be removed in the next major release.\n\t\tdefaultMessage: function( element, rule ) {\n\t\t\tif ( typeof rule === \"string\" ) {\n\t\t\t\trule = { method: rule };\n\t\t\t}\n\n\t\t\tvar message = this.findDefined(\n\t\t\t\t\tthis.customMessage( element.name, rule.method ),\n\t\t\t\t\tthis.customDataMessage( element, rule.method ),\n\n\t\t\t\t\t// 'title' is never undefined, so handle empty string as undefined\n\t\t\t\t\t!this.settings.ignoreTitle && element.title || undefined,\n\t\t\t\t\t$.validator.messages[ rule.method ],\n\t\t\t\t\t\"<strong>Warning: No message defined for \" + element.name + \"</strong>\"\n\t\t\t\t),\n\t\t\t\ttheregex = /\\$?\\{(\\d+)\\}/g;\n\t\t\tif ( typeof message === \"function\" ) {\n\t\t\t\tmessage = message.call( this, rule.parameters, element );\n\t\t\t} else if ( theregex.test( message ) ) {\n\t\t\t\tmessage = $.validator.format( message.replace( theregex, \"{$1}\" ), rule.parameters );\n\t\t\t}\n\n\t\t\treturn message;\n\t\t},\n\n\t\tformatAndAdd: function( element, rule ) {\n\t\t\tvar message = this.defaultMessage( element, rule );\n\n\t\t\tthis.errorList.push( {\n\t\t\t\tmessage: message,\n\t\t\t\telement: element,\n\t\t\t\tmethod: rule.method\n\t\t\t} );\n\n\t\t\tthis.errorMap[ element.name ] = message;\n\t\t\tthis.submitted[ element.name ] = message;\n\t\t},\n\n\t\taddWrapper: function( toToggle ) {\n\t\t\tif ( this.settings.wrapper ) {\n\t\t\t\ttoToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) );\n\t\t\t}\n\t\t\treturn toToggle;\n\t\t},\n\n\t\tdefaultShowErrors: function() {\n\t\t\tvar i, elements, error;\n\t\t\tfor ( i = 0; this.errorList[ i ]; i++ ) {\n\t\t\t\terror = this.errorList[ i ];\n\t\t\t\tif ( this.settings.highlight ) {\n\t\t\t\t\tthis.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass );\n\t\t\t\t}\n\t\t\t\tthis.showLabel( error.element, error.message );\n\t\t\t}\n\t\t\tif ( this.errorList.length ) {\n\t\t\t\tthis.toShow = this.toShow.add( this.containers );\n\t\t\t}\n\t\t\tif ( this.settings.success ) {\n\t\t\t\tfor ( i = 0; this.successList[ i ]; i++ ) {\n\t\t\t\t\tthis.showLabel( this.successList[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( this.settings.unhighlight ) {\n\t\t\t\tfor ( i = 0, elements = this.validElements(); elements[ i ]; i++ ) {\n\t\t\t\t\tthis.settings.unhighlight.call( this, elements[ i ], this.settings.errorClass, this.settings.validClass );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.toHide = this.toHide.not( this.toShow );\n\t\t\tthis.hideErrors();\n\t\t\tthis.addWrapper( this.toShow ).show();\n\t\t},\n\n\t\tvalidElements: function() {\n\t\t\treturn this.currentElements.not( this.invalidElements() );\n\t\t},\n\n\t\tinvalidElements: function() {\n\t\t\treturn $( this.errorList ).map( function() {\n\t\t\t\treturn this.element;\n\t\t\t} );\n\t\t},\n\n\t\tshowLabel: function( element, message ) {\n\t\t\tvar place, group, errorID, v,\n\t\t\t\terror = this.errorsFor( element ),\n\t\t\t\telementID = this.idOrName( element ),\n\t\t\t\tdescribedBy = $( element ).attr( \"aria-describedby\" );\n\n\t\t\tif ( error.length ) {\n\n\t\t\t\t// Refresh error/success class\n\t\t\t\terror.removeClass( this.settings.validClass ).addClass( this.settings.errorClass );\n\n\t\t\t\t// Replace message on existing label\n\t\t\t\terror.html( message );\n\t\t\t} else {\n\n\t\t\t\t// Create error element\n\t\t\t\terror = $( \"<\" + this.settings.errorElement + \">\" )\n\t\t\t\t\t.attr( \"id\", elementID + \"-error\" )\n\t\t\t\t\t.addClass( this.settings.errorClass )\n\t\t\t\t\t.html( message || \"\" );\n\n\t\t\t\t// Maintain reference to the element to be placed into the DOM\n\t\t\t\tplace = error;\n\t\t\t\tif ( this.settings.wrapper ) {\n\n\t\t\t\t\t// Make sure the element is visible, even in IE\n\t\t\t\t\t// actually showing the wrapped element is handled elsewhere\n\t\t\t\t\tplace = error.hide().show().wrap( \"<\" + this.settings.wrapper + \"/>\" ).parent();\n\t\t\t\t}\n\t\t\t\tif ( this.labelContainer.length ) {\n\t\t\t\t\tthis.labelContainer.append( place );\n\t\t\t\t} else if ( this.settings.errorPlacement ) {\n\t\t\t\t\tthis.settings.errorPlacement.call( this, place, $( element ) );\n\t\t\t\t} else {\n\t\t\t\t\tplace.insertAfter( element );\n\t\t\t\t}\n\n\t\t\t\t// Link error back to the element\n\t\t\t\tif ( error.is( \"label\" ) ) {\n\n\t\t\t\t\t// If the error is a label, then associate using 'for'\n\t\t\t\t\terror.attr( \"for\", elementID );\n\n\t\t\t\t\t// If the element is not a child of an associated label, then it's necessary\n\t\t\t\t\t// to explicitly apply aria-describedby\n\t\t\t\t} else if ( error.parents( \"label[for='\" + this.escapeCssMeta( elementID ) + \"']\" ).length === 0 ) {\n\t\t\t\t\terrorID = error.attr( \"id\" );\n\n\t\t\t\t\t// Respect existing non-error aria-describedby\n\t\t\t\t\tif ( !describedBy ) {\n\t\t\t\t\t\tdescribedBy = errorID;\n\t\t\t\t\t} else if ( !describedBy.match( new RegExp( \"\\\\b\" + this.escapeCssMeta( errorID ) + \"\\\\b\" ) ) ) {\n\n\t\t\t\t\t\t// Add to end of list if not already present\n\t\t\t\t\t\tdescribedBy += \" \" + errorID;\n\t\t\t\t\t}\n\t\t\t\t\t$( element ).attr( \"aria-describedby\", describedBy );\n\n\t\t\t\t\t// If this element is grouped, then assign to all elements in the same group\n\t\t\t\t\tgroup = this.groups[ element.name ];\n\t\t\t\t\tif ( group ) {\n\t\t\t\t\t\tv = this;\n\t\t\t\t\t\t$.each( v.groups, function( name, testgroup ) {\n\t\t\t\t\t\t\tif ( testgroup === group ) {\n\t\t\t\t\t\t\t\t$( \"[name='\" + v.escapeCssMeta( name ) + \"']\", v.currentForm )\n\t\t\t\t\t\t\t\t\t.attr( \"aria-describedby\", error.attr( \"id\" ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( !message && this.settings.success ) {\n\t\t\t\terror.text( \"\" );\n\t\t\t\tif ( typeof this.settings.success === \"string\" ) {\n\t\t\t\t\terror.addClass( this.settings.success );\n\t\t\t\t} else {\n\t\t\t\t\tthis.settings.success( error, element );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.toShow = this.toShow.add( error );\n\t\t},\n\n\t\terrorsFor: function( element ) {\n\t\t\tvar name = this.escapeCssMeta( this.idOrName( element ) ),\n\t\t\t\tdescriber = $( element ).attr( \"aria-describedby\" ),\n\t\t\t\tselector = \"label[for='\" + name + \"'], label[for='\" + name + \"'] *\";\n\n\t\t\t// 'aria-describedby' should directly reference the error element\n\t\t\tif ( describer ) {\n\t\t\t\tselector = selector + \", #\" + this.escapeCssMeta( describer )\n\t\t\t\t\t.replace( /\\s+/g, \", #\" );\n\t\t\t}\n\n\t\t\treturn this\n\t\t\t\t.errors()\n\t\t\t\t.filter( selector );\n\t\t},\n\n\t\t// See https://api.jquery.com/category/selectors/, for CSS\n\t\t// meta-characters that should be escaped in order to be used with JQuery\n\t\t// as a literal part of a name/id or any selector.\n\t\tescapeCssMeta: function( string ) {\n\t\t\tif ( string === undefined ) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\treturn string.replace( /([\\\\!\"#$%&'()*+,./:;<=>?@\\[\\]^`{|}~])/g, \"\\\\$1\" );\n\t\t},\n\n\t\tidOrName: function( element ) {\n\t\t\treturn this.groups[ element.name ] || ( this.checkable( element ) ? element.name : element.id || element.name );\n\t\t},\n\n\t\tvalidationTargetFor: function( element ) {\n\n\t\t\t// If radio/checkbox, validate first element in group instead\n\t\t\tif ( this.checkable( element ) ) {\n\t\t\t\telement = this.findByName( element.name );\n\t\t\t}\n\n\t\t\t// Always apply ignore filter\n\t\t\treturn $( element ).not( this.settings.ignore )[ 0 ];\n\t\t},\n\n\t\tcheckable: function( element ) {\n\t\t\treturn ( /radio|checkbox/i ).test( element.type );\n\t\t},\n\n\t\tfindByName: function( name ) {\n\t\t\treturn $( this.currentForm ).find( \"[name='\" + this.escapeCssMeta( name ) + \"']\" );\n\t\t},\n\n\t\tgetLength: function( value, element ) {\n\t\t\tswitch ( element.nodeName.toLowerCase() ) {\n\t\t\tcase \"select\":\n\t\t\t\treturn $( \"option:selected\", element ).length;\n\t\t\tcase \"input\":\n\t\t\t\tif ( this.checkable( element ) ) {\n\t\t\t\t\treturn this.findByName( element.name ).filter( \":checked\" ).length;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value.length;\n\t\t},\n\n\t\tdepend: function( param, element ) {\n\t\t\treturn this.dependTypes[ typeof param ] ? this.dependTypes[ typeof param ]( param, element ) : true;\n\t\t},\n\n\t\tdependTypes: {\n\t\t\t\"boolean\": function( param ) {\n\t\t\t\treturn param;\n\t\t\t},\n\t\t\t\"string\": function( param, element ) {\n\t\t\t\treturn !!$( param, element.form ).length;\n\t\t\t},\n\t\t\t\"function\": function( param, element ) {\n\t\t\t\treturn param( element );\n\t\t\t}\n\t\t},\n\n\t\toptional: function( element ) {\n\t\t\tvar val = this.elementValue( element );\n\t\t\treturn !$.validator.methods.required.call( this, val, element ) && \"dependency-mismatch\";\n\t\t},\n\n\t\tstartRequest: function( element ) {\n\t\t\tif ( !this.pending[ element.name ] ) {\n\t\t\t\tthis.pendingRequest++;\n\t\t\t\t$( element ).addClass( this.settings.pendingClass );\n\t\t\t\tthis.pending[ element.name ] = true;\n\t\t\t}\n\t\t},\n\n\t\tstopRequest: function( element, valid ) {\n\t\t\tthis.pendingRequest--;\n\n\t\t\t// Sometimes synchronization fails, make sure pendingRequest is never < 0\n\t\t\tif ( this.pendingRequest < 0 ) {\n\t\t\t\tthis.pendingRequest = 0;\n\t\t\t}\n\t\t\tdelete this.pending[ element.name ];\n\t\t\t$( element ).removeClass( this.settings.pendingClass );\n\t\t\tif ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() && this.pendingRequest === 0 ) {\n\t\t\t\t$( this.currentForm ).trigger( \"submit\" );\n\n\t\t\t\t// Remove the hidden input that was used as a replacement for the\n\t\t\t\t// missing submit button. The hidden input is added by `handle()`\n\t\t\t\t// to ensure that the value of the used submit button is passed on\n\t\t\t\t// for scripted submits triggered by this method\n\t\t\t\tif ( this.submitButton ) {\n\t\t\t\t\t$( \"input:hidden[name='\" + this.submitButton.name + \"']\", this.currentForm ).remove();\n\t\t\t\t}\n\n\t\t\t\tthis.formSubmitted = false;\n\t\t\t} else if ( !valid && this.pendingRequest === 0 && this.formSubmitted ) {\n\t\t\t\t$( this.currentForm ).triggerHandler( \"invalid-form\", [ this ] );\n\t\t\t\tthis.formSubmitted = false;\n\t\t\t}\n\t\t},\n\n\t\tpreviousValue: function( element, method ) {\n\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\n\n\t\t\treturn $.data( element, \"previousValue\" ) || $.data( element, \"previousValue\", {\n\t\t\t\told: null,\n\t\t\t\tvalid: true,\n\t\t\t\tmessage: this.defaultMessage( element, { method: method } )\n\t\t\t} );\n\t\t},\n\n\t\t// Cleans up all forms and elements, removes validator-specific events\n\t\tdestroy: function() {\n\t\t\tthis.resetForm();\n\n\t\t\t$( this.currentForm )\n\t\t\t\t.off( \".validate\" )\n\t\t\t\t.removeData( \"validator\" )\n\t\t\t\t.find( \".validate-equalTo-blur\" )\n\t\t\t\t\t.off( \".validate-equalTo\" )\n\t\t\t\t\t.removeClass( \"validate-equalTo-blur\" )\n\t\t\t\t.find( \".validate-lessThan-blur\" )\n\t\t\t\t\t.off( \".validate-lessThan\" )\n\t\t\t\t\t.removeClass( \"validate-lessThan-blur\" )\n\t\t\t\t.find( \".validate-lessThanEqual-blur\" )\n\t\t\t\t\t.off( \".validate-lessThanEqual\" )\n\t\t\t\t\t.removeClass( \"validate-lessThanEqual-blur\" )\n\t\t\t\t.find( \".validate-greaterThanEqual-blur\" )\n\t\t\t\t\t.off( \".validate-greaterThanEqual\" )\n\t\t\t\t\t.removeClass( \"validate-greaterThanEqual-blur\" )\n\t\t\t\t.find( \".validate-greaterThan-blur\" )\n\t\t\t\t\t.off( \".validate-greaterThan\" )\n\t\t\t\t\t.removeClass( \"validate-greaterThan-blur\" );\n\t\t}\n\n\t},\n\n\tclassRuleSettings: {\n\t\trequired: { required: true },\n\t\temail: { email: true },\n\t\turl: { url: true },\n\t\tdate: { date: true },\n\t\tdateISO: { dateISO: true },\n\t\tnumber: { number: true },\n\t\tdigits: { digits: true },\n\t\tcreditcard: { creditcard: true }\n\t},\n\n\taddClassRules: function( className, rules ) {\n\t\tif ( className.constructor === String ) {\n\t\t\tthis.classRuleSettings[ className ] = rules;\n\t\t} else {\n\t\t\t$.extend( this.classRuleSettings, className );\n\t\t}\n\t},\n\n\tclassRules: function( element ) {\n\t\tvar rules = {},\n\t\t\tclasses = $( element ).attr( \"class\" );\n\n\t\tif ( classes ) {\n\t\t\t$.each( classes.split( \" \" ), function() {\n\t\t\t\tif ( this in $.validator.classRuleSettings ) {\n\t\t\t\t\t$.extend( rules, $.validator.classRuleSettings[ this ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn rules;\n\t},\n\n\tnormalizeAttributeRule: function( rules, type, method, value ) {\n\n\t\t// Convert the value to a number for number inputs, and for text for backwards compability\n\t\t// allows type=\"date\" and others to be compared as strings\n\t\tif ( /min|max|step/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) {\n\t\t\tvalue = Number( value );\n\n\t\t\t// Support Opera Mini, which returns NaN for undefined minlength\n\t\t\tif ( isNaN( value ) ) {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\t\t}\n\n\t\tif ( value || value === 0 ) {\n\t\t\trules[ method ] = value;\n\t\t} else if ( type === method && type !== \"range\" ) {\n\n\t\t\t// Exception: the jquery validate 'range' method\n\t\t\t// does not test for the html5 'range' type\n\t\t\trules[ type === \"date\" ? \"dateISO\" : method ] = true;\n\t\t}\n\t},\n\n\tattributeRules: function( element ) {\n\t\tvar rules = {},\n\t\t\t$element = $( element ),\n\t\t\ttype = element.getAttribute( \"type\" ),\n\t\t\tmethod, value;\n\n\t\tfor ( method in $.validator.methods ) {\n\n\t\t\t// Support for <input required> in both html5 and older browsers\n\t\t\tif ( method === \"required\" ) {\n\t\t\t\tvalue = element.getAttribute( method );\n\n\t\t\t\t// Some browsers return an empty string for the required attribute\n\t\t\t\t// and non-HTML5 browsers might have required=\"\" markup\n\t\t\t\tif ( value === \"\" ) {\n\t\t\t\t\tvalue = true;\n\t\t\t\t}\n\n\t\t\t\t// Force non-HTML5 browsers to return bool\n\t\t\t\tvalue = !!value;\n\t\t\t} else {\n\t\t\t\tvalue = $element.attr( method );\n\t\t\t}\n\n\t\t\tthis.normalizeAttributeRule( rules, type, method, value );\n\t\t}\n\n\t\t// 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs\n\t\tif ( rules.maxlength && /-1|2147483647|524288/.test( rules.maxlength ) ) {\n\t\t\tdelete rules.maxlength;\n\t\t}\n\n\t\treturn rules;\n\t},\n\n\tdataRules: function( element ) {\n\t\tvar rules = {},\n\t\t\t$element = $( element ),\n\t\t\ttype = element.getAttribute( \"type\" ),\n\t\t\tmethod, value;\n\n\t\tfor ( method in $.validator.methods ) {\n\t\t\tvalue = $element.data( \"rule\" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() );\n\n\t\t\t// Cast empty attributes like `data-rule-required` to `true`\n\t\t\tif ( value === \"\" ) {\n\t\t\t\tvalue = true;\n\t\t\t}\n\n\t\t\tthis.normalizeAttributeRule( rules, type, method, value );\n\t\t}\n\t\treturn rules;\n\t},\n\n\tstaticRules: function( element ) {\n\t\tvar rules = {},\n\t\t\tvalidator = $.data( element.form, \"validator\" );\n\n\t\tif ( validator.settings.rules ) {\n\t\t\trules = $.validator.normalizeRule( validator.settings.rules[ element.name ] ) || {};\n\t\t}\n\t\treturn rules;\n\t},\n\n\tnormalizeRules: function( rules, element ) {\n\n\t\t// Handle dependency check\n\t\t$.each( rules, function( prop, val ) {\n\n\t\t\t// Ignore rule when param is explicitly false, eg. required:false\n\t\t\tif ( val === false ) {\n\t\t\t\tdelete rules[ prop ];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( val.param || val.depends ) {\n\t\t\t\tvar keepRule = true;\n\t\t\t\tswitch ( typeof val.depends ) {\n\t\t\t\tcase \"string\":\n\t\t\t\t\tkeepRule = !!$( val.depends, element.form ).length;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"function\":\n\t\t\t\t\tkeepRule = val.depends.call( element, element );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( keepRule ) {\n\t\t\t\t\trules[ prop ] = val.param !== undefined ? val.param : true;\n\t\t\t\t} else {\n\t\t\t\t\t$.data( element.form, \"validator\" ).resetElements( $( element ) );\n\t\t\t\t\tdelete rules[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Evaluate parameters\n\t\t$.each( rules, function( rule, parameter ) {\n\t\t\trules[ rule ] = typeof parameter === \"function\" && rule !== \"normalizer\" ? parameter( element ) : parameter;\n\t\t} );\n\n\t\t// Clean number parameters\n\t\t$.each( [ \"minlength\", \"maxlength\" ], function() {\n\t\t\tif ( rules[ this ] ) {\n\t\t\t\trules[ this ] = Number( rules[ this ] );\n\t\t\t}\n\t\t} );\n\t\t$.each( [ \"rangelength\", \"range\" ], function() {\n\t\t\tvar parts;\n\t\t\tif ( rules[ this ] ) {\n\t\t\t\tif ( Array.isArray( rules[ this ] ) ) {\n\t\t\t\t\trules[ this ] = [ Number( rules[ this ][ 0 ] ), Number( rules[ this ][ 1 ] ) ];\n\t\t\t\t} else if ( typeof rules[ this ] === \"string\" ) {\n\t\t\t\t\tparts = rules[ this ].replace( /[\\[\\]]/g, \"\" ).split( /[\\s,]+/ );\n\t\t\t\t\trules[ this ] = [ Number( parts[ 0 ] ), Number( parts[ 1 ] ) ];\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tif ( $.validator.autoCreateRanges ) {\n\n\t\t\t// Auto-create ranges\n\t\t\tif ( rules.min != null && rules.max != null ) {\n\t\t\t\trules.range = [ rules.min, rules.max ];\n\t\t\t\tdelete rules.min;\n\t\t\t\tdelete rules.max;\n\t\t\t}\n\t\t\tif ( rules.minlength != null && rules.maxlength != null ) {\n\t\t\t\trules.rangelength = [ rules.minlength, rules.maxlength ];\n\t\t\t\tdelete rules.minlength;\n\t\t\t\tdelete rules.maxlength;\n\t\t\t}\n\t\t}\n\n\t\treturn rules;\n\t},\n\n\t// Converts a simple string to a {string: true} rule, e.g., \"required\" to {required:true}\n\tnormalizeRule: function( data ) {\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tvar transformed = {};\n\t\t\t$.each( data.split( /\\s/ ), function() {\n\t\t\t\ttransformed[ this ] = true;\n\t\t\t} );\n\t\t\tdata = transformed;\n\t\t}\n\t\treturn data;\n\t},\n\n\t// https://jqueryvalidation.org/jQuery.validator.addMethod/\n\taddMethod: function( name, method, message ) {\n\t\t$.validator.methods[ name ] = method;\n\t\t$.validator.messages[ name ] = message !== undefined ? message : $.validator.messages[ name ];\n\t\tif ( method.length < 3 ) {\n\t\t\t$.validator.addClassRules( name, $.validator.normalizeRule( name ) );\n\t\t}\n\t},\n\n\t// https://jqueryvalidation.org/jQuery.validator.methods/\n\tmethods: {\n\n\t\t// https://jqueryvalidation.org/required-method/\n\t\trequired: function( value, element, param ) {\n\n\t\t\t// Check if dependency is met\n\t\t\tif ( !this.depend( param, element ) ) {\n\t\t\t\treturn \"dependency-mismatch\";\n\t\t\t}\n\t\t\tif ( element.nodeName.toLowerCase() === \"select\" ) {\n\n\t\t\t\t// Could be an array for select-multiple or a string, both are fine this way\n\t\t\t\tvar val = $( element ).val();\n\t\t\t\treturn val && val.length > 0;\n\t\t\t}\n\t\t\tif ( this.checkable( element ) ) {\n\t\t\t\treturn this.getLength( value, element ) > 0;\n\t\t\t}\n\t\t\treturn value !== undefined && value !== null && value.length > 0;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/email-method/\n\t\temail: function( value, element ) {\n\n\t\t\t// From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\n\t\t\t// Retrieved 2014-01-14\n\t\t\t// If you have a problem with this implementation, report a bug against the above spec\n\t\t\t// Or use custom methods to implement your own email validation\n\t\t\treturn this.optional( element ) || /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/url-method/\n\t\turl: function( value, element ) {\n\n\t\t\t// Copyright (c) 2010-2013 Diego Perini, MIT licensed\n\t\t\t// https://gist.github.com/dperini/729294\n\t\t\t// see also https://mathiasbynens.be/demo/url-regex\n\t\t\t// modified to allow protocol-relative URLs\n\t\t\treturn this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[^\\]\\[?\\/<~#`!@$^&*()+=}|:\";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\\]\\[?\\/<~#`!@$^&*()+=}|:\";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/date-method/\n\t\tdate: ( function() {\n\t\t\tvar called = false;\n\n\t\t\treturn function( value, element ) {\n\t\t\t\tif ( !called ) {\n\t\t\t\t\tcalled = true;\n\t\t\t\t\tif ( this.settings.debug && window.console ) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"The `date` method is deprecated and will be removed in version '2.0.0'.\\n\" +\n\t\t\t\t\t\t\t\"Please don't use it, since it relies on the Date constructor, which\\n\" +\n\t\t\t\t\t\t\t\"behaves very differently across browsers and locales. Use `dateISO`\\n\" +\n\t\t\t\t\t\t\t\"instead or one of the locale specific methods in `localizations/`\\n\" +\n\t\t\t\t\t\t\t\"and `additional-methods.js`.\"\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() );\n\t\t\t};\n\t\t}() ),\n\n\t\t// https://jqueryvalidation.org/dateISO-method/\n\t\tdateISO: function( value, element ) {\n\t\t\treturn this.optional( element ) || /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/number-method/\n\t\tnumber: function( value, element ) {\n\t\t\treturn this.optional( element ) || /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/digits-method/\n\t\tdigits: function( value, element ) {\n\t\t\treturn this.optional( element ) || /^\\d+$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/minlength-method/\n\t\tminlength: function( value, element, param ) {\n\t\t\tvar length = Array.isArray( value ) ? value.length : this.getLength( value, element );\n\t\t\treturn this.optional( element ) || length >= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/maxlength-method/\n\t\tmaxlength: function( value, element, param ) {\n\t\t\tvar length = Array.isArray( value ) ? value.length : this.getLength( value, element );\n\t\t\treturn this.optional( element ) || length <= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/rangelength-method/\n\t\trangelength: function( value, element, param ) {\n\t\t\tvar length = Array.isArray( value ) ? value.length : this.getLength( value, element );\n\t\t\treturn this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/min-method/\n\t\tmin: function( value, element, param ) {\n\t\t\treturn this.optional( element ) || value >= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/max-method/\n\t\tmax: function( value, element, param ) {\n\t\t\treturn this.optional( element ) || value <= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/range-method/\n\t\trange: function( value, element, param ) {\n\t\t\treturn this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/step-method/\n\t\tstep: function( value, element, param ) {\n\t\t\tvar type = $( element ).attr( \"type\" ),\n\t\t\t\terrorMessage = \"Step attribute on input type \" + type + \" is not supported.\",\n\t\t\t\tsupportedTypes = [ \"text\", \"number\", \"range\" ],\n\t\t\t\tre = new RegExp( \"\\\\b\" + type + \"\\\\b\" ),\n\t\t\t\tnotSupported = type && !re.test( supportedTypes.join() ),\n\t\t\t\tdecimalPlaces = function( num ) {\n\t\t\t\t\tvar match = ( \"\" + num ).match( /(?:\\.(\\d+))?$/ );\n\t\t\t\t\tif ( !match ) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Number of digits right of decimal point.\n\t\t\t\t\treturn match[ 1 ] ? match[ 1 ].length : 0;\n\t\t\t\t},\n\t\t\t\ttoInt = function( num ) {\n\t\t\t\t\treturn Math.round( num * Math.pow( 10, decimals ) );\n\t\t\t\t},\n\t\t\t\tvalid = true,\n\t\t\t\tdecimals;\n\n\t\t\t// Works only for text, number and range input types\n\t\t\t// TODO find a way to support input types date, datetime, datetime-local, month, time and week\n\t\t\tif ( notSupported ) {\n\t\t\t\tthrow new Error( errorMessage );\n\t\t\t}\n\n\t\t\tdecimals = decimalPlaces( param );\n\n\t\t\t// Value can't have too many decimals\n\t\t\tif ( decimalPlaces( value ) > decimals || toInt( value ) % toInt( param ) !== 0 ) {\n\t\t\t\tvalid = false;\n\t\t\t}\n\n\t\t\treturn this.optional( element ) || valid;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/equalTo-method/\n\t\tequalTo: function( value, element, param ) {\n\n\t\t\t// Bind to the blur event of the target in order to revalidate whenever the target field is updated\n\t\t\tvar target = $( param );\n\t\t\tif ( this.settings.onfocusout && target.not( \".validate-equalTo-blur\" ).length ) {\n\t\t\t\ttarget.addClass( \"validate-equalTo-blur\" ).on( \"blur.validate-equalTo\", function() {\n\t\t\t\t\t$( element ).valid();\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn value === target.val();\n\t\t},\n\n\t\t// https://jqueryvalidation.org/remote-method/\n\t\tremote: function( value, element, param, method ) {\n\t\t\tif ( this.optional( element ) ) {\n\t\t\t\treturn \"dependency-mismatch\";\n\t\t\t}\n\n\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\n\n\t\t\tvar previous = this.previousValue( element, method ),\n\t\t\t\tvalidator, data, optionDataString;\n\n\t\t\tif ( !this.settings.messages[ element.name ] ) {\n\t\t\t\tthis.settings.messages[ element.name ] = {};\n\t\t\t}\n\t\t\tprevious.originalMessage = previous.originalMessage || this.settings.messages[ element.name ][ method ];\n\t\t\tthis.settings.messages[ element.name ][ method ] = previous.message;\n\n\t\t\tparam = typeof param === \"string\" && { url: param } || param;\n\t\t\toptionDataString = $.param( $.extend( { data: value }, param.data ) );\n\t\t\tif ( previous.old === optionDataString ) {\n\t\t\t\treturn previous.valid;\n\t\t\t}\n\n\t\t\tprevious.old = optionDataString;\n\t\t\tvalidator = this;\n\t\t\tthis.startRequest( element );\n\t\t\tdata = {};\n\t\t\tdata[ element.name ] = value;\n\t\t\t$.ajax( $.extend( true, {\n\t\t\t\tmode: \"abort\",\n\t\t\t\tport: \"validate\" + element.name,\n\t\t\t\tdataType: \"json\",\n\t\t\t\tdata: data,\n\t\t\t\tcontext: validator.currentForm,\n\t\t\t\tsuccess: function( response ) {\n\t\t\t\t\tvar valid = response === true || response === \"true\",\n\t\t\t\t\t\terrors, message, submitted;\n\n\t\t\t\t\tvalidator.settings.messages[ element.name ][ method ] = previous.originalMessage;\n\t\t\t\t\tif ( valid ) {\n\t\t\t\t\t\tsubmitted = validator.formSubmitted;\n\t\t\t\t\t\tvalidator.resetInternals();\n\t\t\t\t\t\tvalidator.toHide = validator.errorsFor( element );\n\t\t\t\t\t\tvalidator.formSubmitted = submitted;\n\t\t\t\t\t\tvalidator.successList.push( element );\n\t\t\t\t\t\tvalidator.invalid[ element.name ] = false;\n\t\t\t\t\t\tvalidator.showErrors();\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors = {};\n\t\t\t\t\t\tmessage = response || validator.defaultMessage( element, { method: method, parameters: value } );\n\t\t\t\t\t\terrors[ element.name ] = previous.message = message;\n\t\t\t\t\t\tvalidator.invalid[ element.name ] = true;\n\t\t\t\t\t\tvalidator.showErrors( errors );\n\t\t\t\t\t}\n\t\t\t\t\tprevious.valid = valid;\n\t\t\t\t\tvalidator.stopRequest( element, valid );\n\t\t\t\t}\n\t\t\t}, param ) );\n\t\t\treturn \"pending\";\n\t\t}\n\t}\n\n} );\n\n// Ajax mode: abort\n// usage: $.ajax({ mode: \"abort\"[, port: \"uniqueport\"]});\n// if mode:\"abort\" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()\n\nvar pendingRequests = {},\n\tajax;\n\n// Use a prefilter if available (1.5+)\nif ( $.ajaxPrefilter ) {\n\t$.ajaxPrefilter( function( settings, _, xhr ) {\n\t\tvar port = settings.port;\n\t\tif ( settings.mode === \"abort\" ) {\n\t\t\tif ( pendingRequests[ port ] ) {\n\t\t\t\tpendingRequests[ port ].abort();\n\t\t\t}\n\t\t\tpendingRequests[ port ] = xhr;\n\t\t}\n\t} );\n} else {\n\n\t// Proxy ajax\n\tajax = $.ajax;\n\t$.ajax = function( settings ) {\n\t\tvar mode = ( \"mode\" in settings ? settings : $.ajaxSettings ).mode,\n\t\t\tport = ( \"port\" in settings ? settings : $.ajaxSettings ).port;\n\t\tif ( mode === \"abort\" ) {\n\t\t\tif ( pendingRequests[ port ] ) {\n\t\t\t\tpendingRequests[ port ].abort();\n\t\t\t}\n\t\t\tpendingRequests[ port ] = ajax.apply( this, arguments );\n\t\t\treturn pendingRequests[ port ];\n\t\t}\n\t\treturn ajax.apply( this, arguments );\n\t};\n}\nreturn $;\n}));","(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\tdefine( [\"jquery\", \"../jquery.validate\"], factory );\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\tmodule.exports = factory( require( \"jquery\" ) );\n\t} else {\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n/*\n * Translated default messages for the jQuery validation plugin.\n * Locale: RU (Russian; русский язык)\n */\n$.extend( $.validator.messages, {\n\trequired: \"Это поле необходимо заполнить.\",\n\tremote: \"Пожалуйста, введите правильное значение.\",\n\temail: \"Пожалуйста, введите корректный адрес электронной почты.\",\n\turl: \"Пожалуйста, введите корректный URL.\",\n\tdate: \"Пожалуйста, введите корректную дату.\",\n\tdateISO: \"Пожалуйста, введите корректную дату в формате ISO.\",\n\tnumber: \"Пожалуйста, введите число.\",\n\tdigits: \"Пожалуйста, вводите только цифры.\",\n\tcreditcard: \"Пожалуйста, введите правильный номер кредитной карты.\",\n\tequalTo: \"Пожалуйста, введите такое же значение ещё раз.\",\n\textension: \"Пожалуйста, выберите файл с правильным расширением.\",\n\tmaxlength: $.validator.format( \"Пожалуйста, введите не больше {0} символов.\" ),\n\tminlength: $.validator.format( \"Пожалуйста, введите не меньше {0} символов.\" ),\n\trangelength: $.validator.format( \"Пожалуйста, введите значение длиной от {0} до {1} символов.\" ),\n\trange: $.validator.format( \"Пожалуйста, введите число от {0} до {1}.\" ),\n\tmax: $.validator.format( \"Пожалуйста, введите число, меньшее или равное {0}.\" ),\n\tmin: $.validator.format( \"Пожалуйста, введите число, большее или равное {0}.\" )\n} );\nreturn $;\n}));","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/*! jssocials - v1.5.0 - 2017-04-30\n* http://js-socials.com\n* Copyright (c) 2017 Artem Tabalin; Licensed MIT */\n(function(window, $, undefined) {\n\n var JSSOCIALS = \"JSSocials\",\n JSSOCIALS_DATA_KEY = JSSOCIALS;\n\n var getOrApply = function(value, context) {\n if($.isFunction(value)) {\n return value.apply(context, $.makeArray(arguments).slice(2));\n }\n return value;\n };\n\n var IMG_SRC_REGEX = /(\\.(jpeg|png|gif|bmp|svg)$|^data:image\\/(jpeg|png|gif|bmp|svg\\+xml);base64)/i;\n var URL_PARAMS_REGEX = /(&?[a-zA-Z0-9]+=)?\\{([a-zA-Z0-9]+)\\}/g;\n\n var MEASURES = {\n \"G\": 1000000000,\n \"M\": 1000000,\n \"K\": 1000\n };\n\n var shares = {};\n\n function Socials(element, config) {\n var $element = $(element);\n\n $element.data(JSSOCIALS_DATA_KEY, this);\n\n this._$element = $element;\n\n this.shares = [];\n\n this._init(config);\n this._render();\n }\n\n Socials.prototype = {\n url: \"\",\n text: \"\",\n shareIn: \"blank\",\n\n showLabel: function(screenWidth) {\n return (this.showCount === false) ?\n (screenWidth > this.smallScreenWidth) :\n (screenWidth >= this.largeScreenWidth);\n },\n\n showCount: function(screenWidth) {\n return (screenWidth <= this.smallScreenWidth) ? \"inside\" : true;\n },\n\n smallScreenWidth: 640,\n largeScreenWidth: 1024,\n\n resizeTimeout: 200,\n\n elementClass: \"jssocials\",\n sharesClass: \"jssocials-shares\",\n shareClass: \"jssocials-share\",\n shareButtonClass: \"jssocials-share-button\",\n shareLinkClass: \"jssocials-share-link\",\n shareLogoClass: \"jssocials-share-logo\",\n shareLabelClass: \"jssocials-share-label\",\n shareLinkCountClass: \"jssocials-share-link-count\",\n shareCountBoxClass: \"jssocials-share-count-box\",\n shareCountClass: \"jssocials-share-count\",\n shareZeroCountClass: \"jssocials-share-no-count\",\n\n _init: function(config) {\n this._initDefaults();\n $.extend(this, config);\n this._initShares();\n this._attachWindowResizeCallback();\n },\n\n _initDefaults: function() {\n this.url = window.location.href;\n this.text = $.trim($(\"meta[name=description]\").attr(\"content\") || $(\"title\").text());\n },\n\n _initShares: function() {\n this.shares = $.map(this.shares, $.proxy(function(shareConfig) {\n if(typeof shareConfig === \"string\") {\n shareConfig = { share: shareConfig };\n }\n\n var share = (shareConfig.share && shares[shareConfig.share]);\n\n if(!share && !shareConfig.renderer) {\n throw Error(\"Share '\" + shareConfig.share + \"' is not found\");\n }\n\n return $.extend({ url: this.url, text: this.text }, share, shareConfig);\n }, this));\n },\n\n _attachWindowResizeCallback: function() {\n $(window).on(\"resize\", $.proxy(this._windowResizeHandler, this));\n },\n\n _detachWindowResizeCallback: function() {\n $(window).off(\"resize\", this._windowResizeHandler);\n },\n\n _windowResizeHandler: function() {\n if($.isFunction(this.showLabel) || $.isFunction(this.showCount)) {\n window.clearTimeout(this._resizeTimer);\n this._resizeTimer = setTimeout($.proxy(this.refresh, this), this.resizeTimeout);\n }\n },\n\n _render: function() {\n this._clear();\n\n this._defineOptionsByScreen();\n\n this._$element.addClass(this.elementClass);\n\n this._$shares = $(\"<div>\").addClass(this.sharesClass)\n .appendTo(this._$element);\n\n this._renderShares();\n },\n\n _defineOptionsByScreen: function() {\n this._screenWidth = $(window).width();\n this._showLabel = getOrApply(this.showLabel, this, this._screenWidth);\n this._showCount = getOrApply(this.showCount, this, this._screenWidth);\n },\n\n _renderShares: function() {\n $.each(this.shares, $.proxy(function(_, share) {\n this._renderShare(share);\n }, this));\n },\n\n _renderShare: function(share) {\n var $share;\n\n if($.isFunction(share.renderer)) {\n $share = $(share.renderer());\n } else {\n $share = this._createShare(share);\n }\n\n $share.addClass(this.shareClass)\n .addClass(share.share ? \"jssocials-share-\" + share.share : \"\")\n .addClass(share.css)\n .appendTo(this._$shares);\n },\n\n _createShare: function(share) {\n var $result = $(\"<div>\");\n var $shareLink = this._createShareLink(share).appendTo($result);\n\n if(this._showCount) {\n var isInsideCount = (this._showCount === \"inside\");\n var $countContainer = isInsideCount ? $shareLink : $(\"<div>\").addClass(this.shareCountBoxClass).appendTo($result);\n $countContainer.addClass(isInsideCount ? this.shareLinkCountClass : this.shareCountBoxClass);\n this._renderShareCount(share, $countContainer);\n }\n\n return $result;\n },\n\n _createShareLink: function(share) {\n var shareStrategy = this._getShareStrategy(share);\n\n var $result = shareStrategy.call(share, {\n shareUrl: this._getShareUrl(share)\n });\n\n $result.addClass(this.shareLinkClass)\n .append(this._createShareLogo(share));\n\n if(this._showLabel) {\n $result.append(this._createShareLabel(share));\n }\n\n $.each(this.on || {}, function(event, handler) {\n if($.isFunction(handler)) {\n $result.on(event, $.proxy(handler, share));\n }\n });\n\n return $result;\n },\n\n _getShareStrategy: function(share) {\n var result = shareStrategies[share.shareIn || this.shareIn];\n\n if(!result)\n throw Error(\"Share strategy '\" + this.shareIn + \"' not found\");\n\n return result;\n },\n\n _getShareUrl: function(share) {\n var shareUrl = getOrApply(share.shareUrl, share);\n return this._formatShareUrl(shareUrl, share);\n },\n\n _createShareLogo: function(share) {\n var logo = share.logo;\n\n var $result = IMG_SRC_REGEX.test(logo) ?\n $(\"<img>\").attr(\"src\", share.logo) :\n $(\"<i>\").addClass(logo);\n\n $result.addClass(this.shareLogoClass);\n\n return $result;\n },\n\n _createShareLabel: function(share) {\n return $(\"<span>\").addClass(this.shareLabelClass)\n .text(share.label);\n },\n\n _renderShareCount: function(share, $container) {\n var $count = $(\"<span>\").addClass(this.shareCountClass);\n\n $container.addClass(this.shareZeroCountClass)\n .append($count);\n\n this._loadCount(share).done($.proxy(function(count) {\n if(count) {\n $container.removeClass(this.shareZeroCountClass);\n $count.text(count);\n }\n }, this));\n },\n\n _loadCount: function(share) {\n var deferred = $.Deferred();\n var countUrl = this._getCountUrl(share);\n\n if(!countUrl) {\n return deferred.resolve(0).promise();\n }\n\n var handleSuccess = $.proxy(function(response) {\n deferred.resolve(this._getCountValue(response, share));\n }, this);\n\n $.getJSON(countUrl).done(handleSuccess)\n .fail(function() {\n $.get(countUrl).done(handleSuccess)\n .fail(function() {\n deferred.resolve(0);\n });\n });\n\n return deferred.promise();\n },\n\n _getCountUrl: function(share) {\n var countUrl = getOrApply(share.countUrl, share);\n return this._formatShareUrl(countUrl, share);\n },\n\n _getCountValue: function(response, share) {\n var count = ($.isFunction(share.getCount) ? share.getCount(response) : response) || 0;\n return (typeof count === \"string\") ? count : this._formatNumber(count);\n },\n\n _formatNumber: function(number) {\n $.each(MEASURES, function(letter, value) {\n if(number >= value) {\n number = parseFloat((number / value).toFixed(2)) + letter;\n return false;\n }\n });\n\n return number;\n },\n\n _formatShareUrl: function(url, share) {\n return url.replace(URL_PARAMS_REGEX, function(match, key, field) {\n var value = share[field] || \"\";\n return value ? (key || \"\") + window.encodeURIComponent(value) : \"\";\n });\n },\n\n _clear: function() {\n window.clearTimeout(this._resizeTimer);\n this._$element.empty();\n },\n\n _passOptionToShares: function(key, value) {\n var shares = this.shares;\n\n $.each([\"url\", \"text\"], function(_, optionName) {\n if(optionName !== key)\n return;\n\n $.each(shares, function(_, share) {\n share[key] = value;\n });\n });\n },\n\n _normalizeShare: function(share) {\n if($.isNumeric(share)) {\n return this.shares[share];\n }\n\n if(typeof share === \"string\") {\n return $.grep(this.shares, function(s) {\n return s.share === share;\n })[0];\n }\n\n return share;\n },\n\n refresh: function() {\n this._render();\n },\n\n destroy: function() {\n this._clear();\n this._detachWindowResizeCallback();\n\n this._$element\n .removeClass(this.elementClass)\n .removeData(JSSOCIALS_DATA_KEY);\n },\n\n option: function(key, value) {\n if(arguments.length === 1) {\n return this[key];\n }\n\n this[key] = value;\n\n this._passOptionToShares(key, value);\n\n this.refresh();\n },\n\n shareOption: function(share, key, value) {\n share = this._normalizeShare(share);\n\n if(arguments.length === 2) {\n return share[key];\n }\n\n share[key] = value;\n this.refresh();\n }\n };\n\n\n $.fn.jsSocials = function(config) {\n var args = $.makeArray(arguments),\n methodArgs = args.slice(1),\n result = this;\n\n this.each(function() {\n var $element = $(this),\n instance = $element.data(JSSOCIALS_DATA_KEY),\n methodResult;\n\n if(instance) {\n if(typeof config === \"string\") {\n methodResult = instance[config].apply(instance, methodArgs);\n if(methodResult !== undefined && methodResult !== instance) {\n result = methodResult;\n return false;\n }\n } else {\n instance._detachWindowResizeCallback();\n instance._init(config);\n instance._render();\n }\n } else {\n new Socials($element, config);\n }\n });\n\n return result;\n };\n\n var setDefaults = function(config) {\n var component;\n\n if($.isPlainObject(config)) {\n component = Socials.prototype;\n } else {\n component = shares[config];\n config = arguments[1] || {};\n }\n\n $.extend(component, config);\n };\n\n var shareStrategies = {\n popup: function(args) {\n return $(\"<a>\").attr(\"href\", \"#\")\n .on(\"click\", function() {\n window.open(args.shareUrl, null, \"width=600, height=400, location=0, menubar=0, resizeable=0, scrollbars=0, status=0, titlebar=0, toolbar=0\");\n return false;\n });\n },\n\n blank: function(args) {\n return $(\"<a>\").attr({ target: \"_blank\", href: args.shareUrl });\n },\n\n self: function(args) {\n return $(\"<a>\").attr({ target: \"_self\", href: args.shareUrl });\n }\n };\n\n window.jsSocials = {\n Socials: Socials,\n shares: shares,\n shareStrategies: shareStrategies,\n setDefaults: setDefaults\n };\n\n}(window, jQuery));\n\n\n(function(window, $, jsSocials, undefined) {\n\n $.extend(jsSocials.shares, {\n\n email: {\n label: \"E-mail\",\n logo: \"fa fa-at\",\n shareUrl: \"mailto:{to}?subject={text}&body={url}\",\n countUrl: \"\",\n shareIn: \"self\"\n },\n\n twitter: {\n label: \"Tweet\",\n logo: \"fa fa-twitter\",\n shareUrl: \"https://twitter.com/share?url={url}&text={text}&via={via}&hashtags={hashtags}\",\n countUrl: \"\"\n },\n\n facebook: {\n label: \"Like\",\n logo: \"fa fa-facebook\",\n shareUrl: \"https://facebook.com/sharer/sharer.php?u={url}\",\n countUrl: \"https://graph.facebook.com/?id={url}\",\n getCount: function(data) {\n return data.share && data.share.share_count || 0;\n }\n },\n\n vkontakte: {\n label: \"Like\",\n logo: \"fa fa-vk\",\n shareUrl: \"https://vk.com/share.php?url={url}&title={title}&description={text}\",\n countUrl: \"https://vk.com/share.php?act=count&index=1&url={url}\",\n getCount: function(data) {\n return parseInt(data.slice(15, -2).split(', ')[1]);\n }\n },\n\n googleplus: {\n label: \"+1\",\n logo: \"fa fa-google\",\n shareUrl: \"https://plus.google.com/share?url={url}\",\n countUrl: \"\"\n },\n\n linkedin: {\n label: \"Share\",\n logo: \"fa fa-linkedin\",\n shareUrl: \"https://www.linkedin.com/shareArticle?mini=true&url={url}\",\n countUrl: \"https://www.linkedin.com/countserv/count/share?format=jsonp&url={url}&callback=?\",\n getCount: function(data) {\n return data.count;\n }\n },\n\n pinterest: {\n label: \"Pin it\",\n logo: \"fa fa-pinterest\",\n shareUrl: \"https://pinterest.com/pin/create/bookmarklet/?media={media}&url={url}&description={text}\",\n countUrl: \"https://api.pinterest.com/v1/urls/count.json?&url={url}&callback=?\",\n getCount: function(data) {\n return data.count;\n }\n },\n\n stumbleupon: {\n label: \"Share\",\n logo: \"fa fa-stumbleupon\",\n shareUrl: \"http://www.stumbleupon.com/submit?url={url}&title={title}\",\n countUrl: \"https://cors-anywhere.herokuapp.com/https://www.stumbleupon.com/services/1.01/badge.getinfo?url={url}\",\n getCount: function(data) {\n return data.result && data.result.views;\n }\n },\n\n telegram: {\n label: \"Telegram\",\n logo: \"fa fa-telegram\",\n shareUrl: \"tg://msg?text={url} {text}\",\n countUrl: \"\",\n shareIn: \"self\"\n },\n\n whatsapp: {\n label: \"WhatsApp\",\n logo: \"fa fa-whatsapp\",\n shareUrl: \"whatsapp://send?text={url} {text}\",\n countUrl: \"\",\n shareIn: \"self\"\n },\n\n line: {\n label: \"LINE\",\n logo: \"fa fa-comment\",\n shareUrl: \"http://line.me/R/msg/text/?{text} {url}\",\n countUrl: \"\"\n },\n\n viber: {\n label: \"Viber\",\n logo: \"fa fa-volume-control-phone\",\n shareUrl: \"viber://forward?text={url} {text}\",\n countUrl: \"\",\n shareIn: \"self\"\n },\n\n pocket: {\n label: \"Pocket\",\n logo: \"fa fa-get-pocket\",\n shareUrl: \"https://getpocket.com/save?url={url}&title={title}\",\n countUrl: \"\"\n },\n\n messenger: {\n label: \"Share\",\n logo: \"fa fa-commenting\",\n shareUrl: \"fb-messenger://share?link={url}\",\n countUrl: \"\",\n shareIn: \"self\"\n },\n rss: {\n label: \"RSS\",\n logo: \"fa fa-rss\",\n shareUrl: \"/feeds/\",\n countUrl: \"\",\n shareIn: \"blank\"\n }\n\n });\n\n}(window, jQuery, window.jsSocials));\n\n","'use strict';\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\nfunction isString(obj) { return _class(obj) === '[object String]'; }\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\n\n\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&'); }\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\n\nvar defaultSchemas = {\n 'http:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp(\n '^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\n );\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp(\n '^' +\n self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' +\n self.re.src_port +\n self.re.src_host_terminator +\n self.re.src_path,\n\n 'i'\n );\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp(\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\n );\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = require('./lib/re')(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) { return; }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate =\n self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize =\n self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__)\n .filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n })\n .map(escapeRE)\n .join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n self.re.schema_at_start = RegExp('^' + self.re.schema_search.source, 'i');\n\n self.re.pretest = RegExp(\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\n 'i'\n );\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) { return false; }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ ||\n (shift === this.__index__ && next > this.__last_index__)) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0, result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n\n/**\n * LinkifyIt#matchAtStart(text) -> Match|null\n *\n * Returns fully-formed (not fuzzy) link if it starts at the beginning\n * of the string, and null otherwise.\n **/\nLinkifyIt.prototype.matchAtStart = function matchAtStart(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) return null;\n\n var m = this.re.schema_at_start.exec(text);\n if (!m) return null;\n\n var len = this.testSchemaAt(text, m[2], m[0].length);\n if (!len) return null;\n\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n\n return createMatch(this, 0);\n};\n\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [ list ];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list)\n .sort()\n .filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n })\n .reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) { match.url = 'http://' + match.url; }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {\n};\n\n\nmodule.exports = LinkifyIt;\n","'use strict';\n\n\nmodule.exports = function (opts) {\n var re = {};\n opts = opts || {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = require('uc.micro/properties/Any/regex').source;\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\n re.src_Z = require('uc.micro/categories/Z/regex').source;\n re.src_P = require('uc.micro/categories/P/regex').source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uff5c]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 =\n\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port =\n\n '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator =\n\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')' +\n '(?!' + (opts['---'] ? '-(?!--)|' : '-|') + '_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path =\n\n '(?:' +\n '[/?#]' +\n '(?:' +\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-;]).|' +\n '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' +\n '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' +\n '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' +\n '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' +\n \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" +\n \"\\\\'(?=\" + re.src_pseudo_letter + '|[-])|' + // allow `I'm_king` if no pair found\n '\\\\.{2,}[a-zA-Z0-9%/&]|' + // google has many dots in \"google search\" links (#66, #81).\n // github has ... in commit range links,\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // - params separator\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]|$)|' +\n (opts['---'] ?\n '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n :\n '\\\\-+|'\n ) +\n ',(?!' + re.src_ZCc + '|$)|' + // allow `,,,` in paths\n ';(?!' + re.src_ZCc + '|$)|' + // allow `;` if not followed by space-like char\n '\\\\!+(?!' + re.src_ZCc + '|[!]|$)|' + // allow `!!!` in paths, but not at the end\n '\\\\?(?!' + re.src_ZCc + '|[?]|$)' +\n ')+' +\n '|\\\\/' +\n ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name =\n\n '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn =\n\n 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' +\n re.src_xn +\n '|' +\n re.src_pseudo_letter + '{1,63}' +\n ')';\n\n re.src_domain =\n\n '(?:' +\n re.src_xn +\n '|' +\n '(?:' + re.src_pseudo_letter + ')' +\n '|' +\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\n ')';\n\n re.src_host =\n\n '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain/*_root*/ + ')' +\n ')';\n\n re.tpl_host_fuzzy =\n\n '(?:' +\n re.src_ip4 +\n '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' +\n ')';\n\n re.tpl_host_no_ip_fuzzy =\n\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict =\n\n re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict =\n\n re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict =\n\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test =\n\n 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy =\n\n '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' +\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var baseMerge = require('./_baseMerge'),\n isObject = require('./isObject');\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\nmodule.exports = customDefaultsMerge;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var apply = require('./_apply'),\n baseRest = require('./_baseRest'),\n customDefaultsMerge = require('./_customDefaultsMerge'),\n mergeWith = require('./mergeWith');\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\nmodule.exports = defaultsDeep;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nmodule.exports = mergeWith;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","'use strict';\n\n\nmodule.exports = require('./lib/');\n","// HTML5 entities map: { name -> utf16string }\n//\n'use strict';\n\n/*eslint quotes:0*/\nmodule.exports = require('entities/lib/maps/entities.json');\n","// List of valid html blocks names, accorting to commonmark spec\n// http://jgm.github.io/CommonMark/spec.html#html-blocks\n\n'use strict';\n\n\nmodule.exports = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n];\n","// Regexps to match html elements\n\n'use strict';\n\nvar attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\n\nvar unquoted = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar single_quoted = \"'[^']*'\";\nvar double_quoted = '\"[^\"]*\"';\n\nvar attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';\n\nvar attribute = '(?:\\\\s+' + attr_name + '(?:\\\\s*=\\\\s*' + attr_value + ')?)';\n\nvar open_tag = '<[A-Za-z][A-Za-z0-9\\\\-]*' + attribute + '*\\\\s*\\\\/?>';\n\nvar close_tag = '<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>';\nvar comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->';\nvar processing = '<[?][\\\\s\\\\S]*?[?]>';\nvar declaration = '<![A-Z]+\\\\s+[^>]*>';\nvar cdata = '<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>';\n\nvar HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +\n '|' + processing + '|' + declaration + '|' + cdata + ')');\nvar HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');\n\nmodule.exports.HTML_TAG_RE = HTML_TAG_RE;\nmodule.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;\n","// Utilities\n//\n'use strict';\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction isString(obj) { return _class(obj) === '[object String]'; }\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction has(object, key) {\n return _hasOwnProperty.call(object, key);\n}\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be object');\n }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\n// Remove element from array and put another array at those position.\n// Useful for some operations with tokens\nfunction arrayReplaceAt(src, pos, newElements) {\n return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1));\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isValidEntityCode(c) {\n /*eslint no-bitwise:0*/\n // broken sequence\n if (c >= 0xD800 && c <= 0xDFFF) { return false; }\n // never used\n if (c >= 0xFDD0 && c <= 0xFDEF) { return false; }\n if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) { return false; }\n // control codes\n if (c >= 0x00 && c <= 0x08) { return false; }\n if (c === 0x0B) { return false; }\n if (c >= 0x0E && c <= 0x1F) { return false; }\n if (c >= 0x7F && c <= 0x9F) { return false; }\n // out of range\n if (c > 0x10FFFF) { return false; }\n return true;\n}\n\nfunction fromCodePoint(c) {\n /*eslint no-bitwise:0*/\n if (c > 0xffff) {\n c -= 0x10000;\n var surrogate1 = 0xd800 + (c >> 10),\n surrogate2 = 0xdc00 + (c & 0x3ff);\n\n return String.fromCharCode(surrogate1, surrogate2);\n }\n return String.fromCharCode(c);\n}\n\n\nvar UNESCAPE_MD_RE = /\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g;\nvar ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;\nvar UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi');\n\nvar DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\n\nvar entities = require('./entities');\n\nfunction replaceEntityPattern(match, name) {\n var code = 0;\n\n if (has(entities, name)) {\n return entities[name];\n }\n\n if (name.charCodeAt(0) === 0x23/* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) {\n code = name[1].toLowerCase() === 'x' ?\n parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10);\n\n if (isValidEntityCode(code)) {\n return fromCodePoint(code);\n }\n }\n\n return match;\n}\n\n/*function replaceEntities(str) {\n if (str.indexOf('&') < 0) { return str; }\n\n return str.replace(ENTITY_RE, replaceEntityPattern);\n}*/\n\nfunction unescapeMd(str) {\n if (str.indexOf('\\\\') < 0) { return str; }\n return str.replace(UNESCAPE_MD_RE, '$1');\n}\n\nfunction unescapeAll(str) {\n if (str.indexOf('\\\\') < 0 && str.indexOf('&') < 0) { return str; }\n\n return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) {\n if (escaped) { return escaped; }\n return replaceEntityPattern(match, entity);\n });\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar HTML_ESCAPE_TEST_RE = /[&<>\"]/;\nvar HTML_ESCAPE_REPLACE_RE = /[&<>\"]/g;\nvar HTML_REPLACEMENTS = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"'\n};\n\nfunction replaceUnsafeChar(ch) {\n return HTML_REPLACEMENTS[ch];\n}\n\nfunction escapeHtml(str) {\n if (HTML_ESCAPE_TEST_RE.test(str)) {\n return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);\n }\n return str;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar REGEXP_ESCAPE_RE = /[.?*+^$[\\]\\\\(){}|-]/g;\n\nfunction escapeRE(str) {\n return str.replace(REGEXP_ESCAPE_RE, '\\\\$&');\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isSpace(code) {\n switch (code) {\n case 0x09:\n case 0x20:\n return true;\n }\n return false;\n}\n\n// Zs (unicode class) || [\\t\\f\\v\\r\\n]\nfunction isWhiteSpace(code) {\n if (code >= 0x2000 && code <= 0x200A) { return true; }\n switch (code) {\n case 0x09: // \\t\n case 0x0A: // \\n\n case 0x0B: // \\v\n case 0x0C: // \\f\n case 0x0D: // \\r\n case 0x20:\n case 0xA0:\n case 0x1680:\n case 0x202F:\n case 0x205F:\n case 0x3000:\n return true;\n }\n return false;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n/*eslint-disable max-len*/\nvar UNICODE_PUNCT_RE = require('uc.micro/categories/P/regex');\n\n// Currently without astral characters support.\nfunction isPunctChar(ch) {\n return UNICODE_PUNCT_RE.test(ch);\n}\n\n\n// Markdown ASCII punctuation characters.\n//\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\n//\n// Don't confuse with unicode punctuation !!! It lacks some chars in ascii range.\n//\nfunction isMdAsciiPunct(ch) {\n switch (ch) {\n case 0x21/* ! */:\n case 0x22/* \" */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x27/* ' */:\n case 0x28/* ( */:\n case 0x29/* ) */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2C/* , */:\n case 0x2D/* - */:\n case 0x2E/* . */:\n case 0x2F/* / */:\n case 0x3A/* : */:\n case 0x3B/* ; */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x3F/* ? */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7C/* | */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\n// Hepler to unify [reference labels].\n//\nfunction normalizeReference(str) {\n // Trim and collapse whitespace\n //\n str = str.trim().replace(/\\s+/g, ' ');\n\n // In node v10 'ẞ'.toLowerCase() === 'Ṿ', which is presumed to be a bug\n // fixed in v12 (couldn't find any details).\n //\n // So treat this one as a special case\n // (remove this when node v10 is no longer supported).\n //\n if ('ẞ'.toLowerCase() === 'Ṿ') {\n str = str.replace(/ẞ/g, 'ß');\n }\n\n // .toLowerCase().toUpperCase() should get rid of all differences\n // between letter variants.\n //\n // Simple .toLowerCase() doesn't normalize 125 code points correctly,\n // and .toUpperCase doesn't normalize 6 of them (list of exceptions:\n // İ, ϴ, ẞ, Ω, K, Å - those are already uppercased, but have differently\n // uppercased versions).\n //\n // Here's an example showing how it happens. Lets take greek letter omega:\n // uppercase U+0398 (Θ), U+03f4 (ϴ) and lowercase U+03b8 (θ), U+03d1 (ϑ)\n //\n // Unicode entries:\n // 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;\n // 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398\n // 03D1;GREEK THETA SYMBOL;Ll;0;L;<compat> 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398\n // 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;\n //\n // Case-insensitive comparison should treat all of them as equivalent.\n //\n // But .toLowerCase() doesn't change ϑ (it's already lowercase),\n // and .toUpperCase() doesn't change ϴ (already uppercase).\n //\n // Applying first lower then upper case normalizes any character:\n // '\\u0398\\u03f4\\u03b8\\u03d1'.toLowerCase().toUpperCase() === '\\u0398\\u0398\\u0398\\u0398'\n //\n // Note: this is equivalent to unicode case folding; unicode normalization\n // is a different step that is not required here.\n //\n // Final result should be uppercased, because it's later stored in an object\n // (this avoid a conflict with Object.prototype members,\n // most notably, `__proto__`)\n //\n return str.toLowerCase().toUpperCase();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n// Re-export libraries commonly used in both markdown-it and its plugins,\n// so plugins won't have to depend on them explicitly, which reduces their\n// bundled size (e.g. a browser build).\n//\nexports.lib = {};\nexports.lib.mdurl = require('mdurl');\nexports.lib.ucmicro = require('uc.micro');\n\nexports.assign = assign;\nexports.isString = isString;\nexports.has = has;\nexports.unescapeMd = unescapeMd;\nexports.unescapeAll = unescapeAll;\nexports.isValidEntityCode = isValidEntityCode;\nexports.fromCodePoint = fromCodePoint;\n// exports.replaceEntities = replaceEntities;\nexports.escapeHtml = escapeHtml;\nexports.arrayReplaceAt = arrayReplaceAt;\nexports.isSpace = isSpace;\nexports.isWhiteSpace = isWhiteSpace;\nexports.isMdAsciiPunct = isMdAsciiPunct;\nexports.isPunctChar = isPunctChar;\nexports.escapeRE = escapeRE;\nexports.normalizeReference = normalizeReference;\n","// Just a shortcut for bulk export\n'use strict';\n\n\nexports.parseLinkLabel = require('./parse_link_label');\nexports.parseLinkDestination = require('./parse_link_destination');\nexports.parseLinkTitle = require('./parse_link_title');\n","// Parse link destination\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkDestination(str, pos, max) {\n var code, level,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (str.charCodeAt(pos) === 0x3C /* < */) {\n pos++;\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === 0x0A /* \\n */) { return result; }\n if (code === 0x3C /* < */) { return result; }\n if (code === 0x3E /* > */) {\n result.pos = pos + 1;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n }\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n pos++;\n }\n\n // no closing '>'\n return result;\n }\n\n // this should be ... } else { ... branch\n\n level = 0;\n while (pos < max) {\n code = str.charCodeAt(pos);\n\n if (code === 0x20) { break; }\n\n // ascii control characters\n if (code < 0x20 || code === 0x7F) { break; }\n\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n if (str.charCodeAt(pos + 1) === 0x20) { break; }\n pos += 2;\n continue;\n }\n\n if (code === 0x28 /* ( */) {\n level++;\n if (level > 32) { return result; }\n }\n\n if (code === 0x29 /* ) */) {\n if (level === 0) { break; }\n level--;\n }\n\n pos++;\n }\n\n if (start === pos) { return result; }\n if (level !== 0) { return result; }\n\n result.str = unescapeAll(str.slice(start, pos));\n result.lines = lines;\n result.pos = pos;\n result.ok = true;\n return result;\n};\n","// Parse link label\n//\n// this function assumes that first character (\"[\") already matches;\n// returns the end of the label\n//\n'use strict';\n\nmodule.exports = function parseLinkLabel(state, start, disableNested) {\n var level, found, marker, prevPos,\n labelEnd = -1,\n max = state.posMax,\n oldPos = state.pos;\n\n state.pos = start + 1;\n level = 1;\n\n while (state.pos < max) {\n marker = state.src.charCodeAt(state.pos);\n if (marker === 0x5D /* ] */) {\n level--;\n if (level === 0) {\n found = true;\n break;\n }\n }\n\n prevPos = state.pos;\n state.md.inline.skipToken(state);\n if (marker === 0x5B /* [ */) {\n if (prevPos === state.pos - 1) {\n // increase level if we find text `[`, which is not a part of any token\n level++;\n } else if (disableNested) {\n state.pos = oldPos;\n return -1;\n }\n }\n }\n\n if (found) {\n labelEnd = state.pos;\n }\n\n // restore old state\n state.pos = oldPos;\n\n return labelEnd;\n};\n","// Parse link title\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkTitle(str, pos, max) {\n var code,\n marker,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (pos >= max) { return result; }\n\n marker = str.charCodeAt(pos);\n\n if (marker !== 0x22 /* \" */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { return result; }\n\n pos++;\n\n // if opening marker is \"(\", switch it to closing marker \")\"\n if (marker === 0x28) { marker = 0x29; }\n\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === marker) {\n result.pos = pos + 1;\n result.lines = lines;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n } else if (code === 0x28 /* ( */ && marker === 0x29 /* ) */) {\n return result;\n } else if (code === 0x0A) {\n lines++;\n } else if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos++;\n if (str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n\n pos++;\n }\n\n return result;\n};\n","// Main parser class\n\n'use strict';\n\n\nvar utils = require('./common/utils');\nvar helpers = require('./helpers');\nvar Renderer = require('./renderer');\nvar ParserCore = require('./parser_core');\nvar ParserBlock = require('./parser_block');\nvar ParserInline = require('./parser_inline');\nvar LinkifyIt = require('linkify-it');\nvar mdurl = require('mdurl');\nvar punycode = require('punycode');\n\n\nvar config = {\n default: require('./presets/default'),\n zero: require('./presets/zero'),\n commonmark: require('./presets/commonmark')\n};\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// This validator can prohibit more than really needed to prevent XSS. It's a\n// tradeoff to keep code simple and to be secure by default.\n//\n// If you need different setup - override validator method as you wish. Or\n// replace it with dummy function and use external sanitizer.\n//\n\nvar BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;\nvar GOOD_DATA_RE = /^data:image\\/(gif|png|jpeg|webp);/;\n\nfunction validateLink(url) {\n // url should be normalized at this point, and existing entities are decoded\n var str = url.trim().toLowerCase();\n\n return BAD_PROTO_RE.test(str) ? (GOOD_DATA_RE.test(str) ? true : false) : true;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar RECODE_HOSTNAME_FOR = [ 'http:', 'https:', 'mailto:' ];\n\nfunction normalizeLink(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toASCII(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n return mdurl.encode(mdurl.format(parsed));\n}\n\nfunction normalizeLinkText(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toUnicode(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n // add '%' to exclude list because of https://github.com/markdown-it/markdown-it/issues/720\n return mdurl.decode(mdurl.format(parsed), mdurl.decode.defaultChars + '%');\n}\n\n\n/**\n * class MarkdownIt\n *\n * Main parser/renderer class.\n *\n * ##### Usage\n *\n * ```javascript\n * // node.js, \"classic\" way:\n * var MarkdownIt = require('markdown-it'),\n * md = new MarkdownIt();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // node.js, the same, but with sugar:\n * var md = require('markdown-it')();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // browser without AMD, added to \"window\" on script load\n * // Note, there are no dash.\n * var md = window.markdownit();\n * var result = md.render('# markdown-it rulezz!');\n * ```\n *\n * Single line rendering, without paragraph wrap:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * var result = md.renderInline('__markdown-it__ rulezz!');\n * ```\n **/\n\n/**\n * new MarkdownIt([presetName, options])\n * - presetName (String): optional, `commonmark` / `zero`\n * - options (Object)\n *\n * Creates parser instanse with given config. Can be called without `new`.\n *\n * ##### presetName\n *\n * MarkdownIt provides named presets as a convenience to quickly\n * enable/disable active syntax rules and options for common use cases.\n *\n * - [\"commonmark\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -\n * configures parser to strict [CommonMark](http://commonmark.org/) mode.\n * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -\n * similar to GFM, used when no preset name given. Enables all available rules,\n * but still without html, typographer & autolinker.\n * - [\"zero\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -\n * all rules disabled. Useful to quickly setup your config via `.enable()`.\n * For example, when you need only `bold` and `italic` markup and nothing else.\n *\n * ##### options:\n *\n * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!\n * That's not safe! You may need external sanitizer to protect output from XSS.\n * It's better to extend features via plugins, instead of enabling HTML.\n * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags\n * (`<br />`). This is needed only for full CommonMark compatibility. In real\n * world you will need HTML output.\n * - __breaks__ - `false`. Set `true` to convert `\\n` in paragraphs into `<br>`.\n * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.\n * Can be useful for external highlighters.\n * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.\n * - __typographer__ - `false`. Set `true` to enable [some language-neutral\n * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +\n * quotes beautification (smartquotes).\n * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement\n * pairs, when typographer enabled and smartquotes on. For example, you can\n * use `'«»„“'` for Russian, `'„“‚‘'` for German, and\n * `['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›']` for French (including nbsp).\n * - __highlight__ - `null`. Highlighter function for fenced code blocks.\n * Highlighter `function (str, lang)` should return escaped HTML. It can also\n * return empty string if the source was not changed and should be escaped\n * externaly. If result starts with <pre... internal wrapper is skipped.\n *\n * ##### Example\n *\n * ```javascript\n * // commonmark mode\n * var md = require('markdown-it')('commonmark');\n *\n * // default mode\n * var md = require('markdown-it')();\n *\n * // enable everything\n * var md = require('markdown-it')({\n * html: true,\n * linkify: true,\n * typographer: true\n * });\n * ```\n *\n * ##### Syntax highlighting\n *\n * ```js\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return hljs.highlight(str, { language: lang, ignoreIllegals: true }).value;\n * } catch (__) {}\n * }\n *\n * return ''; // use external default escaping\n * }\n * });\n * ```\n *\n * Or with full wrapper override (if you need assign class to `<pre>`):\n *\n * ```javascript\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * // Actual default values\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return '<pre class=\"hljs\"><code>' +\n * hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +\n * '</code></pre>';\n * } catch (__) {}\n * }\n *\n * return '<pre class=\"hljs\"><code>' + md.utils.escapeHtml(str) + '</code></pre>';\n * }\n * });\n * ```\n *\n **/\nfunction MarkdownIt(presetName, options) {\n if (!(this instanceof MarkdownIt)) {\n return new MarkdownIt(presetName, options);\n }\n\n if (!options) {\n if (!utils.isString(presetName)) {\n options = presetName || {};\n presetName = 'default';\n }\n }\n\n /**\n * MarkdownIt#inline -> ParserInline\n *\n * Instance of [[ParserInline]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.inline = new ParserInline();\n\n /**\n * MarkdownIt#block -> ParserBlock\n *\n * Instance of [[ParserBlock]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.block = new ParserBlock();\n\n /**\n * MarkdownIt#core -> Core\n *\n * Instance of [[Core]] chain executor. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.core = new ParserCore();\n\n /**\n * MarkdownIt#renderer -> Renderer\n *\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\n * rules for new token types, generated by plugins.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * function myToken(tokens, idx, options, env, self) {\n * //...\n * return result;\n * };\n *\n * md.renderer.rules['my_token'] = myToken\n * ```\n *\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\n **/\n this.renderer = new Renderer();\n\n /**\n * MarkdownIt#linkify -> LinkifyIt\n *\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\n * rule.\n **/\n this.linkify = new LinkifyIt();\n\n /**\n * MarkdownIt#validateLink(url) -> Boolean\n *\n * Link validation function. CommonMark allows too much in links. By default\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\n * except some embedded image types.\n *\n * You can change this behaviour:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * // enable everything\n * md.validateLink = function () { return true; }\n * ```\n **/\n this.validateLink = validateLink;\n\n /**\n * MarkdownIt#normalizeLink(url) -> String\n *\n * Function used to encode link url to a machine-readable format,\n * which includes url-encoding, punycode, etc.\n **/\n this.normalizeLink = normalizeLink;\n\n /**\n * MarkdownIt#normalizeLinkText(url) -> String\n *\n * Function used to decode link url to a human-readable format`\n **/\n this.normalizeLinkText = normalizeLinkText;\n\n\n // Expose utils & helpers for easy acces from plugins\n\n /**\n * MarkdownIt#utils -> utils\n *\n * Assorted utility functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).\n **/\n this.utils = utils;\n\n /**\n * MarkdownIt#helpers -> helpers\n *\n * Link components parser functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\n **/\n this.helpers = utils.assign({}, helpers);\n\n\n this.options = {};\n this.configure(presetName);\n\n if (options) { this.set(options); }\n}\n\n\n/** chainable\n * MarkdownIt.set(options)\n *\n * Set parser options (in the same format as in constructor). Probably, you\n * will never need it, but you can change options after constructor call.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .set({ html: true, breaks: true })\n * .set({ typographer, true });\n * ```\n *\n * __Note:__ To achieve the best possible performance, don't modify a\n * `markdown-it` instance options on the fly. If you need multiple configurations\n * it's best to create multiple instances and initialize each with separate\n * config.\n **/\nMarkdownIt.prototype.set = function (options) {\n utils.assign(this.options, options);\n return this;\n};\n\n\n/** chainable, internal\n * MarkdownIt.configure(presets)\n *\n * Batch load of all options and compenent settings. This is internal method,\n * and you probably will not need it. But if you will - see available presets\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\n *\n * We strongly recommend to use presets instead of direct config loads. That\n * will give better compatibility with next versions.\n **/\nMarkdownIt.prototype.configure = function (presets) {\n var self = this, presetName;\n\n if (utils.isString(presets)) {\n presetName = presets;\n presets = config[presetName];\n if (!presets) { throw new Error('Wrong `markdown-it` preset \"' + presetName + '\", check name'); }\n }\n\n if (!presets) { throw new Error('Wrong `markdown-it` preset, can\\'t be empty'); }\n\n if (presets.options) { self.set(presets.options); }\n\n if (presets.components) {\n Object.keys(presets.components).forEach(function (name) {\n if (presets.components[name].rules) {\n self[name].ruler.enableOnly(presets.components[name].rules);\n }\n if (presets.components[name].rules2) {\n self[name].ruler2.enableOnly(presets.components[name].rules2);\n }\n });\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.enable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to enable\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable list or rules. It will automatically find appropriate components,\n * containing rules with given names. If rule not found, and `ignoreInvalid`\n * not set - throws exception.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .enable(['sub', 'sup'])\n * .disable('smartquotes');\n * ```\n **/\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.enable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.enable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);\n }\n\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.disable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\n **/\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.disable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.disable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.use(plugin, params)\n *\n * Load specified plugin with given params into current parser instance.\n * It's just a sugar to call `plugin(md, params)` with curring.\n *\n * ##### Example\n *\n * ```javascript\n * var iterator = require('markdown-it-for-inline');\n * var md = require('markdown-it')()\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\n * });\n * ```\n **/\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\n var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));\n plugin.apply(plugin, args);\n return this;\n};\n\n\n/** internal\n * MarkdownIt.parse(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Parse input string and return list of block tokens (special token type\n * \"inline\" will contain list of inline tokens). You should not call this\n * method directly, until you write custom renderer (for example, to produce\n * AST).\n *\n * `env` is used to pass data between \"distributed\" rules and return additional\n * metadata like reference info, needed for the renderer. It also can be used to\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\n * and then pass updated object to renderer.\n **/\nMarkdownIt.prototype.parse = function (src, env) {\n if (typeof src !== 'string') {\n throw new Error('Input data should be a String');\n }\n\n var state = new this.core.State(src, this, env);\n\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.render(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Render markdown string into html. It does all magic for you :).\n *\n * `env` can be used to inject additional metadata (`{}` by default).\n * But you will not need it with high probability. See also comment\n * in [[MarkdownIt.parse]].\n **/\nMarkdownIt.prototype.render = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parse(src, env), this.options, env);\n};\n\n\n/** internal\n * MarkdownIt.parseInline(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\n * block tokens list with the single `inline` element, containing parsed inline\n * tokens in `children` property. Also updates `env` object.\n **/\nMarkdownIt.prototype.parseInline = function (src, env) {\n var state = new this.core.State(src, this, env);\n\n state.inlineMode = true;\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.renderInline(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\n * will NOT be wrapped into `<p>` tags.\n **/\nMarkdownIt.prototype.renderInline = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parseInline(src, env), this.options, env);\n};\n\n\nmodule.exports = MarkdownIt;\n","/** internal\n * class ParserBlock\n *\n * Block-level tokenizer.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n // First 2 params - rule name & source. Secondary array - list of rules,\n // which can be terminated by this one.\n [ 'table', require('./rules_block/table'), [ 'paragraph', 'reference' ] ],\n [ 'code', require('./rules_block/code') ],\n [ 'fence', require('./rules_block/fence'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'hr', require('./rules_block/hr'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'list', require('./rules_block/list'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'reference', require('./rules_block/reference') ],\n [ 'html_block', require('./rules_block/html_block'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'heading', require('./rules_block/heading'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'lheading', require('./rules_block/lheading') ],\n [ 'paragraph', require('./rules_block/paragraph') ]\n];\n\n\n/**\n * new ParserBlock()\n **/\nfunction ParserBlock() {\n /**\n * ParserBlock#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of block rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });\n }\n}\n\n\n// Generate tokens for input range\n//\nParserBlock.prototype.tokenize = function (state, startLine, endLine) {\n var ok, i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n line = startLine,\n hasEmptyLines = false,\n maxNesting = state.md.options.maxNesting;\n\n while (line < endLine) {\n state.line = line = state.skipEmptyLines(line);\n if (line >= endLine) { break; }\n\n // Termination condition for nested calls.\n // Nested calls currently used for blockquotes & lists\n if (state.sCount[line] < state.blkIndent) { break; }\n\n // If nesting level exceeded - skip tail to the end. That's not ordinary\n // situation and we should not care about content.\n if (state.level >= maxNesting) {\n state.line = endLine;\n break;\n }\n\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.line`\n // - update `state.tokens`\n // - return true\n\n for (i = 0; i < len; i++) {\n ok = rules[i](state, line, endLine, false);\n if (ok) { break; }\n }\n\n // set state.tight if we had an empty line before current tag\n // i.e. latest empty line should not count\n state.tight = !hasEmptyLines;\n\n // paragraph might \"eat\" one newline after it in nested lists\n if (state.isEmpty(state.line - 1)) {\n hasEmptyLines = true;\n }\n\n line = state.line;\n\n if (line < endLine && state.isEmpty(line)) {\n hasEmptyLines = true;\n line++;\n state.line = line;\n }\n }\n};\n\n\n/**\n * ParserBlock.parse(str, md, env, outTokens)\n *\n * Process input string and push block tokens into `outTokens`\n **/\nParserBlock.prototype.parse = function (src, md, env, outTokens) {\n var state;\n\n if (!src) { return; }\n\n state = new this.State(src, md, env, outTokens);\n\n this.tokenize(state, state.line, state.lineMax);\n};\n\n\nParserBlock.prototype.State = require('./rules_block/state_block');\n\n\nmodule.exports = ParserBlock;\n","/** internal\n * class Core\n *\n * Top-level rules executor. Glues block/inline parsers and does intermediate\n * transformations.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n [ 'normalize', require('./rules_core/normalize') ],\n [ 'block', require('./rules_core/block') ],\n [ 'inline', require('./rules_core/inline') ],\n [ 'linkify', require('./rules_core/linkify') ],\n [ 'replacements', require('./rules_core/replacements') ],\n [ 'smartquotes', require('./rules_core/smartquotes') ],\n // `text_join` finds `text_special` tokens (for escape sequences)\n // and joins them with the rest of the text\n [ 'text_join', require('./rules_core/text_join') ]\n];\n\n\n/**\n * new Core()\n **/\nfunction Core() {\n /**\n * Core#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of core rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n}\n\n\n/**\n * Core.process(state)\n *\n * Executes core chain rules.\n **/\nCore.prototype.process = function (state) {\n var i, l, rules;\n\n rules = this.ruler.getRules('');\n\n for (i = 0, l = rules.length; i < l; i++) {\n rules[i](state);\n }\n};\n\nCore.prototype.State = require('./rules_core/state_core');\n\n\nmodule.exports = Core;\n","/** internal\n * class ParserInline\n *\n * Tokenizes paragraph content.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Parser rules\n\nvar _rules = [\n [ 'text', require('./rules_inline/text') ],\n [ 'linkify', require('./rules_inline/linkify') ],\n [ 'newline', require('./rules_inline/newline') ],\n [ 'escape', require('./rules_inline/escape') ],\n [ 'backticks', require('./rules_inline/backticks') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').tokenize ],\n [ 'emphasis', require('./rules_inline/emphasis').tokenize ],\n [ 'link', require('./rules_inline/link') ],\n [ 'image', require('./rules_inline/image') ],\n [ 'autolink', require('./rules_inline/autolink') ],\n [ 'html_inline', require('./rules_inline/html_inline') ],\n [ 'entity', require('./rules_inline/entity') ]\n];\n\n// `rule2` ruleset was created specifically for emphasis/strikethrough\n// post-processing and may be changed in the future.\n//\n// Don't use this for anything except pairs (plugins working with `balance_pairs`).\n//\nvar _rules2 = [\n [ 'balance_pairs', require('./rules_inline/balance_pairs') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').postProcess ],\n [ 'emphasis', require('./rules_inline/emphasis').postProcess ],\n // rules for pairs separate '**' into its own text tokens, which may be left unused,\n // rule below merges unused segments back with the rest of the text\n [ 'fragments_join', require('./rules_inline/fragments_join') ]\n];\n\n\n/**\n * new ParserInline()\n **/\nfunction ParserInline() {\n var i;\n\n /**\n * ParserInline#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of inline rules.\n **/\n this.ruler = new Ruler();\n\n for (i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n\n /**\n * ParserInline#ruler2 -> Ruler\n *\n * [[Ruler]] instance. Second ruler used for post-processing\n * (e.g. in emphasis-like rules).\n **/\n this.ruler2 = new Ruler();\n\n for (i = 0; i < _rules2.length; i++) {\n this.ruler2.push(_rules2[i][0], _rules2[i][1]);\n }\n}\n\n\n// Skip single token by running all rules in validation mode;\n// returns `true` if any rule reported success\n//\nParserInline.prototype.skipToken = function (state) {\n var ok, i, pos = state.pos,\n rules = this.ruler.getRules(''),\n len = rules.length,\n maxNesting = state.md.options.maxNesting,\n cache = state.cache;\n\n\n if (typeof cache[pos] !== 'undefined') {\n state.pos = cache[pos];\n return;\n }\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n // Increment state.level and decrement it later to limit recursion.\n // It's harmless to do here, because no tokens are created. But ideally,\n // we'd need a separate private state variable for this purpose.\n //\n state.level++;\n ok = rules[i](state, true);\n state.level--;\n\n if (ok) { break; }\n }\n } else {\n // Too much nesting, just skip until the end of the paragraph.\n //\n // NOTE: this will cause links to behave incorrectly in the following case,\n // when an amount of `[` is exactly equal to `maxNesting + 1`:\n //\n // [[[[[[[[[[[[[[[[[[[[[foo]()\n //\n // TODO: remove this workaround when CM standard will allow nested links\n // (we can replace it by preventing links from being parsed in\n // validation mode)\n //\n state.pos = state.posMax;\n }\n\n if (!ok) { state.pos++; }\n cache[pos] = state.pos;\n};\n\n\n// Generate tokens for input range\n//\nParserInline.prototype.tokenize = function (state) {\n var ok, i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n end = state.posMax,\n maxNesting = state.md.options.maxNesting;\n\n while (state.pos < end) {\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.pos`\n // - update `state.tokens`\n // - return true\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n ok = rules[i](state, false);\n if (ok) { break; }\n }\n }\n\n if (ok) {\n if (state.pos >= end) { break; }\n continue;\n }\n\n state.pending += state.src[state.pos++];\n }\n\n if (state.pending) {\n state.pushPending();\n }\n};\n\n\n/**\n * ParserInline.parse(str, md, env, outTokens)\n *\n * Process input string and push inline tokens into `outTokens`\n **/\nParserInline.prototype.parse = function (str, md, env, outTokens) {\n var i, rules, len;\n var state = new this.State(str, md, env, outTokens);\n\n this.tokenize(state);\n\n rules = this.ruler2.getRules('');\n len = rules.length;\n\n for (i = 0; i < len; i++) {\n rules[i](state);\n }\n};\n\n\nParserInline.prototype.State = require('./rules_inline/state_inline');\n\n\nmodule.exports = ParserInline;\n","// Commonmark default options\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: true, // Enable HTML tags in source\n xhtmlOut: true, // Use '/' to close single tags (<br />)\n breaks: false, // Convert '\\n' in paragraphs into <br>\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with <pre... internal wrapper is skipped.\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n\n maxNesting: 20 // Internal protection, recursion limit\n },\n\n components: {\n\n core: {\n rules: [\n 'normalize',\n 'block',\n 'inline',\n 'text_join'\n ]\n },\n\n block: {\n rules: [\n 'blockquote',\n 'code',\n 'fence',\n 'heading',\n 'hr',\n 'html_block',\n 'lheading',\n 'list',\n 'reference',\n 'paragraph'\n ]\n },\n\n inline: {\n rules: [\n 'autolink',\n 'backticks',\n 'emphasis',\n 'entity',\n 'escape',\n 'html_inline',\n 'image',\n 'link',\n 'newline',\n 'text'\n ],\n rules2: [\n 'balance_pairs',\n 'emphasis',\n 'fragments_join'\n ]\n }\n }\n};\n","// markdown-it default options\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: false, // Enable HTML tags in source\n xhtmlOut: false, // Use '/' to close single tags (<br />)\n breaks: false, // Convert '\\n' in paragraphs into <br>\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with <pre... internal wrapper is skipped.\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n\n maxNesting: 100 // Internal protection, recursion limit\n },\n\n components: {\n\n core: {},\n block: {},\n inline: {}\n }\n};\n","// \"Zero\" preset, with nothing enabled. Useful for manual configuring of simple\n// modes. For example, to parse bold/italic only.\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: false, // Enable HTML tags in source\n xhtmlOut: false, // Use '/' to close single tags (<br />)\n breaks: false, // Convert '\\n' in paragraphs into <br>\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with <pre... internal wrapper is skipped.\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n\n maxNesting: 20 // Internal protection, recursion limit\n },\n\n components: {\n\n core: {\n rules: [\n 'normalize',\n 'block',\n 'inline',\n 'text_join'\n ]\n },\n\n block: {\n rules: [\n 'paragraph'\n ]\n },\n\n inline: {\n rules: [\n 'text'\n ],\n rules2: [\n 'balance_pairs',\n 'fragments_join'\n ]\n }\n }\n};\n","/**\n * class Renderer\n *\n * Generates HTML from parsed token stream. Each instance has independent\n * copy of rules. Those can be rewritten with ease. Also, you can add new\n * rules if you create plugin and adds new token types.\n **/\n'use strict';\n\n\nvar assign = require('./common/utils').assign;\nvar unescapeAll = require('./common/utils').unescapeAll;\nvar escapeHtml = require('./common/utils').escapeHtml;\n\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar default_rules = {};\n\n\ndefault_rules.code_inline = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '<code' + slf.renderAttrs(token) + '>' +\n escapeHtml(tokens[idx].content) +\n '</code>';\n};\n\n\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '<pre' + slf.renderAttrs(token) + '><code>' +\n escapeHtml(tokens[idx].content) +\n '</code></pre>\\n';\n};\n\n\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\n var token = tokens[idx],\n info = token.info ? unescapeAll(token.info).trim() : '',\n langName = '',\n langAttrs = '',\n highlighted, i, arr, tmpAttrs, tmpToken;\n\n if (info) {\n arr = info.split(/(\\s+)/g);\n langName = arr[0];\n langAttrs = arr.slice(2).join('');\n }\n\n if (options.highlight) {\n highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content);\n } else {\n highlighted = escapeHtml(token.content);\n }\n\n if (highlighted.indexOf('<pre') === 0) {\n return highlighted + '\\n';\n }\n\n // If language exists, inject class gently, without modifying original token.\n // May be, one day we will add .deepClone() for token and simplify this part, but\n // now we prefer to keep things local.\n if (info) {\n i = token.attrIndex('class');\n tmpAttrs = token.attrs ? token.attrs.slice() : [];\n\n if (i < 0) {\n tmpAttrs.push([ 'class', options.langPrefix + langName ]);\n } else {\n tmpAttrs[i] = tmpAttrs[i].slice();\n tmpAttrs[i][1] += ' ' + options.langPrefix + langName;\n }\n\n // Fake token just to render attributes\n tmpToken = {\n attrs: tmpAttrs\n };\n\n return '<pre><code' + slf.renderAttrs(tmpToken) + '>'\n + highlighted\n + '</code></pre>\\n';\n }\n\n\n return '<pre><code' + slf.renderAttrs(token) + '>'\n + highlighted\n + '</code></pre>\\n';\n};\n\n\ndefault_rules.image = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n // \"alt\" attr MUST be set, even if empty. Because it's mandatory and\n // should be placed on proper position for tests.\n //\n // Replace content with actual value\n\n token.attrs[token.attrIndex('alt')][1] =\n slf.renderInlineAsText(token.children, options, env);\n\n return slf.renderToken(tokens, idx, options);\n};\n\n\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\n return options.xhtmlOut ? '<br />\\n' : '<br>\\n';\n};\ndefault_rules.softbreak = function (tokens, idx, options /*, env */) {\n return options.breaks ? (options.xhtmlOut ? '<br />\\n' : '<br>\\n') : '\\n';\n};\n\n\ndefault_rules.text = function (tokens, idx /*, options, env */) {\n return escapeHtml(tokens[idx].content);\n};\n\n\ndefault_rules.html_block = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\ndefault_rules.html_inline = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\n\n\n/**\n * new Renderer()\n *\n * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.\n **/\nfunction Renderer() {\n\n /**\n * Renderer#rules -> Object\n *\n * Contains render rules for tokens. Can be updated and extended.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.renderer.rules.strong_open = function () { return '<b>'; };\n * md.renderer.rules.strong_close = function () { return '</b>'; };\n *\n * var result = md.renderInline(...);\n * ```\n *\n * Each rule is called as independent static function with fixed signature:\n *\n * ```javascript\n * function my_token_render(tokens, idx, options, env, renderer) {\n * // ...\n * return renderedHTML;\n * }\n * ```\n *\n * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)\n * for more details and examples.\n **/\n this.rules = assign({}, default_rules);\n}\n\n\n/**\n * Renderer.renderAttrs(token) -> String\n *\n * Render token attributes to string.\n **/\nRenderer.prototype.renderAttrs = function renderAttrs(token) {\n var i, l, result;\n\n if (!token.attrs) { return ''; }\n\n result = '';\n\n for (i = 0, l = token.attrs.length; i < l; i++) {\n result += ' ' + escapeHtml(token.attrs[i][0]) + '=\"' + escapeHtml(token.attrs[i][1]) + '\"';\n }\n\n return result;\n};\n\n\n/**\n * Renderer.renderToken(tokens, idx, options) -> String\n * - tokens (Array): list of tokens\n * - idx (Numbed): token index to render\n * - options (Object): params of parser instance\n *\n * Default token renderer. Can be overriden by custom function\n * in [[Renderer#rules]].\n **/\nRenderer.prototype.renderToken = function renderToken(tokens, idx, options) {\n var nextToken,\n result = '',\n needLf = false,\n token = tokens[idx];\n\n // Tight list paragraphs\n if (token.hidden) {\n return '';\n }\n\n // Insert a newline between hidden paragraph and subsequent opening\n // block-level tag.\n //\n // For example, here we should insert a newline before blockquote:\n // - a\n // >\n //\n if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {\n result += '\\n';\n }\n\n // Add token name, e.g. `<img`\n result += (token.nesting === -1 ? '</' : '<') + token.tag;\n\n // Encode attributes, e.g. `<img src=\"foo\"`\n result += this.renderAttrs(token);\n\n // Add a slash for self-closing tags, e.g. `<img src=\"foo\" /`\n if (token.nesting === 0 && options.xhtmlOut) {\n result += ' /';\n }\n\n // Check if we need to add a newline after this tag\n if (token.block) {\n needLf = true;\n\n if (token.nesting === 1) {\n if (idx + 1 < tokens.length) {\n nextToken = tokens[idx + 1];\n\n if (nextToken.type === 'inline' || nextToken.hidden) {\n // Block-level tag containing an inline tag.\n //\n needLf = false;\n\n } else if (nextToken.nesting === -1 && nextToken.tag === token.tag) {\n // Opening tag + closing tag of the same type. E.g. `<li></li>`.\n //\n needLf = false;\n }\n }\n }\n }\n\n result += needLf ? '>\\n' : '>';\n\n return result;\n};\n\n\n/**\n * Renderer.renderInline(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * The same as [[Renderer.render]], but for single token of `inline` type.\n **/\nRenderer.prototype.renderInline = function (tokens, options, env) {\n var type,\n result = '',\n rules = this.rules;\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (typeof rules[type] !== 'undefined') {\n result += rules[type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options);\n }\n }\n\n return result;\n};\n\n\n/** internal\n * Renderer.renderInlineAsText(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Special kludge for image `alt` attributes to conform CommonMark spec.\n * Don't try to use it! Spec requires to show `alt` content with stripped markup,\n * instead of simple escaping.\n **/\nRenderer.prototype.renderInlineAsText = function (tokens, options, env) {\n var result = '';\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n if (tokens[i].type === 'text') {\n result += tokens[i].content;\n } else if (tokens[i].type === 'image') {\n result += this.renderInlineAsText(tokens[i].children, options, env);\n } else if (tokens[i].type === 'softbreak') {\n result += '\\n';\n }\n }\n\n return result;\n};\n\n\n/**\n * Renderer.render(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Takes token stream and generates HTML. Probably, you will never need to call\n * this method directly.\n **/\nRenderer.prototype.render = function (tokens, options, env) {\n var i, len, type,\n result = '',\n rules = this.rules;\n\n for (i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (type === 'inline') {\n result += this.renderInline(tokens[i].children, options, env);\n } else if (typeof rules[type] !== 'undefined') {\n result += rules[tokens[i].type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options, env);\n }\n }\n\n return result;\n};\n\nmodule.exports = Renderer;\n","/**\n * class Ruler\n *\n * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and\n * [[MarkdownIt#inline]] to manage sequences of functions (rules):\n *\n * - keep rules in defined order\n * - assign the name to each rule\n * - enable/disable rules\n * - add/replace rules\n * - allow assign rules to additional named chains (in the same)\n * - cacheing lists of active rules\n *\n * You will not need use this class directly until write plugins. For simple\n * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and\n * [[MarkdownIt.use]].\n **/\n'use strict';\n\n\n/**\n * new Ruler()\n **/\nfunction Ruler() {\n // List of added rules. Each element is:\n //\n // {\n // name: XXX,\n // enabled: Boolean,\n // fn: Function(),\n // alt: [ name2, name3 ]\n // }\n //\n this.__rules__ = [];\n\n // Cached rule chains.\n //\n // First level - chain name, '' for default.\n // Second level - diginal anchor for fast filtering by charcodes.\n //\n this.__cache__ = null;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Helper methods, should not be used directly\n\n\n// Find rule index by name\n//\nRuler.prototype.__find__ = function (name) {\n for (var i = 0; i < this.__rules__.length; i++) {\n if (this.__rules__[i].name === name) {\n return i;\n }\n }\n return -1;\n};\n\n\n// Build rules lookup cache\n//\nRuler.prototype.__compile__ = function () {\n var self = this;\n var chains = [ '' ];\n\n // collect unique names\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n rule.alt.forEach(function (altName) {\n if (chains.indexOf(altName) < 0) {\n chains.push(altName);\n }\n });\n });\n\n self.__cache__ = {};\n\n chains.forEach(function (chain) {\n self.__cache__[chain] = [];\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n if (chain && rule.alt.indexOf(chain) < 0) { return; }\n\n self.__cache__[chain].push(rule.fn);\n });\n });\n};\n\n\n/**\n * Ruler.at(name, fn [, options])\n * - name (String): rule name to replace.\n * - fn (Function): new rule function.\n * - options (Object): new rule options (not mandatory).\n *\n * Replace rule by name with new function & options. Throws error if name not\n * found.\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * Replace existing typographer replacement rule with new one:\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.at('replacements', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.at = function (name, fn, options) {\n var index = this.__find__(name);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + name); }\n\n this.__rules__[index].fn = fn;\n this.__rules__[index].alt = opt.alt || [];\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.before(beforeName, ruleName, fn [, options])\n * - beforeName (String): new rule will be added before this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain before one with given name. See also\n * [[Ruler.after]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.before = function (beforeName, ruleName, fn, options) {\n var index = this.__find__(beforeName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + beforeName); }\n\n this.__rules__.splice(index, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.after(afterName, ruleName, fn [, options])\n * - afterName (String): new rule will be added after this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain after one with given name. See also\n * [[Ruler.before]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.inline.ruler.after('text', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.after = function (afterName, ruleName, fn, options) {\n var index = this.__find__(afterName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + afterName); }\n\n this.__rules__.splice(index + 1, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.push(ruleName, fn [, options])\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Push new rule to the end of chain. See also\n * [[Ruler.before]], [[Ruler.after]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.push('my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.push = function (ruleName, fn, options) {\n var opt = options || {};\n\n this.__rules__.push({\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.enable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to enable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.disable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.enable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and enable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = true;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.enableOnly(list [, ignoreInvalid])\n * - list (String|Array): list of rule names to enable (whitelist).\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names, and disable everything else. If any rule name\n * not found - throw Error. Errors can be disabled by second param.\n *\n * See also [[Ruler.disable]], [[Ruler.enable]].\n **/\nRuler.prototype.enableOnly = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n this.__rules__.forEach(function (rule) { rule.enabled = false; });\n\n this.enable(list, ignoreInvalid);\n};\n\n\n/**\n * Ruler.disable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Disable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.enable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.disable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and disable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = false;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.getRules(chainName) -> Array\n *\n * Return array of active functions (rules) for given chain name. It analyzes\n * rules configuration, compiles caches if not exists and returns result.\n *\n * Default chain name is `''` (empty string). It can't be skipped. That's\n * done intentionally, to keep signature monomorphic for high speed.\n **/\nRuler.prototype.getRules = function (chainName) {\n if (this.__cache__ === null) {\n this.__compile__();\n }\n\n // Chain can be empty, if rules disabled. But we still have to return Array.\n return this.__cache__[chainName] || [];\n};\n\nmodule.exports = Ruler;\n","// Block quotes\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function blockquote(state, startLine, endLine, silent) {\n var adjustTab,\n ch,\n i,\n initial,\n l,\n lastLineEmpty,\n lines,\n nextLine,\n offset,\n oldBMarks,\n oldBSCount,\n oldIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n spaceAfterMarker,\n terminate,\n terminatorRules,\n token,\n isOutdented,\n oldLineMax = state.lineMax,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // check the block quote marker\n if (state.src.charCodeAt(pos++) !== 0x3E/* > */) { return false; }\n\n // we know that it's going to be a valid blockquote,\n // so no point trying to find the end of it in silent mode\n if (silent) { return true; }\n\n // set offset past spaces and \">\"\n initial = offset = state.sCount[startLine] + 1;\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[startLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks = [ state.bMarks[startLine] ];\n state.bMarks[startLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n oldBSCount = [ state.bsCount[startLine] ];\n state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n lastLineEmpty = pos >= max;\n\n oldSCount = [ state.sCount[startLine] ];\n state.sCount[startLine] = offset - initial;\n\n oldTShift = [ state.tShift[startLine] ];\n state.tShift[startLine] = pos - state.bMarks[startLine];\n\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n oldParentType = state.parentType;\n state.parentType = 'blockquote';\n\n // Search the end of the block\n //\n // Block ends with either:\n // 1. an empty line outside:\n // ```\n // > test\n //\n // ```\n // 2. an empty line inside:\n // ```\n // >\n // test\n // ```\n // 3. another tag:\n // ```\n // > test\n // - - -\n // ```\n for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {\n // check if it's outdented, i.e. it's inside list item and indented\n // less than said list item:\n //\n // ```\n // 1. anything\n // > current blockquote\n // 2. checking this line\n // ```\n isOutdented = state.sCount[nextLine] < state.blkIndent;\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos >= max) {\n // Case 1: line is not inside the blockquote, and this line is empty.\n break;\n }\n\n if (state.src.charCodeAt(pos++) === 0x3E/* > */ && !isOutdented) {\n // This line is inside the blockquote.\n\n // set offset past spaces and \">\"\n initial = offset = state.sCount[nextLine] + 1;\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[nextLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n state.bMarks[nextLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n lastLineEmpty = pos >= max;\n\n oldBSCount.push(state.bsCount[nextLine]);\n state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] = offset - initial;\n\n oldTShift.push(state.tShift[nextLine]);\n state.tShift[nextLine] = pos - state.bMarks[nextLine];\n continue;\n }\n\n // Case 2: line is not inside the blockquote, and the last line was empty.\n if (lastLineEmpty) { break; }\n\n // Case 3: another tag found.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) {\n // Quirk to enforce \"hard termination mode\" for paragraphs;\n // normally if you call `tokenize(state, startLine, nextLine)`,\n // paragraphs will look below nextLine for paragraph continuation,\n // but if blockquote is terminated by another tag, they shouldn't\n state.lineMax = nextLine;\n\n if (state.blkIndent !== 0) {\n // state.blkIndent was non-zero, we now set it to zero,\n // so we need to re-calculate all offsets to appear as\n // if indent wasn't changed\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] -= state.blkIndent;\n }\n\n break;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n\n // A negative indentation means that this is a paragraph continuation\n //\n state.sCount[nextLine] = -1;\n }\n\n oldIndent = state.blkIndent;\n state.blkIndent = 0;\n\n token = state.push('blockquote_open', 'blockquote', 1);\n token.markup = '>';\n token.map = lines = [ startLine, 0 ];\n\n state.md.block.tokenize(state, startLine, nextLine);\n\n token = state.push('blockquote_close', 'blockquote', -1);\n token.markup = '>';\n\n state.lineMax = oldLineMax;\n state.parentType = oldParentType;\n lines[1] = state.line;\n\n // Restore original tShift; this might not be necessary since the parser\n // has already been here, but just to make sure we can do that.\n for (i = 0; i < oldTShift.length; i++) {\n state.bMarks[i + startLine] = oldBMarks[i];\n state.tShift[i + startLine] = oldTShift[i];\n state.sCount[i + startLine] = oldSCount[i];\n state.bsCount[i + startLine] = oldBSCount[i];\n }\n state.blkIndent = oldIndent;\n\n return true;\n};\n","// Code block (4 spaces padded)\n\n'use strict';\n\n\nmodule.exports = function code(state, startLine, endLine/*, silent*/) {\n var nextLine, last, token;\n\n if (state.sCount[startLine] - state.blkIndent < 4) { return false; }\n\n last = nextLine = startLine + 1;\n\n while (nextLine < endLine) {\n if (state.isEmpty(nextLine)) {\n nextLine++;\n continue;\n }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n nextLine++;\n last = nextLine;\n continue;\n }\n break;\n }\n\n state.line = last;\n\n token = state.push('code_block', 'code', 0);\n token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\\n';\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// fences (``` lang, ~~~ lang)\n\n'use strict';\n\n\nmodule.exports = function fence(state, startLine, endLine, silent) {\n var marker, len, params, nextLine, mem, token, markup,\n haveEndMarker = false,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (pos + 3 > max) { return false; }\n\n marker = state.src.charCodeAt(pos);\n\n if (marker !== 0x7E/* ~ */ && marker !== 0x60 /* ` */) {\n return false;\n }\n\n // scan marker length\n mem = pos;\n pos = state.skipChars(pos, marker);\n\n len = pos - mem;\n\n if (len < 3) { return false; }\n\n markup = state.src.slice(mem, pos);\n params = state.src.slice(pos, max);\n\n if (marker === 0x60 /* ` */) {\n if (params.indexOf(String.fromCharCode(marker)) >= 0) {\n return false;\n }\n }\n\n // Since start is found, we can report success here in validation mode\n if (silent) { return true; }\n\n // search end of block\n nextLine = startLine;\n\n for (;;) {\n nextLine++;\n if (nextLine >= endLine) {\n // unclosed block should be autoclosed by end of document.\n // also block seems to be autoclosed by end of parent\n break;\n }\n\n pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max && state.sCount[nextLine] < state.blkIndent) {\n // non-empty line with negative indent should stop the list:\n // - ```\n // test\n break;\n }\n\n if (state.src.charCodeAt(pos) !== marker) { continue; }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n // closing fence should be indented less than 4 spaces\n continue;\n }\n\n pos = state.skipChars(pos, marker);\n\n // closing code fence must be at least as long as the opening one\n if (pos - mem < len) { continue; }\n\n // make sure tail has spaces only\n pos = state.skipSpaces(pos);\n\n if (pos < max) { continue; }\n\n haveEndMarker = true;\n // found!\n break;\n }\n\n // If a fence has heading spaces, they should be removed from its inner block\n len = state.sCount[startLine];\n\n state.line = nextLine + (haveEndMarker ? 1 : 0);\n\n token = state.push('fence', 'code', 0);\n token.info = params;\n token.content = state.getLines(startLine + 1, nextLine, len, true);\n token.markup = markup;\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// heading (#, ##, ...)\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function heading(state, startLine, endLine, silent) {\n var ch, level, tmp, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x23/* # */ || pos >= max) { return false; }\n\n // count heading level\n level = 1;\n ch = state.src.charCodeAt(++pos);\n while (ch === 0x23/* # */ && pos < max && level <= 6) {\n level++;\n ch = state.src.charCodeAt(++pos);\n }\n\n if (level > 6 || (pos < max && !isSpace(ch))) { return false; }\n\n if (silent) { return true; }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos);\n tmp = state.skipCharsBack(max, 0x23, pos); // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp;\n }\n\n state.line = startLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = '########'.slice(0, level);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = state.src.slice(pos, max).trim();\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = '########'.slice(0, level);\n\n return true;\n};\n","// Horizontal rule\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function hr(state, startLine, endLine, silent) {\n var marker, cnt, ch, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n marker = state.src.charCodeAt(pos++);\n\n // Check hr marker\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x5F/* _ */) {\n return false;\n }\n\n // markers can be mixed with spaces, but there should be at least 3 of them\n\n cnt = 1;\n while (pos < max) {\n ch = state.src.charCodeAt(pos++);\n if (ch !== marker && !isSpace(ch)) { return false; }\n if (ch === marker) { cnt++; }\n }\n\n if (cnt < 3) { return false; }\n\n if (silent) { return true; }\n\n state.line = startLine + 1;\n\n token = state.push('hr', 'hr', 0);\n token.map = [ startLine, state.line ];\n token.markup = Array(cnt + 1).join(String.fromCharCode(marker));\n\n return true;\n};\n","// HTML block\n\n'use strict';\n\n\nvar block_names = require('../common/html_blocks');\nvar HTML_OPEN_CLOSE_TAG_RE = require('../common/html_re').HTML_OPEN_CLOSE_TAG_RE;\n\n// An array of opening and corresponding closing sequences for html tags,\n// last argument defines whether it can terminate a paragraph or not\n//\nvar HTML_SEQUENCES = [\n [ /^<(script|pre|style|textarea)(?=(\\s|>|$))/i, /<\\/(script|pre|style|textarea)>/i, true ],\n [ /^<!--/, /-->/, true ],\n [ /^<\\?/, /\\?>/, true ],\n [ /^<![A-Z]/, />/, true ],\n [ /^<!\\[CDATA\\[/, /\\]\\]>/, true ],\n [ new RegExp('^</?(' + block_names.join('|') + ')(?=(\\\\s|/?>|$))', 'i'), /^$/, true ],\n [ new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\\\s*$'), /^$/, false ]\n];\n\n\nmodule.exports = function html_block(state, startLine, endLine, silent) {\n var i, nextLine, token, lineText,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (!state.md.options.html) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n lineText = state.src.slice(pos, max);\n\n for (i = 0; i < HTML_SEQUENCES.length; i++) {\n if (HTML_SEQUENCES[i][0].test(lineText)) { break; }\n }\n\n if (i === HTML_SEQUENCES.length) { return false; }\n\n if (silent) {\n // true if this sequence can be a terminator, false otherwise\n return HTML_SEQUENCES[i][2];\n }\n\n nextLine = startLine + 1;\n\n // If we are here - we detected HTML block.\n // Let's roll down till block end.\n if (!HTML_SEQUENCES[i][1].test(lineText)) {\n for (; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n lineText = state.src.slice(pos, max);\n\n if (HTML_SEQUENCES[i][1].test(lineText)) {\n if (lineText.length !== 0) { nextLine++; }\n break;\n }\n }\n }\n\n state.line = nextLine;\n\n token = state.push('html_block', '', 0);\n token.map = [ startLine, nextLine ];\n token.content = state.getLines(startLine, nextLine, state.blkIndent, true);\n\n return true;\n};\n","// lheading (---, ===)\n\n'use strict';\n\n\nmodule.exports = function lheading(state, startLine, endLine/*, silent*/) {\n var content, terminate, i, l, token, pos, max, level, marker,\n nextLine = startLine + 1, oldParentType,\n terminatorRules = state.md.block.ruler.getRules('paragraph');\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph'; // use paragraph to match terminatorRules\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n //\n // Check for underline in setext header\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max) {\n marker = state.src.charCodeAt(pos);\n\n if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {\n pos = state.skipChars(pos, marker);\n pos = state.skipSpaces(pos);\n\n if (pos >= max) {\n level = (marker === 0x3D/* = */ ? 1 : 2);\n break;\n }\n }\n }\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n if (!level) {\n // Didn't find valid underline\n return false;\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = String.fromCharCode(marker);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line - 1 ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = String.fromCharCode(marker);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","// Lists\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\n// Search `[-+*][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipBulletListMarker(state, startLine) {\n var marker, pos, max, ch;\n\n pos = state.bMarks[startLine] + state.tShift[startLine];\n max = state.eMarks[startLine];\n\n marker = state.src.charCodeAt(pos++);\n // Check bullet\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x2B/* + */) {\n return -1;\n }\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" -test \" - is not a list item\n return -1;\n }\n }\n\n return pos;\n}\n\n// Search `\\d+[.)][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipOrderedListMarker(state, startLine) {\n var ch,\n start = state.bMarks[startLine] + state.tShift[startLine],\n pos = start,\n max = state.eMarks[startLine];\n\n // List marker should have at least 2 chars (digit + dot)\n if (pos + 1 >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch < 0x30/* 0 */ || ch > 0x39/* 9 */) { return -1; }\n\n for (;;) {\n // EOL -> fail\n if (pos >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch >= 0x30/* 0 */ && ch <= 0x39/* 9 */) {\n\n // List marker should have no more than 9 digits\n // (prevents integer overflow in browsers)\n if (pos - start >= 10) { return -1; }\n\n continue;\n }\n\n // found valid marker\n if (ch === 0x29/* ) */ || ch === 0x2e/* . */) {\n break;\n }\n\n return -1;\n }\n\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" 1.test \" - is not a list item\n return -1;\n }\n }\n return pos;\n}\n\nfunction markTightParagraphs(state, idx) {\n var i, l,\n level = state.level + 2;\n\n for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {\n if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {\n state.tokens[i + 2].hidden = true;\n state.tokens[i].hidden = true;\n i += 2;\n }\n }\n}\n\n\nmodule.exports = function list(state, startLine, endLine, silent) {\n var ch,\n contentStart,\n i,\n indent,\n indentAfterMarker,\n initial,\n isOrdered,\n itemLines,\n l,\n listLines,\n listTokIdx,\n markerCharCode,\n markerValue,\n max,\n nextLine,\n offset,\n oldListIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n oldTight,\n pos,\n posAfterMarker,\n prevEmptyEnd,\n start,\n terminate,\n terminatorRules,\n token,\n isTerminatingParagraph = false,\n tight = true;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // Special case:\n // - item 1\n // - item 2\n // - item 3\n // - item 4\n // - this one is a paragraph continuation\n if (state.listIndent >= 0 &&\n state.sCount[startLine] - state.listIndent >= 4 &&\n state.sCount[startLine] < state.blkIndent) {\n return false;\n }\n\n // limit conditions when list can interrupt\n // a paragraph (validation mode only)\n if (silent && state.parentType === 'paragraph') {\n // Next list item should still terminate previous list item;\n //\n // This code can fail if plugins use blkIndent as well as lists,\n // but I hope the spec gets fixed long before that happens.\n //\n if (state.sCount[startLine] >= state.blkIndent) {\n isTerminatingParagraph = true;\n }\n }\n\n // Detect list type and position after marker\n if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) {\n isOrdered = true;\n start = state.bMarks[startLine] + state.tShift[startLine];\n markerValue = Number(state.src.slice(start, posAfterMarker - 1));\n\n // If we're starting a new ordered list right after\n // a paragraph, it should start with 1.\n if (isTerminatingParagraph && markerValue !== 1) return false;\n\n } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) {\n isOrdered = false;\n\n } else {\n return false;\n }\n\n // If we're starting a new unordered list right after\n // a paragraph, first line should not be empty.\n if (isTerminatingParagraph) {\n if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine]) return false;\n }\n\n // We should terminate list on style change. Remember first one to compare.\n markerCharCode = state.src.charCodeAt(posAfterMarker - 1);\n\n // For validation mode we can terminate immediately\n if (silent) { return true; }\n\n // Start list\n listTokIdx = state.tokens.length;\n\n if (isOrdered) {\n token = state.push('ordered_list_open', 'ol', 1);\n if (markerValue !== 1) {\n token.attrs = [ [ 'start', markerValue ] ];\n }\n\n } else {\n token = state.push('bullet_list_open', 'ul', 1);\n }\n\n token.map = listLines = [ startLine, 0 ];\n token.markup = String.fromCharCode(markerCharCode);\n\n //\n // Iterate list items\n //\n\n nextLine = startLine;\n prevEmptyEnd = false;\n terminatorRules = state.md.block.ruler.getRules('list');\n\n oldParentType = state.parentType;\n state.parentType = 'list';\n\n while (nextLine < endLine) {\n pos = posAfterMarker;\n max = state.eMarks[nextLine];\n\n initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]);\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine]) % 4;\n } else if (ch === 0x20) {\n offset++;\n } else {\n break;\n }\n\n pos++;\n }\n\n contentStart = pos;\n\n if (contentStart >= max) {\n // trimming space in \"- \\n 3\" case, indent is 1 here\n indentAfterMarker = 1;\n } else {\n indentAfterMarker = offset - initial;\n }\n\n // If we have more than 4 spaces, the indent is 1\n // (the rest is just indented code block)\n if (indentAfterMarker > 4) { indentAfterMarker = 1; }\n\n // \" - test\"\n // ^^^^^ - calculating total length of this thing\n indent = initial + indentAfterMarker;\n\n // Run subparser & write tokens\n token = state.push('list_item_open', 'li', 1);\n token.markup = String.fromCharCode(markerCharCode);\n token.map = itemLines = [ startLine, 0 ];\n if (isOrdered) {\n token.info = state.src.slice(start, posAfterMarker - 1);\n }\n\n // change current state, then restore it after parser subcall\n oldTight = state.tight;\n oldTShift = state.tShift[startLine];\n oldSCount = state.sCount[startLine];\n\n // - example list\n // ^ listIndent position will be here\n // ^ blkIndent position will be here\n //\n oldListIndent = state.listIndent;\n state.listIndent = state.blkIndent;\n state.blkIndent = indent;\n\n state.tight = true;\n state.tShift[startLine] = contentStart - state.bMarks[startLine];\n state.sCount[startLine] = offset;\n\n if (contentStart >= max && state.isEmpty(startLine + 1)) {\n // workaround for this case\n // (list item is empty, list terminates before \"foo\"):\n // ~~~~~~~~\n // -\n //\n // foo\n // ~~~~~~~~\n state.line = Math.min(state.line + 2, endLine);\n } else {\n state.md.block.tokenize(state, startLine, endLine, true);\n }\n\n // If any of list item is tight, mark list as tight\n if (!state.tight || prevEmptyEnd) {\n tight = false;\n }\n // Item become loose if finish with empty line,\n // but we should filter last element, because it means list finish\n prevEmptyEnd = (state.line - startLine) > 1 && state.isEmpty(state.line - 1);\n\n state.blkIndent = state.listIndent;\n state.listIndent = oldListIndent;\n state.tShift[startLine] = oldTShift;\n state.sCount[startLine] = oldSCount;\n state.tight = oldTight;\n\n token = state.push('list_item_close', 'li', -1);\n token.markup = String.fromCharCode(markerCharCode);\n\n nextLine = startLine = state.line;\n itemLines[1] = nextLine;\n contentStart = state.bMarks[startLine];\n\n if (nextLine >= endLine) { break; }\n\n //\n // Try to check if list is terminated or continued.\n //\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { break; }\n\n // fail if terminating block found\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n\n // fail if list has another type\n if (isOrdered) {\n posAfterMarker = skipOrderedListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n start = state.bMarks[nextLine] + state.tShift[nextLine];\n } else {\n posAfterMarker = skipBulletListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n }\n\n if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { break; }\n }\n\n // Finalize list\n if (isOrdered) {\n token = state.push('ordered_list_close', 'ol', -1);\n } else {\n token = state.push('bullet_list_close', 'ul', -1);\n }\n token.markup = String.fromCharCode(markerCharCode);\n\n listLines[1] = nextLine;\n state.line = nextLine;\n\n state.parentType = oldParentType;\n\n // mark paragraphs tight if needed\n if (tight) {\n markTightParagraphs(state, listTokIdx);\n }\n\n return true;\n};\n","// Paragraph\n\n'use strict';\n\n\nmodule.exports = function paragraph(state, startLine/*, endLine*/) {\n var content, terminate, i, l, token, oldParentType,\n nextLine = startLine + 1,\n terminatorRules = state.md.block.ruler.getRules('paragraph'),\n endLine = state.lineMax;\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph';\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine;\n\n token = state.push('paragraph_open', 'p', 1);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('paragraph_close', 'p', -1);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","'use strict';\n\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function reference(state, startLine, _endLine, silent) {\n var ch,\n destEndPos,\n destEndLineNo,\n endLine,\n href,\n i,\n l,\n label,\n labelEnd,\n oldParentType,\n res,\n start,\n str,\n terminate,\n terminatorRules,\n title,\n lines = 0,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine],\n nextLine = startLine + 1;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false; }\n\n // Simple check to quickly interrupt scan on [link](url) at the start of line.\n // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54\n while (++pos < max) {\n if (state.src.charCodeAt(pos) === 0x5D /* ] */ &&\n state.src.charCodeAt(pos - 1) !== 0x5C/* \\ */) {\n if (pos + 1 === max) { return false; }\n if (state.src.charCodeAt(pos + 1) !== 0x3A/* : */) { return false; }\n break;\n }\n }\n\n endLine = state.lineMax;\n\n // jump line-by-line until empty one or EOF\n terminatorRules = state.md.block.ruler.getRules('reference');\n\n oldParentType = state.parentType;\n state.parentType = 'reference';\n\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n max = str.length;\n\n for (pos = 1; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x5B /* [ */) {\n return false;\n } else if (ch === 0x5D /* ] */) {\n labelEnd = pos;\n break;\n } else if (ch === 0x0A /* \\n */) {\n lines++;\n } else if (ch === 0x5C /* \\ */) {\n pos++;\n if (pos < max && str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n }\n\n if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false; }\n\n // [label]: destination 'title'\n // ^^^ skip optional whitespace here\n for (pos = labelEnd + 2; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^^^^^ parse this\n res = state.md.helpers.parseLinkDestination(str, pos, max);\n if (!res.ok) { return false; }\n\n href = state.md.normalizeLink(res.str);\n if (!state.md.validateLink(href)) { return false; }\n\n pos = res.pos;\n lines += res.lines;\n\n // save cursor state, we could require to rollback later\n destEndPos = pos;\n destEndLineNo = lines;\n\n // [label]: destination 'title'\n // ^^^ skipping those spaces\n start = pos;\n for (; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^ parse this\n res = state.md.helpers.parseLinkTitle(str, pos, max);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n lines += res.lines;\n } else {\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n }\n\n // skip trailing spaces until the rest of the line\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n if (title) {\n // garbage at the end of the line after title,\n // but it could still be a valid reference if we roll back\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n }\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n // garbage at the end of the line\n return false;\n }\n\n label = normalizeReference(str.slice(1, labelEnd));\n if (!label) {\n // CommonMark 0.20 disallows empty labels\n return false;\n }\n\n // Reference can not terminate anything. This check is for safety only.\n /*istanbul ignore if*/\n if (silent) { return true; }\n\n if (typeof state.env.references === 'undefined') {\n state.env.references = {};\n }\n if (typeof state.env.references[label] === 'undefined') {\n state.env.references[label] = { title: title, href: href };\n }\n\n state.parentType = oldParentType;\n\n state.line = startLine + lines + 1;\n return true;\n};\n","// Parser state class\n\n'use strict';\n\nvar Token = require('../token');\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction StateBlock(src, md, env, tokens) {\n var ch, s, start, pos, len, indent, offset, indent_found;\n\n this.src = src;\n\n // link to parser instance\n this.md = md;\n\n this.env = env;\n\n //\n // Internal state vartiables\n //\n\n this.tokens = tokens;\n\n this.bMarks = []; // line begin offsets for fast jumps\n this.eMarks = []; // line end offsets for fast jumps\n this.tShift = []; // offsets of the first non-space characters (tabs not expanded)\n this.sCount = []; // indents for each line (tabs expanded)\n\n // An amount of virtual spaces (tabs expanded) between beginning\n // of each line (bMarks) and real beginning of that line.\n //\n // It exists only as a hack because blockquotes override bMarks\n // losing information in the process.\n //\n // It's used only when expanding tabs, you can think about it as\n // an initial tab length, e.g. bsCount=21 applied to string `\\t123`\n // means first tab should be expanded to 4-21%4 === 3 spaces.\n //\n this.bsCount = [];\n\n // block parser variables\n this.blkIndent = 0; // required block content indent (for example, if we are\n // inside a list, it would be positioned after list marker)\n this.line = 0; // line index in src\n this.lineMax = 0; // lines count\n this.tight = false; // loose/tight mode for lists\n this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)\n this.listIndent = -1; // indent of the current list block (-1 if there isn't any)\n\n // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'\n // used in lists to determine if they interrupt a paragraph\n this.parentType = 'root';\n\n this.level = 0;\n\n // renderer\n this.result = '';\n\n // Create caches\n // Generate markers.\n s = this.src;\n indent_found = false;\n\n for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {\n ch = s.charCodeAt(pos);\n\n if (!indent_found) {\n if (isSpace(ch)) {\n indent++;\n\n if (ch === 0x09) {\n offset += 4 - offset % 4;\n } else {\n offset++;\n }\n continue;\n } else {\n indent_found = true;\n }\n }\n\n if (ch === 0x0A || pos === len - 1) {\n if (ch !== 0x0A) { pos++; }\n this.bMarks.push(start);\n this.eMarks.push(pos);\n this.tShift.push(indent);\n this.sCount.push(offset);\n this.bsCount.push(0);\n\n indent_found = false;\n indent = 0;\n offset = 0;\n start = pos + 1;\n }\n }\n\n // Push fake entry to simplify cache bounds checks\n this.bMarks.push(s.length);\n this.eMarks.push(s.length);\n this.tShift.push(0);\n this.sCount.push(0);\n this.bsCount.push(0);\n\n this.lineMax = this.bMarks.length - 1; // don't count last fake line\n}\n\n// Push new token to \"stream\".\n//\nStateBlock.prototype.push = function (type, tag, nesting) {\n var token = new Token(type, tag, nesting);\n token.block = true;\n\n if (nesting < 0) this.level--; // closing tag\n token.level = this.level;\n if (nesting > 0) this.level++; // opening tag\n\n this.tokens.push(token);\n return token;\n};\n\nStateBlock.prototype.isEmpty = function isEmpty(line) {\n return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];\n};\n\nStateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {\n for (var max = this.lineMax; from < max; from++) {\n if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {\n break;\n }\n }\n return from;\n};\n\n// Skip spaces from given position.\nStateBlock.prototype.skipSpaces = function skipSpaces(pos) {\n var ch;\n\n for (var max = this.src.length; pos < max; pos++) {\n ch = this.src.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n }\n return pos;\n};\n\n// Skip spaces from given position in reverse.\nStateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (!isSpace(this.src.charCodeAt(--pos))) { return pos + 1; }\n }\n return pos;\n};\n\n// Skip char codes from given position\nStateBlock.prototype.skipChars = function skipChars(pos, code) {\n for (var max = this.src.length; pos < max; pos++) {\n if (this.src.charCodeAt(pos) !== code) { break; }\n }\n return pos;\n};\n\n// Skip char codes reverse from given position - 1\nStateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (code !== this.src.charCodeAt(--pos)) { return pos + 1; }\n }\n return pos;\n};\n\n// cut lines range from source.\nStateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {\n var i, lineIndent, ch, first, last, queue, lineStart,\n line = begin;\n\n if (begin >= end) {\n return '';\n }\n\n queue = new Array(end - begin);\n\n for (i = 0; line < end; line++, i++) {\n lineIndent = 0;\n lineStart = first = this.bMarks[line];\n\n if (line + 1 < end || keepLastLF) {\n // No need for bounds check because we have fake entry on tail.\n last = this.eMarks[line] + 1;\n } else {\n last = this.eMarks[line];\n }\n\n while (first < last && lineIndent < indent) {\n ch = this.src.charCodeAt(first);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;\n } else {\n lineIndent++;\n }\n } else if (first - lineStart < this.tShift[line]) {\n // patched tShift masked characters to look like spaces (blockquotes, list markers)\n lineIndent++;\n } else {\n break;\n }\n\n first++;\n }\n\n if (lineIndent > indent) {\n // partially expanding tabs in code blocks, e.g '\\t\\tfoobar'\n // with indent=2 becomes ' \\tfoobar'\n queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);\n } else {\n queue[i] = this.src.slice(first, last);\n }\n }\n\n return queue.join('');\n};\n\n// re-export Token class to use in block rules\nStateBlock.prototype.Token = Token;\n\n\nmodule.exports = StateBlock;\n","// GFM table, https://github.github.com/gfm/#tables-extension-\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction getLine(state, line) {\n var pos = state.bMarks[line] + state.tShift[line],\n max = state.eMarks[line];\n\n return state.src.slice(pos, max);\n}\n\nfunction escapedSplit(str) {\n var result = [],\n pos = 0,\n max = str.length,\n ch,\n isEscaped = false,\n lastPos = 0,\n current = '';\n\n ch = str.charCodeAt(pos);\n\n while (pos < max) {\n if (ch === 0x7c/* | */) {\n if (!isEscaped) {\n // pipe separating cells, '|'\n result.push(current + str.substring(lastPos, pos));\n current = '';\n lastPos = pos + 1;\n } else {\n // escaped pipe, '\\|'\n current += str.substring(lastPos, pos - 1);\n lastPos = pos;\n }\n }\n\n isEscaped = (ch === 0x5c/* \\ */);\n pos++;\n\n ch = str.charCodeAt(pos);\n }\n\n result.push(current + str.substring(lastPos));\n\n return result;\n}\n\n\nmodule.exports = function table(state, startLine, endLine, silent) {\n var ch, lineText, pos, i, l, nextLine, columns, columnCount, token,\n aligns, t, tableLines, tbodyLines, oldParentType, terminate,\n terminatorRules, firstCh, secondCh;\n\n // should have at least two lines\n if (startLine + 2 > endLine) { return false; }\n\n nextLine = startLine + 1;\n\n if (state.sCount[nextLine] < state.blkIndent) { return false; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }\n\n // first character of the second line should be '|', '-', ':',\n // and no other characters are allowed but spaces;\n // basically, this is the equivalent of /^[-:|][-:|\\s]*$/ regexp\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n firstCh = state.src.charCodeAt(pos++);\n if (firstCh !== 0x7C/* | */ && firstCh !== 0x2D/* - */ && firstCh !== 0x3A/* : */) { return false; }\n\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n secondCh = state.src.charCodeAt(pos++);\n if (secondCh !== 0x7C/* | */ && secondCh !== 0x2D/* - */ && secondCh !== 0x3A/* : */ && !isSpace(secondCh)) {\n return false;\n }\n\n // if first character is '-', then second character must not be a space\n // (due to parsing ambiguity with list)\n if (firstCh === 0x2D/* - */ && isSpace(secondCh)) { return false; }\n\n while (pos < state.eMarks[nextLine]) {\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */ && !isSpace(ch)) { return false; }\n\n pos++;\n }\n\n lineText = getLine(state, startLine + 1);\n\n columns = lineText.split('|');\n aligns = [];\n for (i = 0; i < columns.length; i++) {\n t = columns[i].trim();\n if (!t) {\n // allow empty columns before and after table, but not in between columns;\n // e.g. allow ` |---| `, disallow ` ---||--- `\n if (i === 0 || i === columns.length - 1) {\n continue;\n } else {\n return false;\n }\n }\n\n if (!/^:?-+:?$/.test(t)) { return false; }\n if (t.charCodeAt(t.length - 1) === 0x3A/* : */) {\n aligns.push(t.charCodeAt(0) === 0x3A/* : */ ? 'center' : 'right');\n } else if (t.charCodeAt(0) === 0x3A/* : */) {\n aligns.push('left');\n } else {\n aligns.push('');\n }\n }\n\n lineText = getLine(state, startLine).trim();\n if (lineText.indexOf('|') === -1) { return false; }\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n columns = escapedSplit(lineText);\n if (columns.length && columns[0] === '') columns.shift();\n if (columns.length && columns[columns.length - 1] === '') columns.pop();\n\n // header row will define an amount of columns in the entire table,\n // and align row should be exactly the same (the rest of the rows can differ)\n columnCount = columns.length;\n if (columnCount === 0 || columnCount !== aligns.length) { return false; }\n\n if (silent) { return true; }\n\n oldParentType = state.parentType;\n state.parentType = 'table';\n\n // use 'blockquote' lists for termination because it's\n // the most similar to tables\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n token = state.push('table_open', 'table', 1);\n token.map = tableLines = [ startLine, 0 ];\n\n token = state.push('thead_open', 'thead', 1);\n token.map = [ startLine, startLine + 1 ];\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ startLine, startLine + 1 ];\n\n for (i = 0; i < columns.length; i++) {\n token = state.push('th_open', 'th', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i].trim();\n token.children = [];\n\n token = state.push('th_close', 'th', -1);\n }\n\n token = state.push('tr_close', 'tr', -1);\n token = state.push('thead_close', 'thead', -1);\n\n for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) { break; }\n lineText = getLine(state, nextLine).trim();\n if (!lineText) { break; }\n if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }\n columns = escapedSplit(lineText);\n if (columns.length && columns[0] === '') columns.shift();\n if (columns.length && columns[columns.length - 1] === '') columns.pop();\n\n if (nextLine === startLine + 2) {\n token = state.push('tbody_open', 'tbody', 1);\n token.map = tbodyLines = [ startLine + 2, 0 ];\n }\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ nextLine, nextLine + 1 ];\n\n for (i = 0; i < columnCount; i++) {\n token = state.push('td_open', 'td', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i] ? columns[i].trim() : '';\n token.children = [];\n\n token = state.push('td_close', 'td', -1);\n }\n token = state.push('tr_close', 'tr', -1);\n }\n\n if (tbodyLines) {\n token = state.push('tbody_close', 'tbody', -1);\n tbodyLines[1] = nextLine;\n }\n\n token = state.push('table_close', 'table', -1);\n tableLines[1] = nextLine;\n\n state.parentType = oldParentType;\n state.line = nextLine;\n return true;\n};\n","'use strict';\n\n\nmodule.exports = function block(state) {\n var token;\n\n if (state.inlineMode) {\n token = new state.Token('inline', '', 0);\n token.content = state.src;\n token.map = [ 0, 1 ];\n token.children = [];\n state.tokens.push(token);\n } else {\n state.md.block.parse(state.src, state.md, state.env, state.tokens);\n }\n};\n","'use strict';\n\nmodule.exports = function inline(state) {\n var tokens = state.tokens, tok, i, l;\n\n // Parse inlines\n for (i = 0, l = tokens.length; i < l; i++) {\n tok = tokens[i];\n if (tok.type === 'inline') {\n state.md.inline.parse(tok.content, state.md, state.env, tok.children);\n }\n }\n};\n","// Replace link-like texts with link nodes.\n//\n// Currently restricted by `md.validateLink()` to http/https/ftp\n//\n'use strict';\n\n\nvar arrayReplaceAt = require('../common/utils').arrayReplaceAt;\n\n\nfunction isLinkOpen(str) {\n return /^<a[>\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nmodule.exports = function linkify(state) {\n var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos,\n level, htmlLinkLevel, url, fullUrl, urlText,\n blockTokens = state.tokens,\n links;\n\n if (!state.md.options.linkify) { return; }\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline' ||\n !state.md.linkify.pretest(blockTokens[j].content)) {\n continue;\n }\n\n tokens = blockTokens[j].children;\n\n htmlLinkLevel = 0;\n\n // We scan from the end, to keep position when new tags added.\n // Use reversed logic in links start/end match\n for (i = tokens.length - 1; i >= 0; i--) {\n currentToken = tokens[i];\n\n // Skip content of markdown links\n if (currentToken.type === 'link_close') {\n i--;\n while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {\n i--;\n }\n continue;\n }\n\n // Skip content of html tag links\n if (currentToken.type === 'html_inline') {\n if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {\n htmlLinkLevel--;\n }\n if (isLinkClose(currentToken.content)) {\n htmlLinkLevel++;\n }\n }\n if (htmlLinkLevel > 0) { continue; }\n\n if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {\n\n text = currentToken.content;\n links = state.md.linkify.match(text);\n\n // Now split string to nodes\n nodes = [];\n level = currentToken.level;\n lastPos = 0;\n\n // forbid escape sequence at the start of the string,\n // this avoids http\\://example.com/ from being linkified as\n // http:<a href=\"//example.com/\">//example.com/</a>\n if (links.length > 0 &&\n links[0].index === 0 &&\n i > 0 &&\n tokens[i - 1].type === 'text_special') {\n links = links.slice(1);\n }\n\n for (ln = 0; ln < links.length; ln++) {\n url = links[ln].url;\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { continue; }\n\n urlText = links[ln].text;\n\n // Linkifier might send raw hostnames like \"example.com\", where url\n // starts with domain name. So we prepend http:// in those cases,\n // and remove it afterwards.\n //\n if (!links[ln].schema) {\n urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\\/\\//, '');\n } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {\n urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');\n } else {\n urlText = state.md.normalizeLinkText(urlText);\n }\n\n pos = links[ln].index;\n\n if (pos > lastPos) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos, pos);\n token.level = level;\n nodes.push(token);\n }\n\n token = new state.Token('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.level = level++;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n token = new state.Token('text', '', 0);\n token.content = urlText;\n token.level = level;\n nodes.push(token);\n\n token = new state.Token('link_close', 'a', -1);\n token.level = --level;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n lastPos = links[ln].lastIndex;\n }\n if (lastPos < text.length) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos);\n token.level = level;\n nodes.push(token);\n }\n\n // replace current node\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);\n }\n }\n }\n};\n","// Normalize input string\n\n'use strict';\n\n\n// https://spec.commonmark.org/0.29/#line-ending\nvar NEWLINES_RE = /\\r\\n?|\\n/g;\nvar NULL_RE = /\\0/g;\n\n\nmodule.exports = function normalize(state) {\n var str;\n\n // Normalize newlines\n str = state.src.replace(NEWLINES_RE, '\\n');\n\n // Replace NULL characters\n str = str.replace(NULL_RE, '\\uFFFD');\n\n state.src = str;\n};\n","// Simple typographic replacements\n//\n// (c) (C) → ©\n// (tm) (TM) → ™\n// (r) (R) → ®\n// +- → ±\n// (p) (P) -> §\n// ... → … (also ?.... → ?.., !.... → !..)\n// ???????? → ???, !!!!! → !!!, `,,` → `,`\n// -- → –, --- → —\n//\n'use strict';\n\n// TODO:\n// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾\n// - multiplications 2 x 4 -> 2 × 4\n\nvar RARE_RE = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/;\n\n// Workaround for phantomjs - need regex without /g flag,\n// or root check will fail every second time\nvar SCOPED_ABBR_TEST_RE = /\\((c|tm|r)\\)/i;\n\nvar SCOPED_ABBR_RE = /\\((c|tm|r)\\)/ig;\nvar SCOPED_ABBR = {\n c: '©',\n r: '®',\n tm: '™'\n};\n\nfunction replaceFn(match, name) {\n return SCOPED_ABBR[name.toLowerCase()];\n}\n\nfunction replace_scoped(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\nfunction replace_rare(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n if (RARE_RE.test(token.content)) {\n token.content = token.content\n .replace(/\\+-/g, '±')\n // .., ..., ....... -> …\n // but ?..... & !..... -> ?.. & !..\n .replace(/\\.{2,}/g, '…').replace(/([?!])…/g, '$1..')\n .replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')\n // em-dash\n .replace(/(^|[^-])---(?=[^-]|$)/mg, '$1\\u2014')\n // en-dash\n .replace(/(^|\\s)--(?=\\s|$)/mg, '$1\\u2013')\n .replace(/(^|[^-\\s])--(?=[^-\\s]|$)/mg, '$1\\u2013');\n }\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\n\nmodule.exports = function replace(state) {\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline') { continue; }\n\n if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {\n replace_scoped(state.tokens[blkIdx].children);\n }\n\n if (RARE_RE.test(state.tokens[blkIdx].content)) {\n replace_rare(state.tokens[blkIdx].children);\n }\n\n }\n};\n","// Convert straight quotation marks to typographic ones\n//\n'use strict';\n\n\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\nvar QUOTE_TEST_RE = /['\"]/;\nvar QUOTE_RE = /['\"]/g;\nvar APOSTROPHE = '\\u2019'; /* ’ */\n\n\nfunction replaceAt(str, index, ch) {\n return str.slice(0, index) + ch + str.slice(index + 1);\n}\n\nfunction process_inlines(tokens, state) {\n var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar,\n isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace,\n canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;\n\n stack = [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n\n thisLevel = tokens[i].level;\n\n for (j = stack.length - 1; j >= 0; j--) {\n if (stack[j].level <= thisLevel) { break; }\n }\n stack.length = j + 1;\n\n if (token.type !== 'text') { continue; }\n\n text = token.content;\n pos = 0;\n max = text.length;\n\n /*eslint no-labels:0,block-scoped-var:0*/\n OUTER:\n while (pos < max) {\n QUOTE_RE.lastIndex = pos;\n t = QUOTE_RE.exec(text);\n if (!t) { break; }\n\n canOpen = canClose = true;\n pos = t.index + 1;\n isSingle = (t[0] === \"'\");\n\n // Find previous character,\n // default to space if it's the beginning of the line\n //\n lastChar = 0x20;\n\n if (t.index - 1 >= 0) {\n lastChar = text.charCodeAt(t.index - 1);\n } else {\n for (j = i - 1; j >= 0; j--) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20\n if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'\n\n lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\n break;\n }\n }\n\n // Find next character,\n // default to space if it's the end of the line\n //\n nextChar = 0x20;\n\n if (pos < max) {\n nextChar = text.charCodeAt(pos);\n } else {\n for (j = i + 1; j < tokens.length; j++) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20\n if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'\n\n nextChar = tokens[j].content.charCodeAt(0);\n break;\n }\n }\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n canOpen = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n canOpen = false;\n }\n }\n\n if (isLastWhiteSpace) {\n canClose = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n canClose = false;\n }\n }\n\n if (nextChar === 0x22 /* \" */ && t[0] === '\"') {\n if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {\n // special case: 1\"\" - count first quote as an inch\n canClose = canOpen = false;\n }\n }\n\n if (canOpen && canClose) {\n // Replace quotes in the middle of punctuation sequence, but not\n // in the middle of the words, i.e.:\n //\n // 1. foo \" bar \" baz - not replaced\n // 2. foo-\"-bar-\"-baz - replaced\n // 3. foo\"bar\"baz - not replaced\n //\n canOpen = isLastPunctChar;\n canClose = isNextPunctChar;\n }\n\n if (!canOpen && !canClose) {\n // middle of word\n if (isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n continue;\n }\n\n if (canClose) {\n // this could be a closing quote, rewind the stack to get a match\n for (j = stack.length - 1; j >= 0; j--) {\n item = stack[j];\n if (stack[j].level < thisLevel) { break; }\n if (item.single === isSingle && stack[j].level === thisLevel) {\n item = stack[j];\n\n if (isSingle) {\n openQuote = state.md.options.quotes[2];\n closeQuote = state.md.options.quotes[3];\n } else {\n openQuote = state.md.options.quotes[0];\n closeQuote = state.md.options.quotes[1];\n }\n\n // replace token.content *before* tokens[item.token].content,\n // because, if they are pointing at the same token, replaceAt\n // could mess up indices when quote length != 1\n token.content = replaceAt(token.content, t.index, closeQuote);\n tokens[item.token].content = replaceAt(\n tokens[item.token].content, item.pos, openQuote);\n\n pos += closeQuote.length - 1;\n if (item.token === i) { pos += openQuote.length - 1; }\n\n text = token.content;\n max = text.length;\n\n stack.length = j;\n continue OUTER;\n }\n }\n }\n\n if (canOpen) {\n stack.push({\n token: i,\n pos: t.index,\n single: isSingle,\n level: thisLevel\n });\n } else if (canClose && isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n }\n }\n}\n\n\nmodule.exports = function smartquotes(state) {\n /*eslint max-depth:0*/\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline' ||\n !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {\n continue;\n }\n\n process_inlines(state.tokens[blkIdx].children, state);\n }\n};\n","// Core state object\n//\n'use strict';\n\nvar Token = require('../token');\n\n\nfunction StateCore(src, md, env) {\n this.src = src;\n this.env = env;\n this.tokens = [];\n this.inlineMode = false;\n this.md = md; // link to parser instance\n}\n\n// re-export Token class to use in core rules\nStateCore.prototype.Token = Token;\n\n\nmodule.exports = StateCore;\n","// Join raw text tokens with the rest of the text\n//\n// This is set as a separate rule to provide an opportunity for plugins\n// to run text replacements after text join, but before escape join.\n//\n// For example, `\\:)` shouldn't be replaced with an emoji.\n//\n'use strict';\n\n\nmodule.exports = function text_join(state) {\n var j, l, tokens, curr, max, last,\n blockTokens = state.tokens;\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline') continue;\n\n tokens = blockTokens[j].children;\n max = tokens.length;\n\n for (curr = 0; curr < max; curr++) {\n if (tokens[curr].type === 'text_special') {\n tokens[curr].type = 'text';\n }\n }\n\n for (curr = last = 0; curr < max; curr++) {\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n }\n};\n","// Process autolinks '<protocol:...>'\n\n'use strict';\n\n\n/*eslint max-len:0*/\nvar EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;\nvar AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)$/;\n\n\nmodule.exports = function autolink(state, silent) {\n var url, fullUrl, token, ch, start, max,\n pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n start = state.pos;\n max = state.posMax;\n\n for (;;) {\n if (++pos >= max) return false;\n\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x3C /* < */) return false;\n if (ch === 0x3E /* > */) break;\n }\n\n url = state.src.slice(start + 1, pos);\n\n if (AUTOLINK_RE.test(url)) {\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += url.length + 2;\n return true;\n }\n\n if (EMAIL_RE.test(url)) {\n fullUrl = state.md.normalizeLink('mailto:' + url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += url.length + 2;\n return true;\n }\n\n return false;\n};\n","// Parse backticks\n\n'use strict';\n\n\nmodule.exports = function backtick(state, silent) {\n var start, max, marker, token, matchStart, matchEnd, openerLength, closerLength,\n pos = state.pos,\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x60/* ` */) { return false; }\n\n start = pos;\n pos++;\n max = state.posMax;\n\n // scan marker length\n while (pos < max && state.src.charCodeAt(pos) === 0x60/* ` */) { pos++; }\n\n marker = state.src.slice(start, pos);\n openerLength = marker.length;\n\n if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) {\n if (!silent) state.pending += marker;\n state.pos += openerLength;\n return true;\n }\n\n matchStart = matchEnd = pos;\n\n // Nothing found in the cache, scan until the end of the line (or until marker is found)\n while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {\n matchEnd = matchStart + 1;\n\n // scan marker length\n while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60/* ` */) { matchEnd++; }\n\n closerLength = matchEnd - matchStart;\n\n if (closerLength === openerLength) {\n // Found matching closer length.\n if (!silent) {\n token = state.push('code_inline', 'code', 0);\n token.markup = marker;\n token.content = state.src.slice(pos, matchStart)\n .replace(/\\n/g, ' ')\n .replace(/^ (.+) $/, '$1');\n }\n state.pos = matchEnd;\n return true;\n }\n\n // Some different length found, put it in cache as upper limit of where closer can be found\n state.backticks[closerLength] = matchStart;\n }\n\n // Scanned through the end, didn't find anything\n state.backticksScanned = true;\n\n if (!silent) state.pending += marker;\n state.pos += openerLength;\n return true;\n};\n","// For each opening emphasis-like marker find a matching closing one\n//\n'use strict';\n\n\nfunction processDelimiters(state, delimiters) {\n var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx,\n isOddMatch, lastJump,\n openersBottom = {},\n max = delimiters.length;\n\n if (!max) return;\n\n // headerIdx is the first delimiter of the current (where closer is) delimiter run\n var headerIdx = 0;\n var lastTokenIdx = -2; // needs any value lower than -1\n var jumps = [];\n\n for (closerIdx = 0; closerIdx < max; closerIdx++) {\n closer = delimiters[closerIdx];\n\n jumps.push(0);\n\n // markers belong to same delimiter run if:\n // - they have adjacent tokens\n // - AND markers are the same\n //\n if (delimiters[headerIdx].marker !== closer.marker || lastTokenIdx !== closer.token - 1) {\n headerIdx = closerIdx;\n }\n\n lastTokenIdx = closer.token;\n\n // Length is only used for emphasis-specific \"rule of 3\",\n // if it's not defined (in strikethrough or 3rd party plugins),\n // we can default it to 0 to disable those checks.\n //\n closer.length = closer.length || 0;\n\n if (!closer.close) continue;\n\n // Previously calculated lower bounds (previous fails)\n // for each marker, each delimiter length modulo 3,\n // and for whether this closer can be an opener;\n // https://github.com/commonmark/cmark/commit/34250e12ccebdc6372b8b49c44fab57c72443460\n if (!openersBottom.hasOwnProperty(closer.marker)) {\n openersBottom[closer.marker] = [ -1, -1, -1, -1, -1, -1 ];\n }\n\n minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length % 3)];\n\n openerIdx = headerIdx - jumps[headerIdx] - 1;\n\n newMinOpenerIdx = openerIdx;\n\n for (; openerIdx > minOpenerIdx; openerIdx -= jumps[openerIdx] + 1) {\n opener = delimiters[openerIdx];\n\n if (opener.marker !== closer.marker) continue;\n\n if (opener.open && opener.end < 0) {\n\n isOddMatch = false;\n\n // from spec:\n //\n // If one of the delimiters can both open and close emphasis, then the\n // sum of the lengths of the delimiter runs containing the opening and\n // closing delimiters must not be a multiple of 3 unless both lengths\n // are multiples of 3.\n //\n if (opener.close || closer.open) {\n if ((opener.length + closer.length) % 3 === 0) {\n if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {\n isOddMatch = true;\n }\n }\n }\n\n if (!isOddMatch) {\n // If previous delimiter cannot be an opener, we can safely skip\n // the entire sequence in future checks. This is required to make\n // sure algorithm has linear complexity (see *_*_*_*_*_... case).\n //\n lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ?\n jumps[openerIdx - 1] + 1 :\n 0;\n\n jumps[closerIdx] = closerIdx - openerIdx + lastJump;\n jumps[openerIdx] = lastJump;\n\n closer.open = false;\n opener.end = closerIdx;\n opener.close = false;\n newMinOpenerIdx = -1;\n // treat next token as start of run,\n // it optimizes skips in **<...>**a**<...>** pathological case\n lastTokenIdx = -2;\n break;\n }\n }\n }\n\n if (newMinOpenerIdx !== -1) {\n // If match for this delimiter run failed, we want to set lower bound for\n // future lookups. This is required to make sure algorithm has linear\n // complexity.\n //\n // See details here:\n // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442\n //\n openersBottom[closer.marker][(closer.open ? 3 : 0) + ((closer.length || 0) % 3)] = newMinOpenerIdx;\n }\n }\n}\n\n\nmodule.exports = function link_pairs(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n processDelimiters(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n processDelimiters(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Process *this* and _that_\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function emphasis(state, silent) {\n var i, scanned, token,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { return false; }\n\n scanned = state.scanDelims(state.pos, marker === 0x2A);\n\n for (i = 0; i < scanned.length; i++) {\n token = state.push('text', '', 0);\n token.content = String.fromCharCode(marker);\n\n state.delimiters.push({\n // Char code of the starting marker (number).\n //\n marker: marker,\n\n // Total length of these series of delimiters.\n //\n length: scanned.length,\n\n // A position of the token this delimiter corresponds to.\n //\n token: state.tokens.length - 1,\n\n // If this delimiter is matched as a valid opener, `end` will be\n // equal to its position, otherwise it's `-1`.\n //\n end: -1,\n\n // Boolean flags that determine if this delimiter could open or close\n // an emphasis.\n //\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i,\n startDelim,\n endDelim,\n token,\n ch,\n isStrong,\n max = delimiters.length;\n\n for (i = max - 1; i >= 0; i--) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x5F/* _ */ && startDelim.marker !== 0x2A/* * */) {\n continue;\n }\n\n // Process only opening markers\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n // If the previous delimiter has the same marker and is adjacent to this one,\n // merge those into one strong delimiter.\n //\n // `<em><em>whatever</em></em>` -> `<strong>whatever</strong>`\n //\n isStrong = i > 0 &&\n delimiters[i - 1].end === startDelim.end + 1 &&\n // check that first two markers match and adjacent\n delimiters[i - 1].marker === startDelim.marker &&\n delimiters[i - 1].token === startDelim.token - 1 &&\n // check that last two markers are adjacent (we can safely assume they match)\n delimiters[startDelim.end + 1].token === endDelim.token + 1;\n\n ch = String.fromCharCode(startDelim.marker);\n\n token = state.tokens[startDelim.token];\n token.type = isStrong ? 'strong_open' : 'em_open';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = 1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = isStrong ? 'strong_close' : 'em_close';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = -1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n if (isStrong) {\n state.tokens[delimiters[i - 1].token].content = '';\n state.tokens[delimiters[startDelim.end + 1].token].content = '';\n i--;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function emphasis(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Process html entity - {, ¯, ", ...\n\n'use strict';\n\nvar entities = require('../common/entities');\nvar has = require('../common/utils').has;\nvar isValidEntityCode = require('../common/utils').isValidEntityCode;\nvar fromCodePoint = require('../common/utils').fromCodePoint;\n\n\nvar DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;\nvar NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;\n\n\nmodule.exports = function entity(state, silent) {\n var ch, code, match, token, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x26/* & */) return false;\n\n if (pos + 1 >= max) return false;\n\n ch = state.src.charCodeAt(pos + 1);\n\n if (ch === 0x23 /* # */) {\n match = state.src.slice(pos).match(DIGITAL_RE);\n if (match) {\n if (!silent) {\n code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);\n\n token = state.push('text_special', '', 0);\n token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);\n token.markup = match[0];\n token.info = 'entity';\n }\n state.pos += match[0].length;\n return true;\n }\n } else {\n match = state.src.slice(pos).match(NAMED_RE);\n if (match) {\n if (has(entities, match[1])) {\n if (!silent) {\n token = state.push('text_special', '', 0);\n token.content = entities[match[1]];\n token.markup = match[0];\n token.info = 'entity';\n }\n state.pos += match[0].length;\n return true;\n }\n }\n }\n\n return false;\n};\n","// Process escaped chars and hardbreaks\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\nvar ESCAPED = [];\n\nfor (var i = 0; i < 256; i++) { ESCAPED.push(0); }\n\n'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'\n .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1; });\n\n\nmodule.exports = function escape(state, silent) {\n var ch1, ch2, origStr, escapedStr, token, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x5C/* \\ */) return false;\n pos++;\n\n // '\\' at the end of the inline block\n if (pos >= max) return false;\n\n ch1 = state.src.charCodeAt(pos);\n\n if (ch1 === 0x0A) {\n if (!silent) {\n state.push('hardbreak', 'br', 0);\n }\n\n pos++;\n // skip leading whitespaces from next line\n while (pos < max) {\n ch1 = state.src.charCodeAt(pos);\n if (!isSpace(ch1)) break;\n pos++;\n }\n\n state.pos = pos;\n return true;\n }\n\n escapedStr = state.src[pos];\n\n if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) {\n ch2 = state.src.charCodeAt(pos + 1);\n\n if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {\n escapedStr += state.src[pos + 1];\n pos++;\n }\n }\n\n origStr = '\\\\' + escapedStr;\n\n if (!silent) {\n token = state.push('text_special', '', 0);\n\n if (ch1 < 256 && ESCAPED[ch1] !== 0) {\n token.content = escapedStr;\n } else {\n token.content = origStr;\n }\n\n token.markup = origStr;\n token.info = 'escape';\n }\n\n state.pos = pos + 1;\n return true;\n};\n","// Clean up tokens after emphasis and strikethrough postprocessing:\n// merge adjacent text nodes into one and re-calculate all token levels\n//\n// This is necessary because initially emphasis delimiter markers (*, _, ~)\n// are treated as their own separate text tokens. Then emphasis rule either\n// leaves them as text (needed to merge with adjacent text) or turns them\n// into opening/closing tags (which messes up levels inside).\n//\n'use strict';\n\n\nmodule.exports = function fragments_join(state) {\n var curr, last,\n level = 0,\n tokens = state.tokens,\n max = state.tokens.length;\n\n for (curr = last = 0; curr < max; curr++) {\n // re-calculate levels after emphasis/strikethrough turns some text nodes\n // into opening/closing tags\n if (tokens[curr].nesting < 0) level--; // closing tag\n tokens[curr].level = level;\n if (tokens[curr].nesting > 0) level++; // opening tag\n\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n};\n","// Process html tags\n\n'use strict';\n\n\nvar HTML_TAG_RE = require('../common/html_re').HTML_TAG_RE;\n\n\nfunction isLinkOpen(str) {\n return /^<a[>\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nfunction isLetter(ch) {\n /*eslint no-bitwise:0*/\n var lc = ch | 0x20; // to lower case\n return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */);\n}\n\n\nmodule.exports = function html_inline(state, silent) {\n var ch, match, max, token,\n pos = state.pos;\n\n if (!state.md.options.html) { return false; }\n\n // Check start\n max = state.posMax;\n if (state.src.charCodeAt(pos) !== 0x3C/* < */ ||\n pos + 2 >= max) {\n return false;\n }\n\n // Quick fail on second char\n ch = state.src.charCodeAt(pos + 1);\n if (ch !== 0x21/* ! */ &&\n ch !== 0x3F/* ? */ &&\n ch !== 0x2F/* / */ &&\n !isLetter(ch)) {\n return false;\n }\n\n match = state.src.slice(pos).match(HTML_TAG_RE);\n if (!match) { return false; }\n\n if (!silent) {\n token = state.push('html_inline', '', 0);\n token.content = state.src.slice(pos, pos + match[0].length);\n\n if (isLinkOpen(token.content)) state.linkLevel++;\n if (isLinkClose(token.content)) state.linkLevel--;\n }\n state.pos += match[0].length;\n return true;\n};\n","// Process ![image](<src> \"title\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function image(state, silent) {\n var attrs,\n code,\n content,\n label,\n labelEnd,\n labelStart,\n pos,\n ref,\n res,\n title,\n token,\n tokens,\n start,\n href = '',\n oldPos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false; }\n if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 2;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( <href> \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( <href> \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n state.pos = oldPos;\n return false;\n }\n pos++;\n } else {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n content = state.src.slice(labelStart, labelEnd);\n\n state.md.inline.parse(\n content,\n state.md,\n state.env,\n tokens = []\n );\n\n token = state.push('image', 'img', 0);\n token.attrs = attrs = [ [ 'src', href ], [ 'alt', '' ] ];\n token.children = tokens;\n token.content = content;\n\n if (title) {\n attrs.push([ 'title', title ]);\n }\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process [link](<to> \"stuff\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function link(state, silent) {\n var attrs,\n code,\n label,\n labelEnd,\n labelStart,\n pos,\n res,\n ref,\n token,\n href = '',\n title = '',\n oldPos = state.pos,\n max = state.posMax,\n start = state.pos,\n parseReference = true;\n\n if (state.src.charCodeAt(state.pos) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 1;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // might have found a valid shortcut link, disable reference parsing\n parseReference = false;\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( <href> \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( <href> \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n }\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n // parsing a valid shortcut link failed, fallback to reference\n parseReference = true;\n }\n pos++;\n }\n\n if (parseReference) {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n state.pos = labelStart;\n state.posMax = labelEnd;\n\n token = state.push('link_open', 'a', 1);\n token.attrs = attrs = [ [ 'href', href ] ];\n if (title) {\n attrs.push([ 'title', title ]);\n }\n\n state.linkLevel++;\n state.md.inline.tokenize(state);\n state.linkLevel--;\n\n token = state.push('link_close', 'a', -1);\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process links like https://example.org/\n\n'use strict';\n\n\n// RFC3986: scheme = ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\nvar SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;\n\n\nmodule.exports = function linkify(state, silent) {\n var pos, max, match, proto, link, url, fullUrl, token;\n\n if (!state.md.options.linkify) return false;\n if (state.linkLevel > 0) return false;\n\n pos = state.pos;\n max = state.posMax;\n\n if (pos + 3 > max) return false;\n if (state.src.charCodeAt(pos) !== 0x3A/* : */) return false;\n if (state.src.charCodeAt(pos + 1) !== 0x2F/* / */) return false;\n if (state.src.charCodeAt(pos + 2) !== 0x2F/* / */) return false;\n\n match = state.pending.match(SCHEME_RE);\n if (!match) return false;\n\n proto = match[1];\n\n link = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length));\n if (!link) return false;\n\n url = link.url;\n\n // disallow '*' at the end of the link (conflicts with emphasis)\n url = url.replace(/\\*+$/, '');\n\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) return false;\n\n if (!silent) {\n state.pending = state.pending.slice(0, -proto.length);\n\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'linkify';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'linkify';\n token.info = 'auto';\n }\n\n state.pos += url.length - proto.length;\n return true;\n};\n","// Proceess '\\n'\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function newline(state, silent) {\n var pmax, max, ws, pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x0A/* \\n */) { return false; }\n\n pmax = state.pending.length - 1;\n max = state.posMax;\n\n // ' \\n' -> hardbreak\n // Lookup in pending chars is bad practice! Don't copy to other rules!\n // Pending string is stored in concat mode, indexed lookups will cause\n // convertion to flat mode.\n if (!silent) {\n if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {\n if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {\n // Find whitespaces tail of pending chars.\n ws = pmax - 1;\n while (ws >= 1 && state.pending.charCodeAt(ws - 1) === 0x20) ws--;\n\n state.pending = state.pending.slice(0, ws);\n state.push('hardbreak', 'br', 0);\n } else {\n state.pending = state.pending.slice(0, -1);\n state.push('softbreak', 'br', 0);\n }\n\n } else {\n state.push('softbreak', 'br', 0);\n }\n }\n\n pos++;\n\n // skip heading spaces for next line\n while (pos < max && isSpace(state.src.charCodeAt(pos))) { pos++; }\n\n state.pos = pos;\n return true;\n};\n","// Inline parser state\n\n'use strict';\n\n\nvar Token = require('../token');\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\n\nfunction StateInline(src, md, env, outTokens) {\n this.src = src;\n this.env = env;\n this.md = md;\n this.tokens = outTokens;\n this.tokens_meta = Array(outTokens.length);\n\n this.pos = 0;\n this.posMax = this.src.length;\n this.level = 0;\n this.pending = '';\n this.pendingLevel = 0;\n\n // Stores { start: end } pairs. Useful for backtrack\n // optimization of pairs parse (emphasis, strikes).\n this.cache = {};\n\n // List of emphasis-like delimiters for current tag\n this.delimiters = [];\n\n // Stack of delimiter lists for upper level tags\n this._prev_delimiters = [];\n\n // backtick length => last seen position\n this.backticks = {};\n this.backticksScanned = false;\n\n // Counter used to disable inline linkify-it execution\n // inside <a> and markdown links\n this.linkLevel = 0;\n}\n\n\n// Flush pending text\n//\nStateInline.prototype.pushPending = function () {\n var token = new Token('text', '', 0);\n token.content = this.pending;\n token.level = this.pendingLevel;\n this.tokens.push(token);\n this.pending = '';\n return token;\n};\n\n\n// Push new token to \"stream\".\n// If pending text exists - flush it as text token\n//\nStateInline.prototype.push = function (type, tag, nesting) {\n if (this.pending) {\n this.pushPending();\n }\n\n var token = new Token(type, tag, nesting);\n var token_meta = null;\n\n if (nesting < 0) {\n // closing tag\n this.level--;\n this.delimiters = this._prev_delimiters.pop();\n }\n\n token.level = this.level;\n\n if (nesting > 0) {\n // opening tag\n this.level++;\n this._prev_delimiters.push(this.delimiters);\n this.delimiters = [];\n token_meta = { delimiters: this.delimiters };\n }\n\n this.pendingLevel = this.level;\n this.tokens.push(token);\n this.tokens_meta.push(token_meta);\n return token;\n};\n\n\n// Scan a sequence of emphasis-like markers, and determine whether\n// it can start an emphasis sequence or end an emphasis sequence.\n//\n// - start - position to scan from (it should point at a valid marker);\n// - canSplitWord - determine if these markers can be found inside a word\n//\nStateInline.prototype.scanDelims = function (start, canSplitWord) {\n var pos = start, lastChar, nextChar, count, can_open, can_close,\n isLastWhiteSpace, isLastPunctChar,\n isNextWhiteSpace, isNextPunctChar,\n left_flanking = true,\n right_flanking = true,\n max = this.posMax,\n marker = this.src.charCodeAt(start);\n\n // treat beginning of the line as a whitespace\n lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;\n\n while (pos < max && this.src.charCodeAt(pos) === marker) { pos++; }\n\n count = pos - start;\n\n // treat end of the line as a whitespace\n nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n left_flanking = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n left_flanking = false;\n }\n }\n\n if (isLastWhiteSpace) {\n right_flanking = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n right_flanking = false;\n }\n }\n\n if (!canSplitWord) {\n can_open = left_flanking && (!right_flanking || isLastPunctChar);\n can_close = right_flanking && (!left_flanking || isNextPunctChar);\n } else {\n can_open = left_flanking;\n can_close = right_flanking;\n }\n\n return {\n can_open: can_open,\n can_close: can_close,\n length: count\n };\n};\n\n\n// re-export Token class to use in block rules\nStateInline.prototype.Token = Token;\n\n\nmodule.exports = StateInline;\n","// ~~strike through~~\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function strikethrough(state, silent) {\n var i, scanned, token, len, ch,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x7E/* ~ */) { return false; }\n\n scanned = state.scanDelims(state.pos, true);\n len = scanned.length;\n ch = String.fromCharCode(marker);\n\n if (len < 2) { return false; }\n\n if (len % 2) {\n token = state.push('text', '', 0);\n token.content = ch;\n len--;\n }\n\n for (i = 0; i < len; i += 2) {\n token = state.push('text', '', 0);\n token.content = ch + ch;\n\n state.delimiters.push({\n marker: marker,\n length: 0, // disable \"rule of 3\" length checks meant for emphasis\n token: state.tokens.length - 1,\n end: -1,\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i, j,\n startDelim,\n endDelim,\n token,\n loneMarkers = [],\n max = delimiters.length;\n\n for (i = 0; i < max; i++) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x7E/* ~ */) {\n continue;\n }\n\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n token = state.tokens[startDelim.token];\n token.type = 's_open';\n token.tag = 's';\n token.nesting = 1;\n token.markup = '~~';\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = 's_close';\n token.tag = 's';\n token.nesting = -1;\n token.markup = '~~';\n token.content = '';\n\n if (state.tokens[endDelim.token - 1].type === 'text' &&\n state.tokens[endDelim.token - 1].content === '~') {\n\n loneMarkers.push(endDelim.token - 1);\n }\n }\n\n // If a marker sequence has an odd number of characters, it's splitted\n // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the\n // start of the sequence.\n //\n // So, we have to move all those markers after subsequent s_close tags.\n //\n while (loneMarkers.length) {\n i = loneMarkers.pop();\n j = i + 1;\n\n while (j < state.tokens.length && state.tokens[j].type === 's_close') {\n j++;\n }\n\n j--;\n\n if (i !== j) {\n token = state.tokens[j];\n state.tokens[j] = state.tokens[i];\n state.tokens[i] = token;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function strikethrough(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Skip text characters for text token, place those to pending buffer\n// and increment current pos\n\n'use strict';\n\n\n// Rule to skip pure text\n// '{}$%@~+=:' reserved for extentions\n\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n\n// !!!! Don't confuse with \"Markdown ASCII Punctuation\" chars\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\nfunction isTerminatorChar(ch) {\n switch (ch) {\n case 0x0A/* \\n */:\n case 0x21/* ! */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2D/* - */:\n case 0x3A/* : */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos;\n\n while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {\n pos++;\n }\n\n if (pos === state.pos) { return false; }\n\n if (!silent) { state.pending += state.src.slice(state.pos, pos); }\n\n state.pos = pos;\n\n return true;\n};\n\n// Alternative implementation, for memory.\n//\n// It costs 10% of performance, but allows extend terminators list, if place it\n// to `ParcerInline` property. Probably, will switch to it sometime, such\n// flexibility required.\n\n/*\nvar TERMINATOR_RE = /[\\n!#$%&*+\\-:<=>@[\\\\\\]^_`{}~]/;\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos,\n idx = state.src.slice(pos).search(TERMINATOR_RE);\n\n // first char is terminator -> empty text\n if (idx === 0) { return false; }\n\n // no terminator -> text till end of string\n if (idx < 0) {\n if (!silent) { state.pending += state.src.slice(pos); }\n state.pos = state.src.length;\n return true;\n }\n\n if (!silent) { state.pending += state.src.slice(pos, pos + idx); }\n\n state.pos += idx;\n\n return true;\n};*/\n","// Token class\n\n'use strict';\n\n\n/**\n * class Token\n **/\n\n/**\n * new Token(type, tag, nesting)\n *\n * Create new token and fill passed properties.\n **/\nfunction Token(type, tag, nesting) {\n /**\n * Token#type -> String\n *\n * Type of the token (string, e.g. \"paragraph_open\")\n **/\n this.type = type;\n\n /**\n * Token#tag -> String\n *\n * html tag name, e.g. \"p\"\n **/\n this.tag = tag;\n\n /**\n * Token#attrs -> Array\n *\n * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`\n **/\n this.attrs = null;\n\n /**\n * Token#map -> Array\n *\n * Source map info. Format: `[ line_begin, line_end ]`\n **/\n this.map = null;\n\n /**\n * Token#nesting -> Number\n *\n * Level change (number in {-1, 0, 1} set), where:\n *\n * - `1` means the tag is opening\n * - `0` means the tag is self-closing\n * - `-1` means the tag is closing\n **/\n this.nesting = nesting;\n\n /**\n * Token#level -> Number\n *\n * nesting level, the same as `state.level`\n **/\n this.level = 0;\n\n /**\n * Token#children -> Array\n *\n * An array of child nodes (inline and img tokens)\n **/\n this.children = null;\n\n /**\n * Token#content -> String\n *\n * In a case of self-closing tag (code, html, fence, etc.),\n * it has contents of this tag.\n **/\n this.content = '';\n\n /**\n * Token#markup -> String\n *\n * '*' or '_' for emphasis, fence string for fence, etc.\n **/\n this.markup = '';\n\n /**\n * Token#info -> String\n *\n * Additional information:\n *\n * - Info string for \"fence\" tokens\n * - The value \"auto\" for autolink \"link_open\" and \"link_close\" tokens\n * - The string value of the item marker for ordered-list \"list_item_open\" tokens\n **/\n this.info = '';\n\n /**\n * Token#meta -> Object\n *\n * A place for plugins to store an arbitrary data\n **/\n this.meta = null;\n\n /**\n * Token#block -> Boolean\n *\n * True for block-level tokens, false for inline tokens.\n * Used in renderer to calculate line breaks\n **/\n this.block = false;\n\n /**\n * Token#hidden -> Boolean\n *\n * If it's true, ignore this element when rendering. Used for tight lists\n * to hide paragraphs.\n **/\n this.hidden = false;\n}\n\n\n/**\n * Token.attrIndex(name) -> Number\n *\n * Search attribute index by name.\n **/\nToken.prototype.attrIndex = function attrIndex(name) {\n var attrs, i, len;\n\n if (!this.attrs) { return -1; }\n\n attrs = this.attrs;\n\n for (i = 0, len = attrs.length; i < len; i++) {\n if (attrs[i][0] === name) { return i; }\n }\n return -1;\n};\n\n\n/**\n * Token.attrPush(attrData)\n *\n * Add `[ name, value ]` attribute to list. Init attrs if necessary\n **/\nToken.prototype.attrPush = function attrPush(attrData) {\n if (this.attrs) {\n this.attrs.push(attrData);\n } else {\n this.attrs = [ attrData ];\n }\n};\n\n\n/**\n * Token.attrSet(name, value)\n *\n * Set `name` attribute to `value`. Override old value if exists.\n **/\nToken.prototype.attrSet = function attrSet(name, value) {\n var idx = this.attrIndex(name),\n attrData = [ name, value ];\n\n if (idx < 0) {\n this.attrPush(attrData);\n } else {\n this.attrs[idx] = attrData;\n }\n};\n\n\n/**\n * Token.attrGet(name)\n *\n * Get the value of attribute `name`, or null if it does not exist.\n **/\nToken.prototype.attrGet = function attrGet(name) {\n var idx = this.attrIndex(name), value = null;\n if (idx >= 0) {\n value = this.attrs[idx][1];\n }\n return value;\n};\n\n\n/**\n * Token.attrJoin(name, value)\n *\n * Join value to existing attribute via space. Or create new attribute if not\n * exists. Useful to operate with token classes.\n **/\nToken.prototype.attrJoin = function attrJoin(name, value) {\n var idx = this.attrIndex(name);\n\n if (idx < 0) {\n this.attrPush([ name, value ]);\n } else {\n this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;\n }\n};\n\n\nmodule.exports = Token;\n","\n'use strict';\n\n\n/* eslint-disable no-bitwise */\n\nvar decodeCache = {};\n\nfunction getDecodeCache(exclude) {\n var i, ch, cache = decodeCache[exclude];\n if (cache) { return cache; }\n\n cache = decodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n cache.push(ch);\n }\n\n for (i = 0; i < exclude.length; i++) {\n ch = exclude.charCodeAt(i);\n cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);\n }\n\n return cache;\n}\n\n\n// Decode percent-encoded string.\n//\nfunction decode(string, exclude) {\n var cache;\n\n if (typeof exclude !== 'string') {\n exclude = decode.defaultChars;\n }\n\n cache = getDecodeCache(exclude);\n\n return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {\n var i, l, b1, b2, b3, b4, chr,\n result = '';\n\n for (i = 0, l = seq.length; i < l; i += 3) {\n b1 = parseInt(seq.slice(i + 1, i + 3), 16);\n\n if (b1 < 0x80) {\n result += cache[b1];\n continue;\n }\n\n if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {\n // 110xxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n\n if ((b2 & 0xC0) === 0x80) {\n chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);\n\n if (chr < 0x80) {\n result += '\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 3;\n continue;\n }\n }\n\n if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\n chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);\n\n if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) {\n result += '\\ufffd\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 6;\n continue;\n }\n }\n\n if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {\n // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n b4 = parseInt(seq.slice(i + 10, i + 12), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {\n chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);\n\n if (chr < 0x10000 || chr > 0x10FFFF) {\n result += '\\ufffd\\ufffd\\ufffd\\ufffd';\n } else {\n chr -= 0x10000;\n result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));\n }\n\n i += 9;\n continue;\n }\n }\n\n result += '\\ufffd';\n }\n\n return result;\n });\n}\n\n\ndecode.defaultChars = ';/?:@&=+$,#';\ndecode.componentChars = '';\n\n\nmodule.exports = decode;\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","\n'use strict';\n\n\nmodule.exports = function format(url) {\n var result = '';\n\n result += url.protocol || '';\n result += url.slashes ? '//' : '';\n result += url.auth ? url.auth + '@' : '';\n\n if (url.hostname && url.hostname.indexOf(':') !== -1) {\n // ipv6 address\n result += '[' + url.hostname + ']';\n } else {\n result += url.hostname || '';\n }\n\n result += url.port ? ':' + url.port : '';\n result += url.pathname || '';\n result += url.search || '';\n result += url.hash || '';\n\n return result;\n};\n","'use strict';\n\n\nmodule.exports.encode = require('./encode');\nmodule.exports.decode = require('./decode');\nmodule.exports.format = require('./format');\nmodule.exports.parse = require('./parse');\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'use strict';\n\n//\n// Changes from joyent/node:\n//\n// 1. No leading slash in paths,\n// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`\n//\n// 2. Backslashes are not replaced with slashes,\n// so `http:\\\\example.org\\` is treated like a relative path\n//\n// 3. Trailing colon is treated like a part of the path,\n// i.e. in `http://example.org:foo` pathname is `:foo`\n//\n// 4. Nothing is URL-encoded in the resulting object,\n// (in joyent/node some chars in auth and paths are encoded)\n//\n// 5. `url.parse()` does not have `parseQueryString` argument\n//\n// 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\n// which can be constructed using other parts of the url.\n//\n\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.pathname = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = [ '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t' ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [ '{', '}', '|', '\\\\', '^', '`' ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = [ '\\'' ].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape),\n hostEndingChars = [ '/', '?', '#' ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n /* eslint-disable no-script-url */\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n };\n /* eslint-enable no-script-url */\n\nfunction urlParse(url, slashesDenoteHost) {\n if (url && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, slashesDenoteHost) {\n var i, l, lowerProto, hec, slashes,\n rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n lowerProto = proto.toLowerCase();\n this.protocol = proto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (i = 0; i < hostEndingChars.length; i++) {\n hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = auth;\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (i = 0; i < nonHostChars.length; i++) {\n hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) {\n hostEnd = rest.length;\n }\n\n if (rest[hostEnd - 1] === ':') { hostEnd--; }\n var host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost(host);\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n }\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n rest = rest.slice(0, qm);\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '';\n }\n\n return this;\n};\n\nUrl.prototype.parseHost = function(host) {\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nmodule.exports = urlParse;\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\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 * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\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 * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\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 * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode };\nexport default punycode;\n","/*rateyo V2.3.5, A simple and flexible star rating plugin\nprashanth pamidi (https://github.com/prrashi)*/\n!function(N){\"use strict\";var Q='<?xml version=\"1.0\" encoding=\"utf-8\"?><svg version=\"1.1\"xmlns=\"http://www.w3.org/2000/svg\"viewBox=\"0 12.705 512 486.59\"x=\"0px\" y=\"0px\"xml:space=\"preserve\"><polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"/></svg>',n={starWidth:\"32px\",normalFill:\"gray\",ratedFill:\"#f39c12\",numStars:5,maxValue:5,precision:1,rating:0,fullStar:!1,halfStar:!1,readOnly:!1,spacing:\"0px\",rtl:!1,multiColor:null,onInit:null,onChange:null,onSet:null,starSvg:null},X={startColor:\"#c0392b\",endColor:\"#f1c40f\"};function $(t,r,e){return t===r?t=r:t===e&&(t=e),t}function D(t){return void 0!==t}var e=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,G=function(t){if(!e.test(t))return null;var r=e.exec(t);return{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16)}};function H(t,r,e){var n=e/100*(r-t);return 1===(n=Math.round(t+n).toString(16)).length&&(n=\"0\"+n),n}function J(i,d){this.node=i.get(0);var e=this;i.empty().addClass(\"jq-ry-container\");var g,n,m,h,v,t,r=N(\"<div/>\").addClass(\"jq-ry-group-wrapper\").appendTo(i),y=N(\"<div/>\").addClass(\"jq-ry-normal-group\").addClass(\"jq-ry-group\").appendTo(r),a=N(\"<div/>\").addClass(\"jq-ry-rated-group\").addClass(\"jq-ry-group\").appendTo(r),w=0,o=d.rating,l=!1;function s(t){D(t)||(t=d.rating);var r=(o=t)/g,e=r*m;1<r&&(e+=(Math.ceil(r)-1)*v),k(d.ratedFill),(e=d.rtl?100-e:e)<0?e=0:100<e&&(e=100),a.css(\"width\",e+\"%\")}function c(){t=n*d.numStars+h*(d.numStars-1),m=n/t*100,v=h/t*100,i.width(t),s()}function u(t){var r=d.starWidth=t;return n=window.parseFloat(d.starWidth.replace(\"px\",\"\")),y.find(\"svg\").attr({width:d.starWidth,height:r}),a.find(\"svg\").attr({width:d.starWidth,height:r}),c(),i}function p(t){return d.spacing=t,h=parseFloat(d.spacing.replace(\"px\",\"\")),y.find(\"svg:not(:first-child)\").css({\"margin-left\":t}),a.find(\"svg:not(:first-child)\").css({\"margin-left\":t}),c(),i}function f(t){return d.normalFill=t,(d.rtl?a:y).find(\"svg\").attr({fill:d.normalFill}),i}var b=d.ratedFill;function k(t){if(d.multiColor){var r=(o-w)/d.maxValue*100,e=d.multiColor||{};t=function(t,r,e){if(!t||!r)return null;e=D(e)?e:0,t=G(t),r=G(r);var n=H(t.r,r.r,e),a=H(t.b,r.b,e);return\"#\"+n+H(t.g,r.g,e)+a}(e.startColor||X.startColor,e.endColor||X.endColor,r)}else b=t;return d.ratedFill=t,(d.rtl?y:a).find(\"svg\").attr({fill:d.ratedFill}),i}function x(t){t=!!t,d.rtl=t,f(d.normalFill),s()}function S(t){k((d.multiColor=t)||b)}function C(t){d.numStars=t,g=d.maxValue/d.numStars,y.empty(),a.empty();for(var r=0;r<d.numStars;r++)y.append(N(d.starSvg||Q)),a.append(N(d.starSvg||Q));return u(d.starWidth),f(d.normalFill),p(d.spacing),s(),i}function F(t){return d.maxValue=t,g=d.maxValue/d.numStars,d.rating>t&&E(t),s(),i}function j(t){return d.precision=t,E(d.rating),i}function q(t){return d.halfStar=t,i}function z(t){return d.fullStar=t,i}function I(t){var r,e,n,a,i,o=y.offset().left,l=o+y.width(),s=d.maxValue,c=t.pageX,u=0;if(c<o)u=w;else if(l<c)u=s;else{var p=(c-o)/(l-o);if(0<h)for(var f=p*=100;0<f;)m<f?(u+=g,f-=m+v):(u+=f/m*g,f=0);else u=p*d.maxValue;e=(r=u)%g,n=g/2,a=d.halfStar,((i=d.fullStar)||a)&&(i||a&&n<e?r+=g-e:(r-=e,0<e&&(r+=n))),u=r}return d.rtl&&(u=s-u),parseFloat(u)}function V(t){return d.readOnly=t,i.attr(\"readonly\",!0),L(),t||(i.removeAttr(\"readonly\"),i.on(\"mousemove\",M).on(\"mouseenter\",M).on(\"mouseleave\",T).on(\"click\",R).on(\"rateyo.init\",Y).on(\"rateyo.change\",_).on(\"rateyo.set\",B)),i}function E(t){var r=t,e=d.maxValue;return\"string\"==typeof r&&(\"%\"===r[r.length-1]&&(r=r.substr(0,r.length-1),F(e=100)),r=parseFloat(r)),function(t,r,e){if(!(r<=t&&t<=e))throw Error(\"Invalid Rating, expected value between \"+r+\" and \"+e)}(r,w,e),r=parseFloat(r.toFixed(d.precision)),$(parseFloat(r),w,e),d.rating=r,s(),l&&i.trigger(\"rateyo.set\",{rating:r}),i}function W(t){return d.onInit=t,i}function A(t){return d.onSet=t,i}function O(t){return d.onChange=t,i}function M(t){var r=I(t).toFixed(d.precision),e=d.maxValue;s(r=$(parseFloat(r),w,e)),i.trigger(\"rateyo.change\",{rating:r})}function T(){var t,r;(r=!1,t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(t.substr(0,4)))&&(r=!0),r)||(s(),i.trigger(\"rateyo.change\",{rating:d.rating}))}function R(t){var r=I(t).toFixed(d.precision);r=parseFloat(r),e.rating(r)}function Y(t,r){d.onInit&&\"function\"==typeof d.onInit&&d.onInit.apply(this,[r.rating,e])}function _(t,r){d.onChange&&\"function\"==typeof d.onChange&&d.onChange.apply(this,[r.rating,e])}function B(t,r){d.onSet&&\"function\"==typeof d.onSet&&d.onSet.apply(this,[r.rating,e])}function L(){i.off(\"mousemove\",M).off(\"mouseenter\",M).off(\"mouseleave\",T).off(\"click\",R).off(\"rateyo.init\",Y).off(\"rateyo.change\",_).off(\"rateyo.set\",B)}this.rating=function(t){return D(t)?(E(t),i):d.rating},this.destroy=function(){var n,a;return d.readOnly||L(),J.prototype.collection=(n=i.get(0),a=this.collection,N.each(a,function(t){if(n===this.node){var r=a.slice(0,t),e=a.slice(t+1,a.length);return a=r.concat(e),!1}}),a),i.removeClass(\"jq-ry-container\").children().remove(),i},this.method=function(t){if(!t)throw Error(\"Method name not specified!\");if(!D(this[t]))throw Error(\"Method \"+t+\" doesn't exist!\");var r=Array.prototype.slice.apply(arguments,[]).slice(1);return this[t].apply(this,r)},this.option=function(t,r){if(!D(t))return d;var e;switch(t){case\"starWidth\":e=u;break;case\"numStars\":e=C;break;case\"normalFill\":e=f;break;case\"ratedFill\":e=k;break;case\"multiColor\":e=S;break;case\"maxValue\":e=F;break;case\"precision\":e=j;break;case\"rating\":e=E;break;case\"halfStar\":e=q;break;case\"fullStar\":e=z;break;case\"readOnly\":e=V;break;case\"spacing\":e=p;break;case\"rtl\":e=x;break;case\"onInit\":e=W;break;case\"onSet\":e=A;break;case\"onChange\":e=O;break;default:throw Error(\"No such option as \"+t)}return D(r)?e(r):d[t]},C(d.numStars),V(d.readOnly),d.rtl&&x(d.rtl),this.collection.push(this),this.rating(d.rating,!0),l=!0,i.trigger(\"rateyo.init\",{rating:d.rating})}function c(t,r){var e;return N.each(r,function(){if(t===this.node)return e=this,!1}),e}J.prototype.collection=[],window.RateYo=J,N.fn.rateYo=function(){return function(e){var i=J.prototype.collection,t=N(this);if(0===t.length)return t;var r=Array.prototype.slice.apply(arguments,[]);if(0===r.length)e=r[0]={};else{if(1!==r.length||\"object\"!=typeof r[0]){if(1<=r.length&&\"string\"==typeof r[0]){var o=r[0],l=r.slice(1),s=[];return N.each(t,function(t,r){var e=c(r,i);if(!e)throw Error(\"Trying to set options before even initialization\");var n=e[o];if(!n)throw Error(\"Method \"+o+\" does not exist!\");var a=n.apply(e,l);s.push(a)}),s=1===s.length?s[0]:s}throw Error(\"Invalid Arguments\")}e=r[0]}return e=N.extend({},n,e),N.each(t,function(){var t=c(this,i);if(t)return t;var r=N(this),n={},a=N.extend({},e);return N.each(r.data(),function(t,r){if(0===t.indexOf(\"rateyo\")){var e=t.replace(/^rateyo/,\"\");e=e[0].toLowerCase()+e.slice(1),n[e]=r,delete a[e]}}),new J(N(this),N.extend({},n,a))})}.apply(this,Array.prototype.slice.apply(arguments,[]))}}(window.jQuery);\n//# sourceMappingURL=jquery.rateyo.min.js.map","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var resizeObservers = [];\nexport { resizeObservers };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","/**\n * SimpleBar.js - v5.3.8\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport 'core-js/modules/es.object.to-string.js';\nimport 'core-js/modules/web.dom-collections.for-each.js';\nimport canUseDOM from 'can-use-dom';\nimport 'core-js/modules/es.parse-int.js';\nimport 'core-js/modules/es.object.assign.js';\nimport 'core-js/modules/es.array.filter.js';\nimport 'core-js/modules/es.array.iterator.js';\nimport 'core-js/modules/es.string.iterator.js';\nimport 'core-js/modules/es.weak-map.js';\nimport 'core-js/modules/web.dom-collections.iterator.js';\nimport throttle from 'lodash.throttle';\nimport debounce from 'lodash.debounce';\nimport memoize from 'lodash.memoize';\nimport { ResizeObserver } from '@juggle/resize-observer';\nimport 'core-js/modules/es.array.reduce.js';\nimport 'core-js/modules/es.regexp.exec.js';\nimport 'core-js/modules/es.string.match.js';\nimport 'core-js/modules/es.function.name.js';\nimport 'core-js/modules/es.string.replace.js';\n\n// Helper function to retrieve options from element attributes\nvar getOptions = function getOptions(obj) {\n var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (x, chr) {\n return chr.toUpperCase();\n });\n\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n\n case 'false':\n acc[key] = false;\n break;\n\n case undefined:\n acc[key] = true;\n break;\n\n default:\n acc[key] = attribute.value;\n }\n }\n\n return acc;\n }, {});\n return options;\n};\nfunction getElementWindow(element) {\n if (!element || !element.ownerDocument || !element.ownerDocument.defaultView) {\n return window;\n }\n\n return element.ownerDocument.defaultView;\n}\nfunction getElementDocument(element) {\n if (!element || !element.ownerDocument) {\n return document;\n }\n\n return element.ownerDocument;\n}\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\n\nif (canUseDOM) {\n window.addEventListener('resize', function () {\n if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n cachedDevicePixelRatio = window.devicePixelRatio;\n cachedScrollbarWidth = null;\n }\n });\n}\n\nfunction scrollbarWidth(el) {\n if (cachedScrollbarWidth === null) {\n var document = getElementDocument(el);\n\n if (typeof document === 'undefined') {\n cachedScrollbarWidth = 0;\n return cachedScrollbarWidth;\n }\n\n var body = document.body;\n var box = document.createElement('div');\n box.classList.add('simplebar-hide-scrollbar');\n body.appendChild(box);\n var width = box.getBoundingClientRect().right;\n body.removeChild(box);\n cachedScrollbarWidth = width;\n }\n\n return cachedScrollbarWidth;\n}\n\nvar SimpleBar = /*#__PURE__*/function () {\n function SimpleBar(element, options) {\n var _this = this;\n\n this.onScroll = function () {\n var elWindow = getElementWindow(_this.el);\n\n if (!_this.scrollXTicking) {\n elWindow.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n\n if (!_this.scrollYTicking) {\n elWindow.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n };\n\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.showScrollbar('x');\n\n _this.positionScrollbar('x');\n }\n\n _this.scrollXTicking = false;\n };\n\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.showScrollbar('y');\n\n _this.positionScrollbar('y');\n }\n\n _this.scrollYTicking = false;\n };\n\n this.onMouseEnter = function () {\n _this.showScrollbar('x');\n\n _this.showScrollbar('y');\n };\n\n this.onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n\n this.onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = _this.getScrollbarWidth();\n\n _this.hideNativeScrollbar();\n };\n\n this.hideScrollbars = function () {\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n if (!_this.isWithinBounds(_this.axis.y.track.rect)) {\n _this.axis.y.scrollbar.el.classList.remove(_this.classNames.visible);\n\n _this.axis.y.isVisible = false;\n }\n\n if (!_this.isWithinBounds(_this.axis.x.track.rect)) {\n _this.axis.x.scrollbar.el.classList.remove(_this.classNames.visible);\n\n _this.axis.x.isVisible = false;\n }\n };\n\n this.onPointerEvent = function (e) {\n var isWithinTrackXBounds, isWithinTrackYBounds;\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n } // If any pointer event is called on the scrollbar\n\n\n if (isWithinTrackXBounds || isWithinTrackYBounds) {\n // Preventing the event's default action stops text being\n // selectable during the drag.\n e.preventDefault(); // Prevent event leaking\n\n e.stopPropagation();\n\n if (e.type === 'mousedown') {\n if (isWithinTrackXBounds) {\n _this.axis.x.scrollbar.rect = _this.axis.x.scrollbar.el.getBoundingClientRect();\n\n if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n _this.onDragStart(e, 'x');\n } else {\n _this.onTrackClick(e, 'x');\n }\n }\n\n if (isWithinTrackYBounds) {\n _this.axis.y.scrollbar.rect = _this.axis.y.scrollbar.el.getBoundingClientRect();\n\n if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n _this.onDragStart(e, 'y');\n } else {\n _this.onTrackClick(e, 'y');\n }\n }\n }\n }\n };\n\n this.drag = function (e) {\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = track.rect[_this.axis[_this.draggedAxis].sizeAttr];\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n var contentSize = _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollSizeAttr];\n var hostSize = parseInt(_this.elStyles[_this.axis[_this.draggedAxis].sizeAttr], 10);\n e.preventDefault();\n e.stopPropagation();\n\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n } else {\n eventOffset = e.pageX;\n } // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n\n\n var dragPos = eventOffset - track.rect[_this.axis[_this.draggedAxis].offsetAttr] - _this.axis[_this.draggedAxis].dragOffset; // Convert the mouse position into a percentage of the scrollbar height/width.\n\n var dragPerc = dragPos / (trackSize - scrollbar.size); // Scroll the content by the same percentage.\n\n var scrollPos = dragPerc * (contentSize - hostSize); // Fix browsers inconsistency on RTL\n\n if (_this.draggedAxis === 'x') {\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? scrollPos - (trackSize + scrollbar.size) : scrollPos;\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollPos : scrollPos;\n }\n\n _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] = scrollPos;\n };\n\n this.onEndDrag = function (e) {\n var elDocument = getElementDocument(_this.el);\n var elWindow = getElementWindow(_this.el);\n e.preventDefault();\n e.stopPropagation();\n\n _this.el.classList.remove(_this.classNames.dragging);\n\n elDocument.removeEventListener('mousemove', _this.drag, true);\n elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n _this.removePreventClickId = elWindow.setTimeout(function () {\n // Remove these asynchronously so we still suppress click events\n // generated simultaneously with mouseup.\n elDocument.removeEventListener('click', _this.preventClick, true);\n elDocument.removeEventListener('dblclick', _this.preventClick, true);\n _this.removePreventClickId = null;\n });\n };\n\n this.preventClick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n };\n\n this.el = element;\n this.minScrollbarWidth = 20;\n this.options = Object.assign({}, SimpleBar.defaultOptions, options);\n this.classNames = Object.assign({}, SimpleBar.defaultOptions.classNames, this.options.classNames);\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetSizeAttr: 'offsetWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n isVisible: false,\n forceVisible: false,\n track: {},\n scrollbar: {}\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetSizeAttr: 'offsetHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n isVisible: false,\n forceVisible: false,\n track: {},\n scrollbar: {}\n }\n };\n this.removePreventClickId = null; // Don't re-instantiate over an existing one\n\n if (SimpleBar.instances.has(this.el)) {\n return;\n }\n\n this.recalculate = throttle(this.recalculate.bind(this), 64);\n this.onMouseMove = throttle(this.onMouseMove.bind(this), 64);\n this.hideScrollbars = debounce(this.hideScrollbars.bind(this), this.options.timeout);\n this.onWindowResize = debounce(this.onWindowResize.bind(this), 64, {\n leading: true\n });\n SimpleBar.getRtlHelpers = memoize(SimpleBar.getRtlHelpers);\n this.init();\n }\n /**\n * Static properties\n */\n\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n\n\n SimpleBar.getRtlHelpers = function getRtlHelpers() {\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML = '<div class=\"hs-dummy-scrollbar-size\"><div style=\"height: 200%; width: 200%; margin: 10px 0;\"></div></div>';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n document.body.appendChild(scrollbarDummyEl);\n var dummyContainerChild = scrollbarDummyEl.firstElementChild;\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBar.getOffset(scrollbarDummyEl);\n var dummyContainerChildOffset = SimpleBar.getOffset(dummyContainerChild);\n scrollbarDummyEl.scrollLeft = 999;\n var dummyContainerScrollOffsetAfterScroll = SimpleBar.getOffset(dummyContainerChild);\n return {\n // determines if the scrolling is responding with negative values\n isRtlScrollingInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left && dummyContainerChildOffset.left - dummyContainerScrollOffsetAfterScroll.left !== 0,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isRtlScrollbarInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left\n };\n };\n\n SimpleBar.getOffset = function getOffset(el) {\n var rect = el.getBoundingClientRect();\n var elDocument = getElementDocument(el);\n var elWindow = getElementWindow(el);\n return {\n top: rect.top + (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n left: rect.left + (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n };\n };\n\n var _proto = SimpleBar.prototype;\n\n _proto.init = function init() {\n // Save a reference to the instance, so we know this DOM node has already been instancied\n SimpleBar.instances.set(this.el, this); // We stop here on server-side\n\n if (canUseDOM) {\n this.initDOM();\n this.setAccessibilityAttributes();\n this.scrollbarWidth = this.getScrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n };\n\n _proto.initDOM = function initDOM() {\n var _this2 = this;\n\n // make sure this element doesn't have the elements yet\n if (Array.prototype.filter.call(this.el.children, function (child) {\n return child.classList.contains(_this2.classNames.wrapper);\n }).length) {\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(\".\" + this.classNames.wrapper);\n this.contentWrapperEl = this.options.scrollableNode || this.el.querySelector(\".\" + this.classNames.contentWrapper);\n this.contentEl = this.options.contentNode || this.el.querySelector(\".\" + this.classNames.contentEl);\n this.offsetEl = this.el.querySelector(\".\" + this.classNames.offset);\n this.maskEl = this.el.querySelector(\".\" + this.classNames.mask);\n this.placeholderEl = this.findChild(this.wrapperEl, \".\" + this.classNames.placeholder);\n this.heightAutoObserverWrapperEl = this.el.querySelector(\".\" + this.classNames.heightAutoObserverWrapperEl);\n this.heightAutoObserverEl = this.el.querySelector(\".\" + this.classNames.heightAutoObserverEl);\n this.axis.x.track.el = this.findChild(this.el, \".\" + this.classNames.track + \".\" + this.classNames.horizontal);\n this.axis.y.track.el = this.findChild(this.el, \".\" + this.classNames.track + \".\" + this.classNames.vertical);\n } else {\n // Prepare DOM\n this.wrapperEl = document.createElement('div');\n this.contentWrapperEl = document.createElement('div');\n this.offsetEl = document.createElement('div');\n this.maskEl = document.createElement('div');\n this.contentEl = document.createElement('div');\n this.placeholderEl = document.createElement('div');\n this.heightAutoObserverWrapperEl = document.createElement('div');\n this.heightAutoObserverEl = document.createElement('div');\n this.wrapperEl.classList.add(this.classNames.wrapper);\n this.contentWrapperEl.classList.add(this.classNames.contentWrapper);\n this.offsetEl.classList.add(this.classNames.offset);\n this.maskEl.classList.add(this.classNames.mask);\n this.contentEl.classList.add(this.classNames.contentEl);\n this.placeholderEl.classList.add(this.classNames.placeholder);\n this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl);\n this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);\n\n while (this.el.firstChild) {\n this.contentEl.appendChild(this.el.firstChild);\n }\n\n this.contentWrapperEl.appendChild(this.contentEl);\n this.offsetEl.appendChild(this.contentWrapperEl);\n this.maskEl.appendChild(this.offsetEl);\n this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl);\n this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl);\n this.wrapperEl.appendChild(this.maskEl);\n this.wrapperEl.appendChild(this.placeholderEl);\n this.el.appendChild(this.wrapperEl);\n }\n\n if (!this.axis.x.track.el || !this.axis.y.track.el) {\n var track = document.createElement('div');\n var scrollbar = document.createElement('div');\n track.classList.add(this.classNames.track);\n scrollbar.classList.add(this.classNames.scrollbar);\n track.appendChild(scrollbar);\n this.axis.x.track.el = track.cloneNode(true);\n this.axis.x.track.el.classList.add(this.classNames.horizontal);\n this.axis.y.track.el = track.cloneNode(true);\n this.axis.y.track.el.classList.add(this.classNames.vertical);\n this.el.appendChild(this.axis.x.track.el);\n this.el.appendChild(this.axis.y.track.el);\n }\n\n this.axis.x.scrollbar.el = this.axis.x.track.el.querySelector(\".\" + this.classNames.scrollbar);\n this.axis.y.scrollbar.el = this.axis.y.track.el.querySelector(\".\" + this.classNames.scrollbar);\n\n if (!this.options.autoHide) {\n this.axis.x.scrollbar.el.classList.add(this.classNames.visible);\n this.axis.y.scrollbar.el.classList.add(this.classNames.visible);\n }\n\n this.el.setAttribute('data-simplebar', 'init');\n };\n\n _proto.setAccessibilityAttributes = function setAccessibilityAttributes() {\n var ariaLabel = this.options.ariaLabel || 'scrollable content';\n this.contentWrapperEl.setAttribute('tabindex', '0');\n this.contentWrapperEl.setAttribute('role', 'region');\n this.contentWrapperEl.setAttribute('aria-label', ariaLabel);\n };\n\n _proto.initListeners = function initListeners() {\n var _this3 = this;\n\n var elWindow = getElementWindow(this.el); // Event listeners\n\n if (this.options.autoHide) {\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick'].forEach(function (e) {\n _this3.el.addEventListener(e, _this3.onPointerEvent, true);\n });\n ['touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this3.el.addEventListener(e, _this3.onPointerEvent, {\n capture: true,\n passive: true\n });\n });\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n this.contentWrapperEl.addEventListener('scroll', this.onScroll); // Browser zoom triggers a window resize\n\n elWindow.addEventListener('resize', this.onWindowResize); // Hack for https://github.com/WICG/ResizeObserver/issues/38\n\n var resizeObserverStarted = false;\n var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n this.resizeObserver = new resizeObserver(function () {\n if (!resizeObserverStarted) return;\n\n _this3.recalculate();\n });\n this.resizeObserver.observe(this.el);\n this.resizeObserver.observe(this.contentEl);\n elWindow.requestAnimationFrame(function () {\n resizeObserverStarted = true;\n }); // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n\n this.mutationObserver = new elWindow.MutationObserver(this.recalculate);\n this.mutationObserver.observe(this.contentEl, {\n childList: true,\n subtree: true,\n characterData: true\n });\n };\n\n _proto.recalculate = function recalculate() {\n var elWindow = getElementWindow(this.el);\n this.elStyles = elWindow.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1;\n var contentElOffsetWidth = this.contentEl.offsetWidth;\n var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n var elOverflowX = this.elStyles.overflowX;\n var elOverflowY = this.elStyles.overflowY;\n this.contentEl.style.padding = this.elStyles.paddingTop + \" \" + this.elStyles.paddingRight + \" \" + this.elStyles.paddingBottom + \" \" + this.elStyles.paddingLeft;\n this.wrapperEl.style.margin = \"-\" + this.elStyles.paddingTop + \" -\" + this.elStyles.paddingRight + \" -\" + this.elStyles.paddingBottom + \" -\" + this.elStyles.paddingLeft;\n var contentElScrollHeight = this.contentEl.scrollHeight;\n var contentElScrollWidth = this.contentEl.scrollWidth;\n this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%'; // Determine placeholder size\n\n this.placeholderEl.style.width = isWidthAuto ? contentElOffsetWidth + \"px\" : 'auto';\n this.placeholderEl.style.height = contentElScrollHeight + \"px\";\n var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n this.axis.x.isOverflowing = contentElScrollWidth > contentElOffsetWidth;\n this.axis.y.isOverflowing = contentElScrollHeight > contentWrapperElOffsetHeight; // Set isOverflowing to false if user explicitely set hidden overflow\n\n this.axis.x.isOverflowing = elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing = elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible = this.options.forceVisible === 'x' || this.options.forceVisible === true;\n this.axis.y.forceVisible = this.options.forceVisible === 'y' || this.options.forceVisible === true;\n this.hideNativeScrollbar(); // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n\n var offsetForXScrollbar = this.axis.x.isOverflowing ? this.scrollbarWidth : 0;\n var offsetForYScrollbar = this.axis.y.isOverflowing ? this.scrollbarWidth : 0;\n this.axis.x.isOverflowing = this.axis.x.isOverflowing && contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n this.axis.y.isOverflowing = this.axis.y.isOverflowing && contentElScrollHeight > contentWrapperElOffsetHeight - offsetForXScrollbar;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n this.axis.x.scrollbar.el.style.width = this.axis.x.scrollbar.size + \"px\";\n this.axis.y.scrollbar.el.style.height = this.axis.y.scrollbar.size + \"px\";\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n }\n /**\n * Calculate scrollbar size\n */\n ;\n\n _proto.getScrollbarSize = function getScrollbarSize(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n if (!this.axis[axis].isOverflowing) {\n return 0;\n }\n\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = this.axis[axis].track.el[this.axis[axis].offsetSizeAttr];\n var scrollbarSize;\n var scrollbarRatio = trackSize / contentSize; // Calculate new height/position of drag handle.\n\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n\n return scrollbarSize;\n };\n\n _proto.positionScrollbar = function positionScrollbar(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n if (!this.axis[axis].isOverflowing) {\n return;\n }\n\n var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n var trackSize = this.axis[axis].track.el[this.axis[axis].offsetSizeAttr];\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollbar = this.axis[axis].scrollbar;\n var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollOffset : scrollOffset;\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? handleOffset + (trackSize - scrollbar.size) : handleOffset;\n scrollbar.el.style.transform = axis === 'x' ? \"translate3d(\" + handleOffset + \"px, 0, 0)\" : \"translate3d(0, \" + handleOffset + \"px, 0)\";\n };\n\n _proto.toggleTrackVisibility = function toggleTrackVisibility(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n } else {\n track.style.visibility = 'hidden';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n } // Even if forceVisible is enabled, scrollbar itself should be hidden\n\n\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.display = 'block';\n } else {\n scrollbar.style.display = 'none';\n }\n };\n\n _proto.hideNativeScrollbar = function hideNativeScrollbar() {\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] = this.axis.y.isOverflowing || this.axis.y.forceVisible ? \"-\" + this.scrollbarWidth + \"px\" : 0;\n this.offsetEl.style.bottom = this.axis.x.isOverflowing || this.axis.x.forceVisible ? \"-\" + this.scrollbarWidth + \"px\" : 0;\n }\n /**\n * On scroll event handling\n */\n ;\n\n _proto.onMouseMoveForAxis = function onMouseMoveForAxis(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n this.axis[axis].track.rect = this.axis[axis].track.el.getBoundingClientRect();\n this.axis[axis].scrollbar.rect = this.axis[axis].scrollbar.el.getBoundingClientRect();\n var isWithinScrollbarBoundsX = this.isWithinBounds(this.axis[axis].scrollbar.rect);\n\n if (isWithinScrollbarBoundsX) {\n this.axis[axis].scrollbar.el.classList.add(this.classNames.hover);\n } else {\n this.axis[axis].scrollbar.el.classList.remove(this.classNames.hover);\n }\n\n if (this.isWithinBounds(this.axis[axis].track.rect)) {\n this.showScrollbar(axis);\n this.axis[axis].track.el.classList.add(this.classNames.hover);\n } else {\n this.axis[axis].track.el.classList.remove(this.classNames.hover);\n }\n };\n\n _proto.onMouseLeaveForAxis = function onMouseLeaveForAxis(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n this.axis[axis].track.el.classList.remove(this.classNames.hover);\n this.axis[axis].scrollbar.el.classList.remove(this.classNames.hover);\n };\n\n /**\n * Show scrollbar\n */\n _proto.showScrollbar = function showScrollbar(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (!this.axis[axis].isVisible) {\n scrollbar.classList.add(this.classNames.visible);\n this.axis[axis].isVisible = true;\n }\n\n if (this.options.autoHide) {\n this.hideScrollbars();\n }\n }\n /**\n * Hide Scrollbar\n */\n ;\n\n /**\n * on scrollbar handle drag movement starts\n */\n _proto.onDragStart = function onDragStart(e, axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n var elDocument = getElementDocument(this.el);\n var elWindow = getElementWindow(this.el);\n var scrollbar = this.axis[axis].scrollbar; // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset = eventOffset - scrollbar.rect[this.axis[axis].offsetAttr];\n this.draggedAxis = axis;\n this.el.classList.add(this.classNames.dragging);\n elDocument.addEventListener('mousemove', this.drag, true);\n elDocument.addEventListener('mouseup', this.onEndDrag, true);\n\n if (this.removePreventClickId === null) {\n elDocument.addEventListener('click', this.preventClick, true);\n elDocument.addEventListener('dblclick', this.preventClick, true);\n } else {\n elWindow.clearTimeout(this.removePreventClickId);\n this.removePreventClickId = null;\n }\n }\n /**\n * Drag scrollbar handle\n */\n ;\n\n _proto.onTrackClick = function onTrackClick(e, axis) {\n var _this4 = this;\n\n if (axis === void 0) {\n axis = 'y';\n }\n\n if (!this.options.clickOnTrack) return;\n var elWindow = getElementWindow(this.el);\n this.axis[axis].scrollbar.rect = this.axis[axis].scrollbar.el.getBoundingClientRect();\n var scrollbar = this.axis[axis].scrollbar;\n var scrollbarOffset = scrollbar.rect[this.axis[axis].offsetAttr];\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n var t = axis === 'y' ? this.mouseY - scrollbarOffset : this.mouseX - scrollbarOffset;\n var dir = t < 0 ? -1 : 1;\n var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n\n var scrollTo = function scrollTo() {\n if (dir === -1) {\n if (scrolled > scrollSize) {\n var _this4$contentWrapper;\n\n scrolled -= _this4.options.clickOnTrackSpeed;\n\n _this4.contentWrapperEl.scrollTo((_this4$contentWrapper = {}, _this4$contentWrapper[_this4.axis[axis].offsetAttr] = scrolled, _this4$contentWrapper));\n\n elWindow.requestAnimationFrame(scrollTo);\n }\n } else {\n if (scrolled < scrollSize) {\n var _this4$contentWrapper2;\n\n scrolled += _this4.options.clickOnTrackSpeed;\n\n _this4.contentWrapperEl.scrollTo((_this4$contentWrapper2 = {}, _this4$contentWrapper2[_this4.axis[axis].offsetAttr] = scrolled, _this4$contentWrapper2));\n\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n };\n\n scrollTo();\n }\n /**\n * Getter for content element\n */\n ;\n\n _proto.getContentElement = function getContentElement() {\n return this.contentEl;\n }\n /**\n * Getter for original scrolling element\n */\n ;\n\n _proto.getScrollElement = function getScrollElement() {\n return this.contentWrapperEl;\n };\n\n _proto.getScrollbarWidth = function getScrollbarWidth() {\n // Try/catch for FF 56 throwing on undefined computedStyles\n try {\n // Detect browsers supporting CSS scrollbar styling and do not calculate\n if (getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar').display === 'none' || 'scrollbarWidth' in document.documentElement.style || '-ms-overflow-style' in document.documentElement.style) {\n return 0;\n } else {\n return scrollbarWidth(this.el);\n }\n } catch (e) {\n return scrollbarWidth(this.el);\n }\n };\n\n _proto.removeListeners = function removeListeners() {\n var _this5 = this;\n\n var elWindow = getElementWindow(this.el); // Event listeners\n\n if (this.options.autoHide) {\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick'].forEach(function (e) {\n _this5.el.removeEventListener(e, _this5.onPointerEvent, true);\n });\n ['touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this5.el.removeEventListener(e, _this5.onPointerEvent, {\n capture: true,\n passive: true\n });\n });\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n\n if (this.contentWrapperEl) {\n this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n }\n\n elWindow.removeEventListener('resize', this.onWindowResize);\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n } // Cancel all debounced functions\n\n\n this.recalculate.cancel();\n this.onMouseMove.cancel();\n this.hideScrollbars.cancel();\n this.onWindowResize.cancel();\n }\n /**\n * UnMount mutation observer and delete SimpleBar instance from DOM element\n */\n ;\n\n _proto.unMount = function unMount() {\n this.removeListeners();\n SimpleBar.instances.delete(this.el);\n }\n /**\n * Check if mouse is within bounds\n */\n ;\n\n _proto.isWithinBounds = function isWithinBounds(bbox) {\n return this.mouseX >= bbox.left && this.mouseX <= bbox.left + bbox.width && this.mouseY >= bbox.top && this.mouseY <= bbox.top + bbox.height;\n }\n /**\n * Find element children matches query\n */\n ;\n\n _proto.findChild = function findChild(el, query) {\n var matches = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;\n return Array.prototype.filter.call(el.children, function (child) {\n return matches.call(child, query);\n })[0];\n };\n\n return SimpleBar;\n}();\n\nSimpleBar.defaultOptions = {\n autoHide: true,\n forceVisible: false,\n clickOnTrack: true,\n clickOnTrackSpeed: 40,\n classNames: {\n contentEl: 'simplebar-content',\n contentWrapper: 'simplebar-content-wrapper',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging'\n },\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n timeout: 1000\n};\nSimpleBar.instances = new WeakMap();\n\nSimpleBar.initDOMLoadedElements = function () {\n document.removeEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.removeEventListener('load', this.initDOMLoadedElements);\n Array.prototype.forEach.call(document.querySelectorAll('[data-simplebar]'), function (el) {\n if (el.getAttribute('data-simplebar') !== 'init' && !SimpleBar.instances.has(el)) new SimpleBar(el, getOptions(el.attributes));\n });\n};\n\nSimpleBar.removeObserver = function () {\n this.globalObserver.disconnect();\n};\n\nSimpleBar.initHtmlApi = function () {\n this.initDOMLoadedElements = this.initDOMLoadedElements.bind(this); // MutationObserver is IE11+\n\n if (typeof MutationObserver !== 'undefined') {\n // Mutation observer to observe dynamically added elements\n this.globalObserver = new MutationObserver(SimpleBar.handleMutations);\n this.globalObserver.observe(document, {\n childList: true,\n subtree: true\n });\n } // Taken from jQuery `ready` function\n // Instantiate elements already present on the page\n\n\n if (document.readyState === 'complete' || document.readyState !== 'loading' && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay init\n window.setTimeout(this.initDOMLoadedElements);\n } else {\n document.addEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.addEventListener('load', this.initDOMLoadedElements);\n }\n};\n\nSimpleBar.handleMutations = function (mutations) {\n mutations.forEach(function (mutation) {\n Array.prototype.forEach.call(mutation.addedNodes, function (addedNode) {\n if (addedNode.nodeType === 1) {\n if (addedNode.hasAttribute('data-simplebar')) {\n !SimpleBar.instances.has(addedNode) && document.documentElement.contains(addedNode) && new SimpleBar(addedNode, getOptions(addedNode.attributes));\n } else {\n Array.prototype.forEach.call(addedNode.querySelectorAll('[data-simplebar]'), function (el) {\n if (el.getAttribute('data-simplebar') !== 'init' && !SimpleBar.instances.has(el) && document.documentElement.contains(el)) new SimpleBar(el, getOptions(el.attributes));\n });\n }\n }\n });\n Array.prototype.forEach.call(mutation.removedNodes, function (removedNode) {\n if (removedNode.nodeType === 1) {\n if (removedNode.getAttribute('data-simplebar') === 'init') {\n SimpleBar.instances.has(removedNode) && !document.documentElement.contains(removedNode) && SimpleBar.instances.get(removedNode).unMount();\n } else {\n Array.prototype.forEach.call(removedNode.querySelectorAll('[data-simplebar=\"init\"]'), function (el) {\n SimpleBar.instances.has(el) && !document.documentElement.contains(el) && SimpleBar.instances.get(el).unMount();\n });\n }\n }\n });\n });\n};\n\nSimpleBar.getOptions = getOptions;\n/**\n * HTML API\n * Called only in a browser env.\n */\n\nif (canUseDOM) {\n SimpleBar.initHtmlApi();\n}\n\nexport default SimpleBar;\n//# sourceMappingURL=simplebar.esm.js.map\n","/*Copyright (c) 2017 Jason Zissman\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of\r\nthis software and associated documentation files (the \"Software\"), to deal in\r\nthe Software without restriction, including without limitation the rights to\r\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r\nthe Software, and to permit persons to whom the Software is furnished to do so,\r\nsubject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n*/\r\n\r\n(function () {\r\n\t(function (root, factory) {\r\n\t\tif (typeof module !== 'undefined' && module.exports) {\r\n\t\t\t// CommonJS\r\n\t\t\treturn module.exports = factory();\r\n\t\t} else if (typeof define === 'function' && define.amd) {\r\n\t\t\t// AMD\r\n\t\t\tdefine([], function () {\r\n\t\t\t\treturn (root.TimeMe = factory());\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t// Global Variables\r\n\t\t\treturn root.TimeMe = factory();\r\n\t\t}\r\n\t})(this, function () {\r\n\r\n\t\tvar TimeMe = {\r\n\r\n\t\t\tstartStopTimes: {},\r\n\t\t\tidleTimeoutMs: 30 * 1000,\r\n\t\t\tcurrentIdleTimeMs: 0,\r\n\t\t\tcheckStateRateMs: 250,\r\n\t\t\tactive: false,\r\n\t\t\tidle: false,\r\n\t\t\tcurrentPageName: \"default-page-name\",\r\n\t\t\ttimeElapsedCallbacks: [],\r\n\t\t\tuserLeftCallbacks: [],\r\n\t\t\tuserReturnCallbacks: [],\r\n\r\n\t\t\ttrackTimeOnElement: function (elementId) {\r\n\t\t\t\tvar element = document.getElementById(elementId);\r\n\t\t\t\tif (element) {\r\n\t\t\t\t\telement.addEventListener(\"mouseover\", function () {\r\n\t\t\t\t\t\tTimeMe.startTimer(elementId);\r\n\t\t\t\t\t});\r\n\t\t\t\t\telement.addEventListener(\"mousemove\", function () {\r\n\t\t\t\t\t\tTimeMe.startTimer(elementId);\r\n\t\t\t\t\t});\t\t\t\t\t\r\n\t\t\t\t\telement.addEventListener(\"mouseleave\", function () {\r\n\t\t\t\t\t\tTimeMe.stopTimer(elementId);\r\n\t\t\t\t\t});\r\n\t\t\t\t\telement.addEventListener(\"keypress\", function () {\r\n\t\t\t\t\t\tTimeMe.startTimer(elementId);\r\n\t\t\t\t\t});\r\n\t\t\t\t\telement.addEventListener(\"focus\", function () {\r\n\t\t\t\t\t\tTimeMe.startTimer(elementId);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tgetTimeOnElementInSeconds: function (elementId) {\r\n\t\t\t\tvar time = TimeMe.getTimeOnPageInSeconds(elementId);\r\n\t\t\t\tif (time) {\r\n\t\t\t\t\treturn time;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tstartTimer: function (pageName) {\r\n\t\t\t\tif (!pageName) {\r\n\t\t\t\t\tpageName = TimeMe.currentPageName;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (TimeMe.startStopTimes[pageName] === undefined) {\r\n\t\t\t\t\tTimeMe.startStopTimes[pageName] = [];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar arrayOfTimes = TimeMe.startStopTimes[pageName];\r\n\t\t\t\t\tvar latestStartStopEntry = arrayOfTimes[arrayOfTimes.length - 1];\r\n\t\t\t\t\tif (latestStartStopEntry !== undefined && latestStartStopEntry.stopTime === undefined) {\r\n\t\t\t\t\t\t// Can't start new timer until previous finishes.\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tTimeMe.startStopTimes[pageName].push({\r\n\t\t\t\t\t\"startTime\": new Date(),\r\n\t\t\t\t\t\"stopTime\": undefined\r\n\t\t\t\t});\r\n\t\t\t\tTimeMe.active = true;\r\n\t\t\t},\r\n\r\n\t\t\tstopAllTimers: function () {\r\n\t\t\t\tvar pageNames = Object.keys(TimeMe.startStopTimes);\r\n\t\t\t\tfor (var i = 0; i < pageNames.length; i++) {\r\n\t\t\t\t\tTimeMe.stopTimer(pageNames[i]);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tstopTimer: function (pageName) {\r\n\t\t\t\tif (!pageName) {\r\n\t\t\t\t\tpageName = TimeMe.currentPageName;\r\n\t\t\t\t}\r\n\t\t\t\tvar arrayOfTimes = TimeMe.startStopTimes[pageName];\r\n\t\t\t\tif (arrayOfTimes === undefined || arrayOfTimes.length === 0) {\r\n\t\t\t\t\t// Can't stop timer before you've started it.\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (arrayOfTimes[arrayOfTimes.length - 1].stopTime === undefined) {\r\n\t\t\t\t\tarrayOfTimes[arrayOfTimes.length - 1].stopTime = new Date();\r\n\t\t\t\t}\r\n\t\t\t\tTimeMe.active = false;\r\n\t\t\t},\r\n\r\n\t\t\tgetTimeOnCurrentPageInSeconds: function () {\r\n\t\t\t\treturn TimeMe.getTimeOnPageInSeconds(TimeMe.currentPageName);\r\n\t\t\t},\r\n\r\n\t\t\tgetTimeOnPageInSeconds: function (pageName) {\r\n\t\t\t\tvar timeInMs = TimeMe.getTimeOnPageInMilliseconds(pageName);\r\n\t\t\t\tif (timeInMs === undefined) {\r\n\t\t\t\t\treturn undefined;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn TimeMe.getTimeOnPageInMilliseconds(pageName) / 1000;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tgetTimeOnCurrentPageInMilliseconds: function () {\r\n\t\t\t\treturn TimeMe.getTimeOnPageInMilliseconds(TimeMe.currentPageName);\r\n\t\t\t},\r\n\r\n\t\t\tgetTimeOnPageInMilliseconds: function (pageName) {\r\n\r\n\t\t\t\tvar totalTimeOnPage = 0;\r\n\r\n\t\t\t\tvar arrayOfTimes = TimeMe.startStopTimes[pageName];\r\n\t\t\t\tif (arrayOfTimes === undefined) {\r\n\t\t\t\t\t// Can't get time on page before you've started the timer.\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar timeSpentOnPageInSeconds = 0;\r\n\t\t\t\tfor (var i = 0; i < arrayOfTimes.length; i++) {\r\n\t\t\t\t\tvar startTime = arrayOfTimes[i].startTime;\r\n\t\t\t\t\tvar stopTime = arrayOfTimes[i].stopTime;\r\n\t\t\t\t\tif (stopTime === undefined) {\r\n\t\t\t\t\t\tstopTime = new Date();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar difference = stopTime - startTime;\r\n\t\t\t\t\ttimeSpentOnPageInSeconds += (difference);\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttotalTimeOnPage = Number(timeSpentOnPageInSeconds);\r\n\t\t\t\treturn totalTimeOnPage;\r\n\t\t\t},\r\n\r\n\t\t\tgetTimeOnAllPagesInSeconds: function () {\r\n\t\t\t\tvar allTimes = [];\r\n\t\t\t\tvar pageNames = Object.keys(TimeMe.startStopTimes);\r\n\t\t\t\tfor (var i = 0; i < pageNames.length; i++) {\r\n\t\t\t\t\tvar pageName = pageNames[i];\r\n\t\t\t\t\tvar timeOnPage = TimeMe.getTimeOnPageInSeconds(pageName);\r\n\t\t\t\t\tallTimes.push({\r\n\t\t\t\t\t\t\"pageName\": pageName,\r\n\t\t\t\t\t\t\"timeOnPage\": timeOnPage\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn allTimes;\r\n\t\t\t},\r\n\r\n\t\t\tsetIdleDurationInSeconds: function (duration) {\r\n\t\t\t\tvar durationFloat = parseFloat(duration);\r\n\t\t\t\tif (isNaN(durationFloat) === false) {\r\n\t\t\t\t\tTimeMe.idleTimeoutMs = duration * 1000;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow {\r\n\t\t\t\t\t\tname: \"InvalidDurationException\",\r\n\t\t\t\t\t\tmessage: \"An invalid duration time (\" + duration + \") was provided.\"\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\tsetCurrentPageName: function (pageName) {\r\n\t\t\t\tTimeMe.currentPageName = pageName;\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\tresetRecordedPageTime: function (pageName) {\r\n\t\t\t\tdelete TimeMe.startStopTimes[pageName];\r\n\t\t\t},\r\n\r\n\t\t\tresetAllRecordedPageTimes: function () {\r\n\t\t\t\tvar pageNames = Object.keys(TimeMe.startStopTimes);\r\n\t\t\t\tfor (var i = 0; i < pageNames.length; i++) {\r\n\t\t\t\t\tTimeMe.resetRecordedPageTime(pageNames[i]);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tresetIdleCountdown: function () {\r\n\t\t\t\tif (TimeMe.idle) {\r\n\t\t\t\t\tTimeMe.triggerUserHasReturned();\r\n\t\t\t\t}\r\n\t\t\t\tTimeMe.idle = false;\r\n\t\t\t\tTimeMe.currentIdleTimeMs = 0;\r\n\t\t\t},\r\n\r\n\t\t\tcallWhenUserLeaves: function (callback, numberOfTimesToInvoke) {\r\n\t\t\t\tthis.userLeftCallbacks.push({\r\n\t\t\t\t\tcallback: callback,\r\n\t\t\t\t\tnumberOfTimesToInvoke: numberOfTimesToInvoke\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\tcallWhenUserReturns: function (callback, numberOfTimesToInvoke) {\r\n\t\t\t\tthis.userReturnCallbacks.push({\r\n\t\t\t\t\tcallback: callback,\r\n\t\t\t\t\tnumberOfTimesToInvoke: numberOfTimesToInvoke\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\ttriggerUserHasReturned: function () {\r\n\t\t\t\tif (!TimeMe.active) {\r\n\t\t\t\t\tfor (var i = 0; i < this.userReturnCallbacks.length; i++) {\r\n\t\t\t\t\t\tvar userReturnedCallback = this.userReturnCallbacks[i];\r\n\t\t\t\t\t\tvar numberTimes = userReturnedCallback.numberOfTimesToInvoke;\r\n\t\t\t\t\t\tif (isNaN(numberTimes) || (numberTimes === undefined) || numberTimes > 0) {\r\n\t\t\t\t\t\t\tuserReturnedCallback.numberOfTimesToInvoke -= 1;\r\n\t\t\t\t\t\t\tuserReturnedCallback.callback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tTimeMe.startTimer();\r\n\t\t\t},\r\n\r\n\t\t\ttriggerUserHasLeftPage: function () {\r\n\t\t\t\tif (TimeMe.active) {\r\n\t\t\t\t\tfor (var i = 0; i < this.userLeftCallbacks.length; i++) {\r\n\t\t\t\t\t\tvar userHasLeftCallback = this.userLeftCallbacks[i];\r\n\t\t\t\t\t\tvar numberTimes = userHasLeftCallback.numberOfTimesToInvoke;\r\n\t\t\t\t\t\tif (isNaN(numberTimes) || (numberTimes === undefined) || numberTimes > 0) {\r\n\t\t\t\t\t\t\tuserHasLeftCallback.numberOfTimesToInvoke -= 1;\r\n\t\t\t\t\t\t\tuserHasLeftCallback.callback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tTimeMe.stopAllTimers();\r\n\t\t\t},\r\n\r\n\t\t\tcallAfterTimeElapsedInSeconds: function (timeInSeconds, callback) {\r\n\t\t\t\tTimeMe.timeElapsedCallbacks.push({\r\n\t\t\t\t\ttimeInSeconds: timeInSeconds,\r\n\t\t\t\t\tcallback: callback,\r\n\t\t\t\t\tpending: true\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tcheckState: function () {\r\n\t\t\t\tfor (var i = 0; i < TimeMe.timeElapsedCallbacks.length; i++) {\r\n\t\t\t\t\tif (TimeMe.timeElapsedCallbacks[i].pending && TimeMe.getTimeOnCurrentPageInSeconds() > TimeMe.timeElapsedCallbacks[i].timeInSeconds) {\r\n\t\t\t\t\t\tTimeMe.timeElapsedCallbacks[i].callback();\r\n\t\t\t\t\t\tTimeMe.timeElapsedCallbacks[i].pending = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (TimeMe.idle === false && TimeMe.currentIdleTimeMs > TimeMe.idleTimeoutMs) {\r\n\t\t\t\t\tTimeMe.idle = true;\r\n\t\t\t\t\tTimeMe.triggerUserHasLeftPage();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tTimeMe.currentIdleTimeMs += TimeMe.checkStateRateMs;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tvisibilityChangeEventName: undefined,\r\n\t\t\thiddenPropName: undefined,\r\n\r\n\t\t\tlistenForVisibilityEvents: function () {\r\n\r\n\t\t\t\tif (typeof document.hidden !== \"undefined\") {\r\n\t\t\t\t\tTimeMe.hiddenPropName = \"hidden\";\r\n\t\t\t\t\tTimeMe.visibilityChangeEventName = \"visibilitychange\";\r\n\t\t\t\t} else if (typeof document.mozHidden !== \"undefined\") {\r\n\t\t\t\t\tTimeMe.hiddenPropName = \"mozHidden\";\r\n\t\t\t\t\tTimeMe.visibilityChangeEventName = \"mozvisibilitychange\";\r\n\t\t\t\t} else if (typeof document.msHidden !== \"undefined\") {\r\n\t\t\t\t\tTimeMe.hiddenPropName = \"msHidden\";\r\n\t\t\t\t\tTimeMe.visibilityChangeEventName = \"msvisibilitychange\";\r\n\t\t\t\t} else if (typeof document.webkitHidden !== \"undefined\") {\r\n\t\t\t\t\tTimeMe.hiddenPropName = \"webkitHidden\";\r\n\t\t\t\t\tTimeMe.visibilityChangeEventName = \"webkitvisibilitychange\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdocument.addEventListener(TimeMe.visibilityChangeEventName, function () {\r\n\t\t\t\t\tif (document[TimeMe.hiddenPropName]) {\r\n\t\t\t\t\t\tTimeMe.triggerUserHasLeftPage();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tTimeMe.triggerUserHasReturned();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, false);\r\n\r\n\t\t\t\twindow.addEventListener('blur', function () {\r\n\t\t\t\t\tTimeMe.triggerUserHasLeftPage();\r\n\t\t\t\t});\r\n\r\n\t\t\t\twindow.addEventListener('focus', function () {\r\n\t\t\t\t\tTimeMe.triggerUserHasReturned();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tdocument.addEventListener(\"mousemove\", function () { TimeMe.resetIdleCountdown(); });\r\n\t\t\t\tdocument.addEventListener(\"keyup\", function () { TimeMe.resetIdleCountdown(); });\r\n\t\t\t\tdocument.addEventListener(\"touchstart\", function () { TimeMe.resetIdleCountdown(); });\r\n\t\t\t\twindow.addEventListener(\"scroll\", function () { TimeMe.resetIdleCountdown(); });\r\n\r\n\t\t\t\tsetInterval(function () {\r\n\t\t\t\t\tTimeMe.checkState();\r\n\t\t\t\t}, TimeMe.checkStateRateMs);\r\n\t\t\t},\r\n\r\n\t\t\twebsocket: undefined,\r\n\r\n\t\t\twebsocketHost: undefined,\r\n\r\n\t\t\tsetUpWebsocket: function (websocketOptions) {\r\n\t\t\t\tif (window.WebSocket && websocketOptions) {\r\n\t\t\t\t\tvar websocketHost = websocketOptions.websocketHost; // \"ws://hostname:port\"\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tTimeMe.websocket = new WebSocket(websocketHost);\r\n\t\t\t\t\t\twindow.onbeforeunload = function (event) {\r\n\t\t\t\t\t\t\tTimeMe.sendCurrentTime(websocketOptions.appId);\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tTimeMe.websocket.onopen = function () {\r\n\t\t\t\t\t\t\tTimeMe.sendInitWsRequest(websocketOptions.appId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tTimeMe.websocket.onerror = function (error) {\r\n\t\t\t\t\t\t\tif (console) {\r\n\t\t\t\t\t\t\t\tconsole.log(\"Error occurred in websocket connection: \" + error);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tTimeMe.websocket.onmessage = function (event) {\r\n\t\t\t\t\t\t\tif (console) {\r\n\t\t\t\t\t\t\t\tconsole.log(event.data);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\tif (console) {\r\n\t\t\t\t\t\t\tconsole.error(\"Failed to connect to websocket host. Error:\" + error);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\twebsocketSend: function (data) {\r\n\t\t\t\tTimeMe.websocket.send(JSON.stringify(data));\r\n\t\t\t},\r\n\r\n\t\t\tsendCurrentTime: function (appId) {\r\n\t\t\t\tvar timeSpentOnPage = TimeMe.getTimeOnCurrentPageInMilliseconds();\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\ttype: \"INSERT_TIME\",\r\n\t\t\t\t\tappId: appId,\r\n\t\t\t\t\ttimeOnPageMs: timeSpentOnPage,\r\n\t\t\t\t\tpageName: TimeMe.currentPageName\r\n\t\t\t\t};\r\n\t\t\t\tTimeMe.websocketSend(data);\r\n\t\t\t},\r\n\t\t\tsendInitWsRequest: function (appId) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\ttype: \"INIT\",\r\n\t\t\t\t\tappId: appId\r\n\t\t\t\t};\r\n\t\t\t\tTimeMe.websocketSend(data);\r\n\t\t\t},\r\n\r\n\t\t\tinitialize: function (options) {\r\n\r\n\t\t\t\tvar idleTimeoutInSeconds = TimeMe.idleTimeoutMs || 30;\r\n\t\t\t\tvar currentPageName = TimeMe.currentPageName || \"default-page-name\";\r\n\t\t\t\tvar websocketOptions = undefined;\r\n\r\n\t\t\t\tif (options) {\r\n\t\t\t\t\tidleTimeoutInSeconds = options.idleTimeoutInSeconds || idleTimeoutInSeconds;\r\n\t\t\t\t\tcurrentPageName = options.currentPageName || currentPageName;\r\n\t\t\t\t\twebsocketOptions = options.websocketOptions;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tTimeMe.setIdleDurationInSeconds(idleTimeoutInSeconds)\r\n\t\t\t\t\t.setCurrentPageName(currentPageName)\r\n\t\t\t\t\t.setUpWebsocket(websocketOptions)\r\n\t\t\t\t\t.listenForVisibilityEvents();\r\n\r\n\t\t\t\t// TODO - only do this if page currently visible.\r\n\r\n\t\t\t\tTimeMe.startTimer();\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn TimeMe;\r\n\t});\r\n}).call(this);","module.exports=/[\\0-\\x1F\\x7F-\\x9F]/","module.exports=/[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/","module.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/","module.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/","'use strict';\n\nexports.Any = require('./properties/Any/regex');\nexports.Cc = require('./categories/Cc/regex');\nexports.Cf = require('./categories/Cf/regex');\nexports.P = require('./categories/P/regex');\nexports.Z = require('./categories/Z/regex');\n","module.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","const autoplay = {\r\n props: {\r\n /**\r\n * Flag to enable autoplay\r\n */\r\n autoplay: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Time elapsed before advancing slide\r\n */\r\n autoplayTimeout: {\r\n type: Number,\r\n default: 2000\r\n },\r\n /**\r\n * Flag to pause autoplay on hover\r\n */\r\n autoplayHoverPause: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Autoplay direction. User can insert backward to make autoplay move from right to left\r\n */\r\n autoplayDirection: {\r\n type: String,\r\n default: 'forward'\r\n }\r\n },\r\n data() {\r\n return {\r\n autoplayInterval: null\r\n };\r\n },\r\n unmounted() {\r\n if (!this.$isServer) {\r\n this.$el.removeEventListener('mouseenter', this.pauseAutoplay);\r\n this.$el.removeEventListener('mouseleave', this.startAutoplay);\r\n }\r\n },\r\n methods: {\r\n pauseAutoplay() {\r\n if (this.autoplayInterval) {\r\n this.autoplayInterval = clearInterval(this.autoplayInterval);\r\n }\r\n },\r\n startAutoplay() {\r\n if (this.autoplay) {\r\n this.autoplayInterval = setInterval(\r\n this.autoplayAdvancePage,\r\n this.autoplayTimeout\r\n );\r\n }\r\n },\r\n restartAutoplay() {\r\n this.pauseAutoplay();\r\n this.startAutoplay();\r\n },\r\n autoplayAdvancePage() {\r\n this.advancePage(this.autoplayDirection);\r\n }\r\n },\r\n mounted() {\r\n if (!this.$isServer && this.autoplayHoverPause) {\r\n this.$el.addEventListener('mouseenter', this.pauseAutoplay);\r\n this.$el.addEventListener('mouseleave', this.startAutoplay);\r\n }\r\n\r\n this.startAutoplay();\r\n }\r\n};\r\n\r\nexport default autoplay;\r\n","/* eslint-disable fp/no-let */\r\n/*\r\n * Returns a function, that, as long as it continues to be invoked, will not\r\n * be triggered. The function will be called after it stops being called for\r\n * N milliseconds. If `immediate` is passed, trigger the function on the\r\n * leading edge, instead of the trailing.\r\n*/\r\nconst debounce = (func, wait, immediate) => {\r\n let timeout;\r\n return () => {\r\n const context = this;\r\n const later = () => {\r\n timeout = null;\r\n if (!immediate) {\r\n func.apply(context);\r\n }\r\n };\r\n const callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) {\r\n func.apply(context);\r\n }\r\n };\r\n};\r\n\r\nexport default debounce;\r\n","<template>\r\n <div class=\"VueCarousel-navigation\">\r\n <button type=\"button\"\r\n aria-label=\"Previous page\"\r\n :tabindex=\"canAdvanceBackward ? 0 : -1\"\r\n class=\"VueCarousel-navigation-button VueCarousel-navigation-prev\"\r\n :class=\"{ 'VueCarousel-navigation--disabled': !canAdvanceBackward }\"\r\n :style=\"`padding: ${clickTargetSize}px; margin-right: -${clickTargetSize}px;`\"\r\n @click.prevent=\"triggerPageAdvance('backward')\"\r\n v-html=\"prevLabel\" />\r\n <button type=\"button\"\r\n aria-label=\"Next page\"\r\n :tabindex=\"canAdvanceForward ? 0 : -1\"\r\n class=\"VueCarousel-navigation-button VueCarousel-navigation-next\"\r\n :class=\"{ 'VueCarousel-navigation--disabled': !canAdvanceForward }\"\r\n :style=\"`padding: ${clickTargetSize}px; margin-left: -${clickTargetSize}px;`\"\r\n @click.prevent=\"triggerPageAdvance('forward')\"\r\n v-html=\"nextLabel\" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'navigation',\r\n inject: ['carousel'],\r\n props: {\r\n /**\r\n * Amount of padding to apply around the label in pixels\r\n */\r\n clickTargetSize: {\r\n type: Number,\r\n default: 8\r\n },\r\n /**\r\n * Text content of the navigation next button\r\n */\r\n nextLabel: {\r\n type: String,\r\n default: '▶'\r\n },\r\n /**\r\n * Text content of the navigation prev button\r\n */\r\n prevLabel: {\r\n type: String,\r\n default: '◀'\r\n }\r\n },\r\n computed: {\r\n /**\r\n * @return {Boolean} Can the slider move forward?\r\n */\r\n canAdvanceForward() {\r\n return this.carousel.canAdvanceForward || false;\r\n },\r\n /**\r\n * @return {Boolean} Can the slider move backward?\r\n */\r\n canAdvanceBackward() {\r\n return this.carousel.canAdvanceBackward || false;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Trigger page change on +/- 1 depending on the direction\r\n * @param {\"backward\"} [direction]\r\n * @return {void}\r\n */\r\n triggerPageAdvance(direction) {\r\n /**\r\n * @event paginationclick\r\n * @type {string}\r\n */\r\n this.$emit('navigationclick', direction);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.VueCarousel-navigation-button {\r\n position: absolute;\r\n top: 50%;\r\n box-sizing: border-box;\r\n color: #000;\r\n text-decoration: none;\r\n appearance: none;\r\n border: none;\r\n background-color: transparent;\r\n padding: 0;\r\n cursor: pointer;\r\n outline: none;\r\n}\r\n\r\n.VueCarousel-navigation-button:focus {\r\n outline: 1px solid lightblue;\r\n}\r\n\r\n.VueCarousel-navigation-next {\r\n right: 0;\r\n transform: translateY(-50%) translateX(100%);\r\n font-family: \"system\";\r\n}\r\n\r\n.VueCarousel-navigation-prev {\r\n left: 0;\r\n transform: translateY(-50%) translateX(-100%);\r\n font-family: \"system\";\r\n}\r\n\r\n.VueCarousel-navigation--disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n}\r\n\r\n/* Define the \"system\" font family */\r\n@font-face {\r\n font-family: system;\r\n font-style: normal;\r\n font-weight: 300;\r\n src: local(\".SFNSText-Light\"), local(\".HelveticaNeueDeskInterface-Light\"),\r\n local(\".LucidaGrandeUI\"), local(\"Ubuntu Light\"), local(\"Segoe UI Symbol\"),\r\n local(\"Roboto-Light\"), local(\"DroidSans\"), local(\"Tahoma\");\r\n}\r\n</style>\r\n","import { render } from \"./Navigation.vue?vue&type=template&id=07a74a1a&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js\"\n\nimport \"./Navigation.vue?vue&type=style&index=0&id=07a74a1a&scoped=true&lang=css\"\n\nimport exportComponent from \"/opt/buildagent/work/4e3595f43566153d/src/Web/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-07a74a1a\"]])\n\nexport default __exports__","<template>\r\n <div v-show=\"carousel.pageCount > 1\"\r\n class=\"VueCarousel-pagination\"\r\n :class=\"{ [`VueCarousel-pagination--${paginationPositionModifierName}`]: paginationPositionModifierName }\">\r\n <div class=\"VueCarousel-dot-container\"\r\n role=\"tablist\"\r\n :style=\"dotContainerStyle\">\r\n <button v-for=\"(page, index) in paginationCount\"\r\n :key=\"`${page}_${index}`\"\r\n class=\"VueCarousel-dot\"\r\n aria-hidden=\"false\"\r\n role=\"tab\"\r\n :title=\"getDotTitle(index)\"\r\n :value=\"getDotTitle(index)\"\r\n :aria-label=\"getDotTitle(index)\"\r\n :aria-selected=\"isCurrentDot(index) ? 'true' : 'false'\"\r\n :class=\"{ 'VueCarousel-dot--active': isCurrentDot(index) }\"\r\n :style=\"dotStyle(index)\"\r\n @click=\"goToPage(index)\" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'pagination',\r\n inject: ['carousel'],\r\n computed: {\r\n paginationPositionModifierName() {\r\n const {paginationPosition} = this.carousel;\r\n // guard to add only required class modifiers\r\n if (paginationPosition.indexOf('overlay') < 0) return;\r\n return paginationPosition;\r\n },\r\n paginationPropertyBasedOnPosition() {\r\n return this.carousel.paginationPosition.indexOf('top') >= 0 ?\r\n 'bottom' :\r\n 'top';\r\n },\r\n paginationCount() {\r\n return this.carousel && this.carousel.scrollPerPage ?\r\n this.carousel.pageCount :\r\n this.carousel.slideCount || 0;\r\n },\r\n dotContainerStyle() {\r\n const {carousel} = this;\r\n if (carousel.maxPaginationDotCount === -1) {\r\n return {\r\n 'margin-top': `${carousel.paginationPadding * 2}px`\r\n };\r\n }\r\n const doublePadding = carousel.paginationPadding * 2;\r\n const containerWidth =\r\n carousel.maxPaginationDotCount *\r\n (carousel.paginationSize + doublePadding);\r\n return {\r\n 'margin-top': `${carousel.paginationPadding * 2}px`,\r\n 'overflow': 'hidden',\r\n 'width': `${containerWidth}px`,\r\n 'margin': '0 auto',\r\n 'white-space': 'nowrap'\r\n };\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Change page by index\r\n * @param {number} index\r\n * return {void}\r\n */\r\n goToPage(index) {\r\n /**\r\n * @event paginationclick\r\n * @type {number}\r\n */\r\n this.$emit('paginationclick', index);\r\n },\r\n\r\n /**\r\n * Check on current dot\r\n * @param {number} index - dot index\r\n * @return {boolean}\r\n */\r\n isCurrentDot(index) {\r\n return index === this.carousel.currentPage;\r\n },\r\n\r\n /**\r\n * Generate dot title\r\n * @param {number} index - dot index\r\n * @return {string}\r\n */\r\n getDotTitle(index) {\r\n const title = this.carousel.getSlides(this.carousel.$slots.default())[index].props.title;\r\n return title || `Item ${index}`;\r\n },\r\n /**\r\n * Control dots appear and disappear\r\n * @param {number} index - dot index\r\n * @return {Object} - dot(buttn) style\r\n */\r\n dotStyle(index) {\r\n const {carousel} = this;\r\n const basicBtnStyle = {};\r\n basicBtnStyle[\r\n `margin-${this.paginationPropertyBasedOnPosition}`\r\n ] = `${carousel.paginationPadding * 2}px`;\r\n\r\n Object.assign(basicBtnStyle, {\r\n 'padding': `${carousel.paginationPadding}px`,\r\n 'width': `${carousel.paginationSize}px`,\r\n 'height': `${carousel.paginationSize}px`,\r\n 'background-color': `${\r\n this.isCurrentDot(index) ?\r\n carousel.paginationActiveColor :\r\n carousel.paginationColor\r\n }`\r\n });\r\n\r\n if (carousel.maxPaginationDotCount === -1) return basicBtnStyle;\r\n\r\n const eachDotsWidth =\r\n carousel.paginationSize + carousel.paginationPadding * 2;\r\n const maxReverse = carousel.pageCount - carousel.maxPaginationDotCount;\r\n const translateAmount =\r\n carousel.currentPage > maxReverse ?\r\n maxReverse :\r\n carousel.currentPage <= carousel.maxPaginationDotCount / 2 ?\r\n 0 :\r\n carousel.currentPage - Math.ceil(carousel.maxPaginationDotCount / 2) + 1;\r\n const transformWidth = 0 - eachDotsWidth * translateAmount;\r\n return Object.assign(basicBtnStyle, {\r\n '-webkit-transform': `translate3d(${transformWidth}px,0,0)`,\r\n 'transform': `translate3d(${transformWidth}px,0,0)`,\r\n '-webkit-transition': `-webkit-transform ${carousel.speed / 1000}s`,\r\n 'transition': `transform ${carousel.speed / 1000}s`\r\n });\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.VueCarousel-pagination {\r\n width: 100%;\r\n text-align: center;\r\n}\r\n\r\n.VueCarousel-pagination--top-overlay {\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.VueCarousel-pagination--bottom-overlay {\r\n position: absolute;\r\n bottom: 0;\r\n}\r\n\r\n.VueCarousel-dot-container {\r\n display: inline-block;\r\n margin: 0 auto;\r\n padding: 0;\r\n}\r\n\r\n.VueCarousel-dot {\r\n display: inline-block;\r\n cursor: pointer;\r\n appearance: none;\r\n border: none;\r\n background-clip: content-box;\r\n box-sizing: content-box;\r\n padding: 0;\r\n border-radius: 100%;\r\n outline: none;\r\n}\r\n\r\n.VueCarousel-dot:focus {\r\n outline: 1px solid lightblue;\r\n}\r\n</style>\r\n","import { render } from \"./Pagination.vue?vue&type=template&id=9c56a17e&scoped=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=9c56a17e&scoped=true&lang=css\"\n\nimport exportComponent from \"/opt/buildagent/work/4e3595f43566153d/src/Web/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9c56a17e\"]])\n\nexport default __exports__","<template>\r\n <div class=\"VueCarousel\"\r\n :class=\"{ 'VueCarousel--reverse': paginationPosition === 'top' }\">\r\n <div ref=\"VueCarousel-wrapper\"\r\n class=\"VueCarousel-wrapper\">\r\n <div ref=\"VueCarousel-inner\"\r\n :class=\"[\r\n 'VueCarousel-inner',\r\n { 'VueCarousel-inner--center': isCenterModeEnabled }\r\n ]\"\r\n :style=\"{\r\n 'transform': `translate(${currentOffset}px, 0)`,\r\n 'transition': dragging ? 'none' : transitionStyle,\r\n 'ms-flex-preferred-size': `${slideWidth}px`,\r\n 'webkit-flex-basis': `${slideWidth}px`,\r\n 'flex-basis': `${slideWidth}px`,\r\n 'visibility': slideWidth ? 'visible' : 'hidden',\r\n 'height': `${currentHeight}`,\r\n 'padding-left': `${padding}px`,\r\n 'padding-right': `${padding}px`\r\n }\">\r\n <slot />\r\n </div>\r\n </div>\r\n\r\n <slot v-if=\"navigationEnabled\"\r\n name=\"navigation\">\r\n <navigation v-if=\"isNavigationRequired\"\r\n :click-target-size=\"navigationClickTargetSize\"\r\n :next-label=\"navigationNextLabel\"\r\n :prev-label=\"navigationPrevLabel\"\r\n @navigationclick=\"handleNavigation\" />\r\n </slot>\r\n\r\n <slot v-if=\"paginationEnabled\"\r\n name=\"pagination\">\r\n <pagination @paginationclick=\"goToPage($event, 'pagination')\" />\r\n </slot>\r\n </div>\r\n</template>\r\n<script>\r\n\r\nimport autoplay from './mixins/autoplay';\r\nimport debounce from './utils/debounce';\r\nimport Navigation from './Navigation.vue';\r\nimport Pagination from './Pagination.vue';\r\nimport Slide from './Slide.vue';\r\n\r\nconst transitionStartNames = {\r\n onwebkittransitionstart: 'webkitTransitionStart',\r\n onmoztransitionstart: 'transitionstart',\r\n onotransitionstart: 'oTransitionStart otransitionstart',\r\n ontransitionstart: 'transitionstart'\r\n};\r\nconst transitionEndNames = {\r\n onwebkittransitionend: 'webkitTransitionEnd',\r\n onmoztransitionend: 'transitionend',\r\n onotransitionend: 'oTransitionEnd otransitionend',\r\n ontransitionend: 'transitionend'\r\n};\r\nconst getTransitionStart = () => {\r\n for (const name in transitionStartNames) {\r\n if (name in window) {\r\n return transitionStartNames[name];\r\n }\r\n }\r\n};\r\nconst getTransitionEnd = () => {\r\n for (const name in transitionEndNames) {\r\n if (name in window) {\r\n return transitionEndNames[name];\r\n }\r\n }\r\n};\r\n\r\nexport default {\r\n name: 'carousel',\r\n components: {\r\n Navigation,\r\n Pagination,\r\n Slide\r\n },\r\n mixins: [autoplay],\r\n // use `provide` to avoid `Slide` being nested with other components\r\n provide() {\r\n return {\r\n carousel: this\r\n };\r\n },\r\n props: {\r\n /**\r\n * Adjust the height of the carousel for the current slide\r\n */\r\n adjustableHeight: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Slide transition easing for adjustableHeight\r\n * Any valid CSS transition easing accepted\r\n */\r\n adjustableHeightEasing: {\r\n type: String\r\n },\r\n /**\r\n * Center images when the size is less than the container width\r\n */\r\n centerMode: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Slide transition easing\r\n * Any valid CSS transition easing accepted\r\n */\r\n easing: {\r\n type: String,\r\n validator: function(value) {\r\n return (\r\n ['ease', 'linear', 'ease-in', 'ease-out', 'ease-in-out'].indexOf(\r\n value\r\n ) !== -1 || value.includes('cubic-bezier')\r\n );\r\n },\r\n default: 'ease'\r\n },\r\n /**\r\n * Flag to make the carousel loop around when it reaches the end\r\n */\r\n loop: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Minimum distance for the swipe to trigger\r\n * a slide advance\r\n */\r\n minSwipeDistance: {\r\n type: Number,\r\n default: 8\r\n },\r\n /**\r\n * Flag to toggle mouse dragging\r\n */\r\n mouseDrag: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Flag to toggle touch dragging\r\n */\r\n touchDrag: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Listen for an external navigation request using this prop.\r\n */\r\n navigateTo: {\r\n type: [Number, Array],\r\n default: 0\r\n },\r\n /**\r\n * Amount of padding to apply around the label in pixels\r\n */\r\n navigationClickTargetSize: {\r\n type: Number,\r\n default: 8\r\n },\r\n /**\r\n * Flag to render the navigation component\r\n * (next/prev buttons)\r\n */\r\n navigationEnabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Text content of the navigation next button\r\n */\r\n navigationNextLabel: {\r\n type: String,\r\n default: '▶'\r\n },\r\n /**\r\n * Text content of the navigation prev button\r\n */\r\n navigationPrevLabel: {\r\n type: String,\r\n default: '◀'\r\n },\r\n /**\r\n * The fill color of the active pagination dot\r\n * Any valid CSS color is accepted\r\n */\r\n paginationActiveColor: {\r\n type: String,\r\n default: '#000000'\r\n },\r\n /**\r\n * The fill color of pagination dots\r\n * Any valid CSS color is accepted\r\n */\r\n paginationColor: {\r\n type: String,\r\n default: '#efefef'\r\n },\r\n /**\r\n * Flag to render pagination component\r\n */\r\n paginationEnabled: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * The padding inside each pagination dot\r\n * Pixel values are accepted\r\n */\r\n paginationPadding: {\r\n type: Number,\r\n default: 10\r\n },\r\n /**\r\n * Configure the position for the pagination component.\r\n * The possible values are: 'bottom', 'top', 'bottom-overlay' and 'top-overlay'\r\n */\r\n paginationPosition: {\r\n type: String,\r\n default: 'bottom'\r\n },\r\n /**\r\n * The size of each pagination dot\r\n * Pixel values are accepted\r\n */\r\n paginationSize: {\r\n type: Number,\r\n default: 10\r\n },\r\n /**\r\n * Maximum number of slides displayed on each page\r\n */\r\n perPage: {\r\n type: Number,\r\n default: 2\r\n },\r\n /**\r\n * Configure the number of visible slides with a particular browser width.\r\n * This will be an array of arrays, ex. [[320, 2], [1199, 4]]\r\n * Formatted as [x, y] where x=browser width, and y=number of slides displayed.\r\n * ex. [1199, 4] means if (window <= 1199) then show 4 slides per page\r\n */\r\n perPageCustom: {\r\n type: Array\r\n },\r\n /**\r\n * Resistance coefficient to dragging on the edge of the carousel\r\n * This dictates the effect of the pull as you move towards the boundaries\r\n */\r\n resistanceCoef: {\r\n type: Number,\r\n default: 20\r\n },\r\n /**\r\n * Scroll per page, not per item\r\n */\r\n scrollPerPage: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Space padding option adds left and right padding style (in pixels) onto VueCarousel-inner.\r\n */\r\n spacePadding: {\r\n type: Number,\r\n default: 0\r\n },\r\n /**\r\n * Specify by how much should the space padding value be multiplied of, to re-arange the final slide padding.\r\n */\r\n spacePaddingMaxOffsetFactor: {\r\n type: Number,\r\n default: 0\r\n },\r\n /**\r\n * Slide transition speed\r\n * Number of milliseconds accepted\r\n */\r\n speed: {\r\n type: Number,\r\n default: 500\r\n },\r\n /**\r\n * Name (tag) of slide component\r\n * Overwrite when extending slide component\r\n */\r\n tagName: {\r\n type: String,\r\n default: 'slide'\r\n },\r\n /**\r\n * Support for v-model functionality\r\n */\r\n value: {\r\n type: Number\r\n },\r\n /**\r\n * Support Max pagination dot amount\r\n */\r\n maxPaginationDotCount: {\r\n type: Number,\r\n default: -1\r\n },\r\n /**\r\n * Support right to left\r\n */\r\n rtl: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n browserWidth: null,\r\n carouselWidth: 0,\r\n currentPage: 0,\r\n dragging: false,\r\n dragMomentum: 0,\r\n dragOffset: 0,\r\n dragStartY: 0,\r\n dragStartX: 0,\r\n isTouch: typeof window !== 'undefined' && 'ontouchstart' in window,\r\n offset: 0,\r\n refreshRate: 16,\r\n slideCount: 0,\r\n transitionstart: 'transitionstart',\r\n transitionend: 'transitionend',\r\n currentHeight: 'auto'\r\n };\r\n },\r\n computed: {\r\n /**\r\n * Given a viewport width, find the number of slides to display\r\n * @param {Number} width Current viewport width in pixels\r\n * @return {Number} Number of slides to display\r\n */\r\n breakpointSlidesPerPage() {\r\n if (!this.perPageCustom) {\r\n return this.perPage;\r\n }\r\n\r\n const breakpointArray = this.perPageCustom;\r\n const width = this.browserWidth;\r\n\r\n const breakpoints = breakpointArray.sort(\r\n (a, b) => (a[0] > b[0] ? -1 : 1)\r\n );\r\n\r\n // Reduce the breakpoints to entries where the width is in range\r\n // The breakpoint arrays are formatted as [widthToMatch, numberOfSlides]\r\n const matches = breakpoints.filter((breakpoint) => width >= breakpoint[0]);\r\n\r\n // If there is a match, the result should return only\r\n // the slide count from the first matching breakpoint\r\n const match = matches[0] && matches[0][1];\r\n\r\n return match || this.perPage;\r\n },\r\n /**\r\n * @return {Boolean} Can the slider move forward?\r\n */\r\n canAdvanceForward() {\r\n return this.loop || this.offset < this.maxOffset;\r\n },\r\n /**\r\n * @return {Boolean} Can the slider move backward?\r\n */\r\n canAdvanceBackward() {\r\n return this.loop || this.currentPage > 0;\r\n },\r\n /**\r\n * Number of slides to display per page in the current context.\r\n * This is constant unless responsive perPage option is set.\r\n * @return {Number} The number of slides per page to display\r\n */\r\n currentPerPage() {\r\n return !this.perPageCustom || this.$isServer ?\r\n this.perPage :\r\n this.breakpointSlidesPerPage;\r\n },\r\n /**\r\n * The horizontal distance the inner wrapper is offset while navigating.\r\n * @return {Number} Pixel value of offset to apply\r\n */\r\n currentOffset() {\r\n if (this.isCenterModeEnabled) {\r\n return 0;\r\n } else if (this.rtl) {\r\n return (this.offset - this.dragOffset) * 1;\r\n } else {\r\n return (this.offset + this.dragOffset) * -1;\r\n }\r\n },\r\n isHidden() {\r\n return this.carouselWidth <= 0;\r\n },\r\n /**\r\n * Maximum offset the carousel can slide\r\n * Considering the spacePadding\r\n * @return {Number}\r\n */\r\n maxOffset() {\r\n return Math.max(\r\n this.slideWidth * (this.slideCount - this.currentPerPage) -\r\n this.spacePadding * this.spacePaddingMaxOffsetFactor,\r\n 0\r\n );\r\n },\r\n /**\r\n * Calculate the number of pages of slides\r\n * @return {Number} Number of pages\r\n */\r\n pageCount() {\r\n return this.scrollPerPage ?\r\n Math.ceil(this.slideCount / this.currentPerPage) :\r\n this.slideCount - this.currentPerPage + 1;\r\n },\r\n /**\r\n * Calculate the width of each slide\r\n * @return {Number} Slide width\r\n */\r\n slideWidth() {\r\n const width = this.carouselWidth - this.spacePadding * 2;\r\n const perPage = this.currentPerPage;\r\n\r\n return width / perPage;\r\n },\r\n /**\r\n * @return {Boolean} Is navigation required?\r\n */\r\n isNavigationRequired() {\r\n return this.slideCount > this.currentPerPage;\r\n },\r\n /**\r\n * @return {Boolean} Center images when have less than min currentPerPage value\r\n */\r\n isCenterModeEnabled() {\r\n return this.centerMode && !this.isNavigationRequired;\r\n },\r\n transitionStyle() {\r\n const speed = `${this.speed / 1000}s`;\r\n const transtion = `${speed} ${this.easing} transform`;\r\n if (this.adjustableHeight) {\r\n return `${transtion}, height ${speed} ${this.adjustableHeightEasing ||\r\n this.easing}`;\r\n }\r\n\r\n return transtion;\r\n },\r\n padding() {\r\n const padding = this.spacePadding;\r\n return padding > 0 ? padding : false;\r\n }\r\n },\r\n watch: {\r\n value(val) {\r\n if (val !== this.currentPage) {\r\n this.goToPage(val);\r\n this.render();\r\n }\r\n },\r\n navigateTo: {\r\n immediate: true,\r\n handler(val) {\r\n // checking if val is an array, for arrays typeof returns object\r\n if (typeof val === 'object') {\r\n if (val[1] == false) {\r\n // following code is to disable animation\r\n this.dragging = true;\r\n\r\n // clear dragging after refresh rate\r\n setTimeout(() => {\r\n this.dragging = false;\r\n }, this.refreshRate);\r\n }\r\n\r\n this.$nextTick(() => {\r\n this.goToPage(val[0]);\r\n });\r\n } else {\r\n this.$nextTick(() => {\r\n this.goToPage(val);\r\n });\r\n }\r\n }\r\n },\r\n currentPage(val) {\r\n this.$emit('pageChange', val);\r\n this.$emit('page-change', val);\r\n this.$emit('input', val);\r\n },\r\n autoplay(val) {\r\n if (val === false) {\r\n this.pauseAutoplay();\r\n } else {\r\n this.restartAutoplay();\r\n }\r\n }\r\n },\r\n beforeUpdate() {\r\n this.computeCarouselWidth();\r\n },\r\n mounted() {\r\n window.addEventListener(\r\n 'resize',\r\n debounce(this.onResize, this.refreshRate)\r\n );\r\n\r\n // setup the start event only if touch device or mousedrag activated\r\n if ((this.isTouch && this.touchDrag) || this.mouseDrag) {\r\n this.$refs['VueCarousel-wrapper'].addEventListener(\r\n this.isTouch ? 'touchstart' : 'mousedown',\r\n this.onStart\r\n );\r\n }\r\n\r\n this.attachMutationObserver();\r\n this.computeCarouselWidth();\r\n this.computeCarouselHeight();\r\n\r\n this.transitionstart = getTransitionEnd();\r\n this.$refs['VueCarousel-inner'].addEventListener(\r\n this.transitionstart,\r\n this.handleTransitionStart\r\n );\r\n this.transitionend = getTransitionEnd();\r\n this.$refs['VueCarousel-inner'].addEventListener(\r\n this.transitionend,\r\n this.handleTransitionEnd\r\n );\r\n\r\n this.$emit('mounted');\r\n\r\n // when autoplay direction is backward start from the last slide\r\n if (this.autoplayDirection === 'backward') {\r\n this.goToLastSlide();\r\n }\r\n },\r\n beforeUnmount() {\r\n this.detachMutationObserver();\r\n window.removeEventListener('resize', this.getBrowserWidth);\r\n this.$refs['VueCarousel-inner'].removeEventListener(\r\n this.transitionstart,\r\n this.handleTransitionStart\r\n );\r\n this.$refs['VueCarousel-inner'].removeEventListener(\r\n this.transitionend,\r\n this.handleTransitionEnd\r\n );\r\n\r\n this.$refs['VueCarousel-wrapper'].removeEventListener(\r\n this.isTouch ? 'touchstart' : 'mousedown',\r\n this.onStart\r\n );\r\n },\r\n methods: {\r\n /**\r\n * @return {Number} The index of the next page\r\n * */\r\n getNextPage() {\r\n if (this.currentPage < this.pageCount - 1) {\r\n return this.currentPage + 1;\r\n }\r\n return this.loop ? 0 : this.currentPage;\r\n },\r\n /**\r\n * @return {Number} The index of the previous page\r\n * */\r\n getPreviousPage() {\r\n if (this.currentPage > 0) {\r\n return this.currentPage - 1;\r\n }\r\n return this.loop ? this.pageCount - 1 : this.currentPage;\r\n },\r\n /**\r\n * Increase/decrease the current page value\r\n * @param {String} direction (Optional) The direction to advance\r\n */\r\n advancePage(direction) {\r\n if (direction && direction === 'backward' && this.canAdvanceBackward) {\r\n this.goToPage(this.getPreviousPage(), 'navigation');\r\n } else if (\r\n (!direction || (direction && direction !== 'backward')) &&\r\n this.canAdvanceForward\r\n ) {\r\n this.goToPage(this.getNextPage(), 'navigation');\r\n }\r\n },\r\n goToLastSlide() {\r\n // following code is to disable animation\r\n this.dragging = true;\r\n\r\n // clear dragging after refresh rate\r\n setTimeout(() => {\r\n this.dragging = false;\r\n }, this.refreshRate);\r\n\r\n this.$nextTick(() => {\r\n this.goToPage(this.pageCount);\r\n });\r\n },\r\n /**\r\n * A mutation observer is used to detect changes to the containing node\r\n * in order to keep the magnet container in sync with the height its reference node.\r\n */\r\n attachMutationObserver() {\r\n const MutationObserver =\r\n window.MutationObserver ||\r\n window.WebKitMutationObserver ||\r\n window.MozMutationObserver;\r\n\r\n if (MutationObserver) {\r\n let config = {\r\n attributes: true,\r\n data: true\r\n };\r\n if (this.adjustableHeight) {\r\n config = {\r\n ...config,\r\n childList: true,\r\n subtree: true,\r\n characterData: true\r\n };\r\n }\r\n this.mutationObserver = new MutationObserver(() => {\r\n this.$nextTick(() => {\r\n this.computeCarouselWidth();\r\n this.computeCarouselHeight();\r\n });\r\n });\r\n if (this.$parent.$el) {\r\n const carouselInnerElements = this.$el.getElementsByClassName(\r\n 'VueCarousel-inner'\r\n );\r\n for (let i = 0; i < carouselInnerElements.length; i++) {\r\n this.mutationObserver.observe(carouselInnerElements[i], config);\r\n }\r\n }\r\n }\r\n },\r\n handleNavigation(direction) {\r\n this.advancePage(direction);\r\n this.pauseAutoplay();\r\n this.$emit('navigation-click', direction);\r\n },\r\n /**\r\n * Stop listening to mutation changes\r\n */\r\n detachMutationObserver() {\r\n if (this.mutationObserver) {\r\n this.mutationObserver.disconnect();\r\n }\r\n },\r\n /**\r\n * Get the current browser viewport width\r\n * @return {Number} Browser\"s width in pixels\r\n */\r\n getBrowserWidth() {\r\n this.browserWidth = window.innerWidth;\r\n return this.browserWidth;\r\n },\r\n /**\r\n * Get the width of the carousel DOM element\r\n * @return {Number} Width of the carousel in pixels\r\n */\r\n getCarouselWidth() {\r\n const carouselInnerElements = this.$el.getElementsByClassName(\r\n 'VueCarousel-inner'\r\n );\r\n for (let i = 0; i < carouselInnerElements.length; i++) {\r\n if (carouselInnerElements[i].clientWidth > 0) {\r\n this.carouselWidth = carouselInnerElements[i].clientWidth || 0;\r\n }\r\n }\r\n return this.carouselWidth;\r\n },\r\n /**\r\n * Get the maximum height of the carousel active slides\r\n * @return {String} The carousel height\r\n */\r\n getCarouselHeight() {\r\n if (!this.adjustableHeight) {\r\n return 'auto';\r\n }\r\n\r\n const slideOffset = this.currentPerPage * (this.currentPage + 1) - 1;\r\n const maxSlideHeight = [...Array(this.currentPerPage)]\r\n .map((_, idx) => this.getSlide(slideOffset + idx))\r\n .reduce(\r\n (clientHeight, slide) =>\r\n Math.max(clientHeight, (slide && slide.$el.clientHeight) || 0),\r\n 0\r\n );\r\n\r\n this.currentHeight =\r\n maxSlideHeight === 0 ? 'auto' : `${maxSlideHeight}px`;\r\n\r\n return this.currentHeight;\r\n },\r\n getSlides(slotNodes) {\r\n const filteredSlots = slotNodes.map((node) => {\r\n if (node.type && node.type.name === this.tagName) return [node];\r\n else if (Array.isArray(node.children)) return this.getSlides(node.children);\r\n else if (node.children.default) return this.getSlides(node.children.default());\r\n else return [];\r\n });\r\n return [].concat.apply([], filteredSlots);\r\n },\r\n /**\r\n * Filter slot contents to slide instances and return length\r\n * @return {Number} The number of slides\r\n */\r\n getSlideCount() {\r\n const slots = this.getSlides(this.$slots.default());\r\n this.slideCount = slots.length;\r\n },\r\n /**\r\n * Gets the slide at the specified index\r\n * @return {Object} The slide at the specified index\r\n */\r\n getSlide(index) {\r\n const slides = this.getSlides(this.$slots.default());\r\n return slides[index];\r\n },\r\n /**\r\n * Set the current page to a specific value\r\n * This function will only apply the change if the value is within the carousel bounds\r\n * for carousel scrolling per page.\r\n * @param {Number} page The value of the new page number\r\n * @param {string|undefined} advanceType An optional value describing the type of page advance\r\n */\r\n goToPage(page, advanceType) {\r\n if (page >= 0 && page <= this.pageCount) {\r\n this.offset = this.scrollPerPage ?\r\n Math.min(\r\n this.slideWidth * this.currentPerPage * page,\r\n this.maxOffset\r\n ) :\r\n this.slideWidth * page;\r\n\r\n // restart autoplay if specified\r\n if (this.autoplay && !this.autoplayHoverPause) {\r\n this.restartAutoplay();\r\n }\r\n\r\n // update the current page\r\n this.currentPage = page;\r\n\r\n if (advanceType === 'pagination') {\r\n this.pauseAutoplay();\r\n this.$emit('pagination-click', page);\r\n }\r\n }\r\n },\r\n /**\r\n * Trigger actions when mouse is pressed\r\n * @param {Object} e The event object\r\n */\r\n /* istanbul ignore next */\r\n onStart(e) {\r\n // alert(\"start\");\r\n\r\n // detect right click\r\n if (e.button == 2) {\r\n return;\r\n }\r\n\r\n document.addEventListener(\r\n this.isTouch ? 'touchend' : 'mouseup',\r\n this.onEnd,\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n this.isTouch ? 'touchmove' : 'mousemove',\r\n this.onDrag,\r\n true\r\n );\r\n\r\n this.startTime = e.timeStamp;\r\n this.dragging = true;\r\n this.dragStartX = this.isTouch ? e.touches[0].clientX : e.clientX;\r\n this.dragStartY = this.isTouch ? e.touches[0].clientY : e.clientY;\r\n },\r\n /**\r\n * Trigger actions when mouse is released\r\n * @param {Object} e The event object\r\n */\r\n\r\n onEnd(e) {\r\n // restart autoplay if specified\r\n if (this.autoplay && !this.autoplayHoverPause) {\r\n this.restartAutoplay();\r\n }\r\n this.pauseAutoplay();\r\n\r\n // compute the momemtum speed\r\n const eventPosX = this.isTouch ? e.changedTouches[0].clientX : e.clientX;\r\n const deltaX = this.dragStartX - eventPosX;\r\n this.dragMomentum = deltaX / (e.timeStamp - this.startTime);\r\n\r\n // take care of the minSwipteDistance prop, if not 0 and delta is bigger than delta\r\n if (\r\n this.minSwipeDistance !== 0 &&\r\n Math.abs(deltaX) >= this.minSwipeDistance\r\n ) {\r\n const width = this.scrollPerPage ?\r\n this.slideWidth * this.currentPerPage :\r\n this.slideWidth;\r\n this.dragOffset = this.dragOffset + Math.sign(deltaX) * (width / 2);\r\n }\r\n\r\n if (this.rtl) {\r\n this.offset -= this.dragOffset;\r\n } else {\r\n this.offset += this.dragOffset;\r\n }\r\n this.dragOffset = 0;\r\n this.dragging = false;\r\n\r\n this.render();\r\n\r\n // clear events listeners\r\n document.removeEventListener(\r\n this.isTouch ? 'touchend' : 'mouseup',\r\n this.onEnd,\r\n true\r\n );\r\n document.removeEventListener(\r\n this.isTouch ? 'touchmove' : 'mousemove',\r\n this.onDrag,\r\n true\r\n );\r\n },\r\n /**\r\n * Trigger actions when mouse is pressed and then moved (mouse drag)\r\n * @param {Object} e The event object\r\n */\r\n onDrag(e) {\r\n const eventPosX = this.isTouch ? e.touches[0].clientX : e.clientX;\r\n const eventPosY = this.isTouch ? e.touches[0].clientY : e.clientY;\r\n const newOffsetX = this.dragStartX - eventPosX;\r\n const newOffsetY = this.dragStartY - eventPosY;\r\n\r\n // if it is a touch device, check if we are below the min swipe threshold\r\n // (if user scroll the page on the component)\r\n if (this.isTouch && Math.abs(newOffsetX) < Math.abs(newOffsetY)) {\r\n return;\r\n }\r\n\r\n e.stopImmediatePropagation();\r\n\r\n this.dragOffset = newOffsetX;\r\n const nextOffset = this.offset + this.dragOffset;\r\n\r\n if (this.rtl) {\r\n if (this.offset == 0 && this.dragOffset > 0) {\r\n this.dragOffset = Math.sqrt(this.resistanceCoef * this.dragOffset);\r\n } else if (this.offset == this.maxOffset && this.dragOffset < 0) {\r\n this.dragOffset = -Math.sqrt(-this.resistanceCoef * this.dragOffset);\r\n }\r\n } else {\r\n if (nextOffset < 0) {\r\n this.dragOffset = -Math.sqrt(-this.resistanceCoef * this.dragOffset);\r\n } else if (nextOffset > this.maxOffset) {\r\n this.dragOffset = Math.sqrt(this.resistanceCoef * this.dragOffset);\r\n }\r\n }\r\n },\r\n onResize() {\r\n this.computeCarouselWidth();\r\n this.computeCarouselHeight();\r\n\r\n this.dragging = true; // force a dragging to disable animation\r\n this.render();\r\n // clear dragging after refresh rate\r\n setTimeout(() => {\r\n this.dragging = false;\r\n }, this.refreshRate);\r\n },\r\n render() {\r\n // add extra slides depending on the momemtum speed\r\n if (this.rtl) {\r\n this.offset -=\r\n Math.max(\r\n -this.currentPerPage + 1,\r\n Math.min(Math.round(this.dragMomentum), this.currentPerPage - 1)\r\n ) * this.slideWidth;\r\n } else {\r\n this.offset +=\r\n Math.max(\r\n -this.currentPerPage + 1,\r\n Math.min(Math.round(this.dragMomentum), this.currentPerPage - 1)\r\n ) * this.slideWidth;\r\n }\r\n\r\n // & snap the new offset on a slide or page if scrollPerPage\r\n const width = this.scrollPerPage ?\r\n this.slideWidth * this.currentPerPage :\r\n this.slideWidth;\r\n\r\n // lock offset to either the nearest page, or to the last slide\r\n const lastFullPageOffset =\r\n width * Math.floor(this.slideCount / (this.currentPerPage - 1));\r\n const remainderOffset =\r\n lastFullPageOffset +\r\n this.slideWidth * (this.slideCount % this.currentPerPage);\r\n if (this.offset > (lastFullPageOffset + remainderOffset) / 2) {\r\n this.offset = remainderOffset;\r\n } else {\r\n this.offset = width * Math.round(this.offset / width);\r\n }\r\n\r\n // clamp the offset between 0 -> maxOffset\r\n this.offset = Math.max(0, Math.min(this.offset, this.maxOffset));\r\n\r\n // update the current page\r\n this.currentPage = this.scrollPerPage ?\r\n Math.round(this.offset / this.slideWidth / this.currentPerPage) :\r\n Math.round(this.offset / this.slideWidth);\r\n },\r\n /**\r\n * Re-compute the width of the carousel and its slides\r\n */\r\n computeCarouselWidth() {\r\n this.getSlideCount();\r\n this.getBrowserWidth();\r\n this.getCarouselWidth();\r\n this.setCurrentPageInBounds();\r\n },\r\n /**\r\n * Re-compute the height of the carousel and its slides\r\n */\r\n computeCarouselHeight() {\r\n this.getCarouselHeight();\r\n },\r\n /**\r\n * When the current page exceeds the carousel bounds, reset it to the maximum allowed\r\n */\r\n setCurrentPageInBounds() {\r\n if (!this.canAdvanceForward && this.scrollPerPage) {\r\n const setPage = this.pageCount - 1;\r\n this.currentPage = setPage >= 0 ? setPage : 0;\r\n this.offset = Math.max(0, Math.min(this.offset, this.maxOffset));\r\n }\r\n },\r\n handleTransitionStart() {\r\n this.$emit('transitionStart');\r\n this.$emit('transition-start');\r\n },\r\n handleTransitionEnd() {\r\n this.$emit('transitionEnd');\r\n this.$emit('transition-end');\r\n }\r\n }\r\n};\r\n</script>\r\n<style>\r\n.VueCarousel {\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n}\r\n\r\n.VueCarousel--reverse {\r\n flex-direction: column-reverse;\r\n}\r\n\r\n.VueCarousel-wrapper {\r\n width: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n\r\n.VueCarousel-inner {\r\n display: flex;\r\n flex-direction: row;\r\n backface-visibility: hidden;\r\n}\r\n\r\n.VueCarousel-inner--center {\r\n justify-content: center;\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"VueCarousel-slide\"\r\n tabindex=\"-1\"\r\n :aria-hidden=\"!isActive\"\r\n role=\"tabpanel\"\r\n :class=\"{\r\n 'VueCarousel-slide-active': isActive,\r\n 'VueCarousel-slide-center': isCenter,\r\n 'VueCarousel-slide-adjustableHeight': isAdjustableHeight\r\n }\">\r\n <slot />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'slide',\r\n inject: ['carousel'],\r\n props: ['title'],\r\n data() {\r\n return {\r\n width: null\r\n };\r\n },\r\n computed: {\r\n activeSlides() {\r\n const {currentPage, breakpointSlidesPerPage, getSlides} = this.carousel;\r\n const activeSlides = [];\r\n const children = getSlides(this.carousel.$slots.default()).map((child) => child.key);\r\n\r\n let i = 0;\r\n while (i < breakpointSlidesPerPage) {\r\n const child = children[currentPage * breakpointSlidesPerPage + i];\r\n activeSlides.push(child);\r\n i++;\r\n }\r\n\r\n return activeSlides;\r\n },\r\n /**\r\n * `isActive` describes whether a slide is visible\r\n * @return {Boolean}\r\n */\r\n isActive() {\r\n return this.activeSlides.indexOf(this.carousel.currentPage) >= 0;\r\n },\r\n /**\r\n * `isCenter` describes whether a slide is in the center of all visible slides\r\n * if perPage is an even number, we quit\r\n * @return {Boolean}\r\n */\r\n isCenter() {\r\n const {breakpointSlidesPerPage} = this.carousel;\r\n if (breakpointSlidesPerPage % 2 === 0 || !this.isActive) return false;\r\n return (\r\n this.activeSlides.indexOf(this.carousel.currentPage) ===\r\n Math.floor(breakpointSlidesPerPage / 2)\r\n );\r\n },\r\n /**\r\n * `isAdjustableHeight` describes if the carousel adjusts its height to the active slide(s)\r\n * @return {Boolean}\r\n */\r\n isAdjustableHeight() {\r\n const {adjustableHeight} = this.carousel;\r\n return adjustableHeight;\r\n }\r\n },\r\n mounted() {\r\n if (!this.$isServer) {\r\n this.$el.addEventListener('dragstart', (e) => e.preventDefault());\r\n }\r\n\r\n this.$el.addEventListener(\r\n this.carousel.isTouch ? 'touchend' : 'mouseup',\r\n this.onTouchEnd\r\n );\r\n },\r\n methods: {\r\n onTouchEnd(e) {\r\n /**\r\n * @event slideclick\r\n * @event slide-click\r\n * @type {Object}\r\n */\r\n const eventPosX =\r\n this.carousel.isTouch && e.changedTouches && e.changedTouches.length > 0 ?\r\n e.changedTouches[0].clientX :\r\n e.clientX;\r\n const deltaX = this.carousel.dragStartX - eventPosX;\r\n\r\n if (this.carousel.minSwipeDistance === 0 || Math.abs(deltaX) < this.carousel.minSwipeDistance) {\r\n this.$emit('slideclick', Object.assign({}, e.currentTarget.dataset));\r\n this.$emit('slide-click', Object.assign({}, e.currentTarget.dataset));\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n.VueCarousel-slide {\r\n flex-basis: inherit;\r\n flex-grow: 0;\r\n flex-shrink: 0;\r\n user-select: none;\r\n backface-visibility: hidden;\r\n -webkit-touch-callout: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n outline: none;\r\n}\r\n\r\n.VueCarousel-slide-adjustableHeight {\r\n display: table;\r\n flex-basis: auto;\r\n width: 100%;\r\n}\r\n</style>\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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","'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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.5\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import { openBlock as h, createElementBlock as C, createElementVNode as ee, reactive as bt, computed as F, unref as i, ref as W, onMounted as Fe, nextTick as $t, watch as Dt, toRef as an, defineComponent as Ue, renderSlot as H, createCommentVNode as M, normalizeClass as ye, withKeys as oe, createBlock as ce, withModifiers as Ge, normalizeStyle as ut, normalizeProps as Ye, mergeProps as Te, Fragment as ie, createTextVNode as We, toDisplayString as Se, renderList as De, createVNode as qe, Transition as ft, withCtx as re, onBeforeUpdate as qn, onUnmounted as sn, withDirectives as St, vShow as Ct, createSlots as Be, isRef as nt, guardReactiveProps as Ze, resolveDynamicComponent as Pt, useSlots as un, getCurrentScope as Jn, onScopeDispose as Qn, Teleport as ea } from \"vue\";\nimport { isBefore as cn, isEqual as Yn, isAfter as dn, setHours as Vn, setMinutes as Ln, setSeconds as En, setMilliseconds as fn, parse as ln, isValid as Nt, isDate as ta, format as pt, getMonth as he, getDay as na, getYear as ge, getHours as Ke, getMinutes as xe, getSeconds as dt, parseISO as aa, startOfWeek as pn, endOfWeek as la, setMonth as Rt, setYear as rt, addDays as ct, set as Re, add as Fn, addMonths as at, subMonths as kt, getISOWeek as ra, differenceInCalendarDays as oa, eachDayOfInterval as kn, addYears as sa, subYears as ia, sub as ua } from \"date-fns\";\nconst ot = (e, n) => {\n const a = e.__vccOpts || e;\n for (const [t, r] of n)\n a[t] = r;\n return a;\n}, ca = {}, da = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, fa = /* @__PURE__ */ ee(\"path\", { d: \"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z\" }, null, -1), va = /* @__PURE__ */ ee(\"path\", { d: \"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z\" }, null, -1), ma = /* @__PURE__ */ ee(\"path\", { d: \"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z\" }, null, -1), ya = /* @__PURE__ */ ee(\"path\", { d: \"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z\" }, null, -1), ha = [\n fa,\n va,\n ma,\n ya\n];\nfunction ga(e, n) {\n return h(), C(\"svg\", da, ha);\n}\nconst Et = /* @__PURE__ */ ot(ca, [[\"render\", ga]]), pa = {}, ka = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, wa = /* @__PURE__ */ ee(\"path\", { d: \"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z\" }, null, -1), ba = /* @__PURE__ */ ee(\"path\", { d: \"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z\" }, null, -1), $a = [\n wa,\n ba\n];\nfunction Da(e, n) {\n return h(), C(\"svg\", ka, $a);\n}\nconst Ma = /* @__PURE__ */ ot(pa, [[\"render\", Da]]), _a = {}, Aa = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, Ta = /* @__PURE__ */ ee(\"path\", { d: \"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z\" }, null, -1), Sa = [\n Ta\n];\nfunction Ca(e, n) {\n return h(), C(\"svg\", Aa, Sa);\n}\nconst wn = /* @__PURE__ */ ot(_a, [[\"render\", Ca]]), Pa = {}, Na = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, Ra = /* @__PURE__ */ ee(\"path\", { d: \"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z\" }, null, -1), Ia = [\n Ra\n];\nfunction Oa(e, n) {\n return h(), C(\"svg\", Na, Ia);\n}\nconst bn = /* @__PURE__ */ ot(Pa, [[\"render\", Oa]]), Ba = {}, Ya = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, Va = /* @__PURE__ */ ee(\"path\", { d: \"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z\" }, null, -1), La = /* @__PURE__ */ ee(\"path\", { d: \"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z\" }, null, -1), Ea = [\n Va,\n La\n];\nfunction Fa(e, n) {\n return h(), C(\"svg\", Ya, Ea);\n}\nconst Un = /* @__PURE__ */ ot(Ba, [[\"render\", Fa]]), Ua = {}, Ha = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, Wa = /* @__PURE__ */ ee(\"path\", { d: \"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z\" }, null, -1), za = [\n Wa\n];\nfunction ja(e, n) {\n return h(), C(\"svg\", Ha, za);\n}\nconst Hn = /* @__PURE__ */ ot(Ua, [[\"render\", ja]]), Ka = {}, xa = {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"32\",\n height: \"32\",\n viewBox: \"0 0 32 32\",\n class: \"dp__icon\"\n}, Ga = /* @__PURE__ */ ee(\"path\", { d: \"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z\" }, null, -1), Za = [\n Ga\n];\nfunction Xa(e, n) {\n return h(), C(\"svg\", xa, Za);\n}\nconst Wn = /* @__PURE__ */ ot(Ka, [[\"render\", Xa]]), $n = (e, n) => {\n const a = ln(e, n.slice(0, e.length), new Date());\n return Nt(a) && ta(a) ? a : null;\n}, qa = (e, n) => {\n if (typeof n == \"string\")\n return $n(e, n);\n if (Array.isArray(n)) {\n let a = null;\n for (const t of n)\n if (a = $n(e, t), a)\n break;\n return a;\n }\n return typeof n == \"function\" ? n(e) : null;\n}, w = (e) => e ? new Date(e) : new Date(), Ja = (e, n) => {\n if (n) {\n const t = (e.getMonth() + 1).toString().padStart(2, \"0\"), r = e.getDate().toString().padStart(2, \"0\"), d = e.getHours().toString().padStart(2, \"0\"), g = e.getMinutes().toString().padStart(2, \"0\");\n return `${e.getFullYear()}-${t}-${r}T${d}:${g}:00.000Z`;\n }\n const a = Date.UTC(\n e.getUTCFullYear(),\n e.getUTCMonth(),\n e.getUTCDate(),\n e.getUTCHours(),\n e.getUTCMinutes(),\n e.getUTCSeconds()\n );\n return new Date(a).toISOString();\n}, ze = (e) => {\n let n = w(JSON.parse(JSON.stringify(e)));\n return n = Vn(n, 0), n = Ln(n, 0), n = En(n, 0), n = fn(n, 0), n;\n}, Le = (e, n, a, t) => {\n let r = e ? w(e) : w();\n return (n || n === 0) && (r = Vn(r, +n)), (a || a === 0) && (r = Ln(r, +a)), (t || t === 0) && (r = En(r, +t)), fn(r, 0);\n}, Pe = (e, n) => !e || !n ? !1 : cn(ze(e), ze(n)), pe = (e, n) => !e || !n ? !1 : Yn(ze(e), ze(n)), Oe = (e, n) => !e || !n ? !1 : dn(ze(e), ze(n)), zn = (e, n, a) => e && e[0] && e[1] ? Oe(a, e[0]) && Pe(a, e[1]) : e && e[0] && n ? Oe(a, e[0]) && Pe(a, n) || Pe(a, e[0]) && Oe(a, n) : !1, gt = bt({\n menuFocused: !1,\n shiftKeyInMenu: !1\n}), jn = () => {\n const e = (t) => {\n gt.menuFocused = t;\n }, n = (t) => {\n gt.shiftKeyInMenu !== t && (gt.shiftKeyInMenu = t);\n };\n return {\n control: F(() => ({ shiftKeyInMenu: gt.shiftKeyInMenu, menuFocused: gt.menuFocused })),\n setMenuFocused: e,\n setShiftKey: n\n };\n};\nfunction vn(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar Ot = {}, Qa = {\n get exports() {\n return Ot;\n },\n set exports(e) {\n Ot = e;\n }\n};\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = a;\n function a(t) {\n if (t === null || t === !0 || t === !1)\n return NaN;\n var r = Number(t);\n return isNaN(r) ? r : r < 0 ? Math.ceil(r) : Math.floor(r);\n }\n e.exports = n.default;\n})(Qa, Ot);\nconst el = /* @__PURE__ */ vn(Ot);\nvar Bt = {}, tl = {\n get exports() {\n return Bt;\n },\n set exports(e) {\n Bt = e;\n }\n};\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = a;\n function a(t) {\n var r = new Date(Date.UTC(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds()));\n return r.setUTCFullYear(t.getFullYear()), t.getTime() - r.getTime();\n }\n e.exports = n.default;\n})(tl, Bt);\nconst Dn = /* @__PURE__ */ vn(Bt);\nfunction nl(e, n) {\n var a = ol(n);\n return a.formatToParts ? ll(a, e) : rl(a, e);\n}\nvar al = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction ll(e, n) {\n try {\n for (var a = e.formatToParts(n), t = [], r = 0; r < a.length; r++) {\n var d = al[a[r].type];\n d >= 0 && (t[d] = parseInt(a[r].value, 10));\n }\n return t;\n } catch (g) {\n if (g instanceof RangeError)\n return [NaN];\n throw g;\n }\n}\nfunction rl(e, n) {\n var a = e.format(n).replace(/\\u200E/g, \"\"), t = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(a);\n return [t[3], t[1], t[2], t[4], t[5], t[6]];\n}\nvar xt = {};\nfunction ol(e) {\n if (!xt[e]) {\n var n = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: \"America/New_York\",\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(new Date(\"2014-06-25T04:00:00.123Z\")), a = n === \"06/25/2014, 00:00:00\" || n === \"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00\";\n xt[e] = a ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: e,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }) : new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: e,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return xt[e];\n}\nfunction mn(e, n, a, t, r, d, g) {\n var $ = new Date(0);\n return $.setUTCFullYear(e, n, a), $.setUTCHours(t, r, d, g), $;\n}\nvar Mn = 36e5, sl = 6e4, Gt = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction yn(e, n, a) {\n var t, r;\n if (e === \"\" || (t = Gt.timezoneZ.exec(e), t))\n return 0;\n var d;\n if (t = Gt.timezoneHH.exec(e), t)\n return d = parseInt(t[1], 10), _n(d) ? -(d * Mn) : NaN;\n if (t = Gt.timezoneHHMM.exec(e), t) {\n d = parseInt(t[1], 10);\n var g = parseInt(t[2], 10);\n return _n(d, g) ? (r = Math.abs(d) * Mn + g * sl, d > 0 ? -r : r) : NaN;\n }\n if (cl(e)) {\n n = new Date(n || Date.now());\n var $ = a ? n : il(n), B = rn($, e), R = a ? B : ul(n, B, e);\n return -R;\n }\n return NaN;\n}\nfunction il(e) {\n return mn(\n e.getFullYear(),\n e.getMonth(),\n e.getDate(),\n e.getHours(),\n e.getMinutes(),\n e.getSeconds(),\n e.getMilliseconds()\n );\n}\nfunction rn(e, n) {\n var a = nl(e, n), t = mn(\n a[0],\n a[1] - 1,\n a[2],\n a[3] % 24,\n a[4],\n a[5],\n 0\n ).getTime(), r = e.getTime(), d = r % 1e3;\n return r -= d >= 0 ? d : 1e3 + d, t - r;\n}\nfunction ul(e, n, a) {\n var t = e.getTime(), r = t - n, d = rn(new Date(r), a);\n if (n === d)\n return n;\n r -= d - n;\n var g = rn(new Date(r), a);\n return d === g ? d : Math.max(d, g);\n}\nfunction _n(e, n) {\n return -23 <= e && e <= 23 && (n == null || 0 <= n && n <= 59);\n}\nvar An = {};\nfunction cl(e) {\n if (An[e])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: e }), An[e] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Kn = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/, Zt = 36e5, Tn = 6e4, dl = 2, Ie = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/,\n /^([+-]\\d{3})$/,\n /^([+-]\\d{4})$/\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/,\n /^([+-]\\d{5})/,\n /^([+-]\\d{6})/\n ],\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n timeZone: Kn\n};\nfunction on(e, n) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (e === null)\n return new Date(NaN);\n var a = n || {}, t = a.additionalDigits == null ? dl : el(a.additionalDigits);\n if (t !== 2 && t !== 1 && t !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (e instanceof Date || typeof e == \"object\" && Object.prototype.toString.call(e) === \"[object Date]\")\n return new Date(e.getTime());\n if (typeof e == \"number\" || Object.prototype.toString.call(e) === \"[object Number]\")\n return new Date(e);\n if (!(typeof e == \"string\" || Object.prototype.toString.call(e) === \"[object String]\"))\n return new Date(NaN);\n var r = fl(e), d = vl(r.date, t), g = d.year, $ = d.restDateString, B = ml($, g);\n if (isNaN(B))\n return new Date(NaN);\n if (B) {\n var R = B.getTime(), U = 0, S;\n if (r.time && (U = yl(r.time), isNaN(U)))\n return new Date(NaN);\n if (r.timeZone || a.timeZone) {\n if (S = yn(r.timeZone || a.timeZone, new Date(R + U)), isNaN(S))\n return new Date(NaN);\n } else\n S = Dn(new Date(R + U)), S = Dn(new Date(R + U + S));\n return new Date(R + U + S);\n } else\n return new Date(NaN);\n}\nfunction fl(e) {\n var n = {}, a = Ie.dateTimePattern.exec(e), t;\n if (a ? (n.date = a[1], t = a[3]) : (a = Ie.datePattern.exec(e), a ? (n.date = a[1], t = a[2]) : (n.date = null, t = e)), t) {\n var r = Ie.timeZone.exec(t);\n r ? (n.time = t.replace(r[1], \"\"), n.timeZone = r[1].trim()) : n.time = t;\n }\n return n;\n}\nfunction vl(e, n) {\n var a = Ie.YYY[n], t = Ie.YYYYY[n], r;\n if (r = Ie.YYYY.exec(e) || t.exec(e), r) {\n var d = r[1];\n return {\n year: parseInt(d, 10),\n restDateString: e.slice(d.length)\n };\n }\n if (r = Ie.YY.exec(e) || a.exec(e), r) {\n var g = r[1];\n return {\n year: parseInt(g, 10) * 100,\n restDateString: e.slice(g.length)\n };\n }\n return {\n year: null\n };\n}\nfunction ml(e, n) {\n if (n === null)\n return null;\n var a, t, r, d;\n if (e.length === 0)\n return t = new Date(0), t.setUTCFullYear(n), t;\n if (a = Ie.MM.exec(e), a)\n return t = new Date(0), r = parseInt(a[1], 10) - 1, Cn(n, r) ? (t.setUTCFullYear(n, r), t) : new Date(NaN);\n if (a = Ie.DDD.exec(e), a) {\n t = new Date(0);\n var g = parseInt(a[1], 10);\n return pl(n, g) ? (t.setUTCFullYear(n, 0, g), t) : new Date(NaN);\n }\n if (a = Ie.MMDD.exec(e), a) {\n t = new Date(0), r = parseInt(a[1], 10) - 1;\n var $ = parseInt(a[2], 10);\n return Cn(n, r, $) ? (t.setUTCFullYear(n, r, $), t) : new Date(NaN);\n }\n if (a = Ie.Www.exec(e), a)\n return d = parseInt(a[1], 10) - 1, Pn(n, d) ? Sn(n, d) : new Date(NaN);\n if (a = Ie.WwwD.exec(e), a) {\n d = parseInt(a[1], 10) - 1;\n var B = parseInt(a[2], 10) - 1;\n return Pn(n, d, B) ? Sn(n, d, B) : new Date(NaN);\n }\n return null;\n}\nfunction yl(e) {\n var n, a, t;\n if (n = Ie.HH.exec(e), n)\n return a = parseFloat(n[1].replace(\",\", \".\")), Xt(a) ? a % 24 * Zt : NaN;\n if (n = Ie.HHMM.exec(e), n)\n return a = parseInt(n[1], 10), t = parseFloat(n[2].replace(\",\", \".\")), Xt(a, t) ? a % 24 * Zt + t * Tn : NaN;\n if (n = Ie.HHMMSS.exec(e), n) {\n a = parseInt(n[1], 10), t = parseInt(n[2], 10);\n var r = parseFloat(n[3].replace(\",\", \".\"));\n return Xt(a, t, r) ? a % 24 * Zt + t * Tn + r * 1e3 : NaN;\n }\n return null;\n}\nfunction Sn(e, n, a) {\n n = n || 0, a = a || 0;\n var t = new Date(0);\n t.setUTCFullYear(e, 0, 4);\n var r = t.getUTCDay() || 7, d = n * 7 + a + 1 - r;\n return t.setUTCDate(t.getUTCDate() + d), t;\n}\nvar hl = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], gl = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction xn(e) {\n return e % 400 === 0 || e % 4 === 0 && e % 100 !== 0;\n}\nfunction Cn(e, n, a) {\n if (n < 0 || n > 11)\n return !1;\n if (a != null) {\n if (a < 1)\n return !1;\n var t = xn(e);\n if (t && a > gl[n] || !t && a > hl[n])\n return !1;\n }\n return !0;\n}\nfunction pl(e, n) {\n if (n < 1)\n return !1;\n var a = xn(e);\n return !(a && n > 366 || !a && n > 365);\n}\nfunction Pn(e, n, a) {\n return !(n < 0 || n > 52 || a != null && (a < 0 || a > 6));\n}\nfunction Xt(e, n, a) {\n return !(e != null && (e < 0 || e >= 25) || n != null && (n < 0 || n >= 60) || a != null && (a < 0 || a >= 60));\n}\nvar Yt = {}, kl = {\n get exports() {\n return Yt;\n },\n set exports(e) {\n Yt = e;\n }\n}, Vt = {}, wl = {\n get exports() {\n return Vt;\n },\n set exports(e) {\n Vt = e;\n }\n};\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = a;\n function a(t, r) {\n if (t == null)\n throw new TypeError(\"assign requires that input parameter not be null or undefined\");\n for (var d in r)\n Object.prototype.hasOwnProperty.call(r, d) && (t[d] = r[d]);\n return t;\n }\n e.exports = n.default;\n})(wl, Vt);\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = r;\n var a = t(Vt);\n function t(d) {\n return d && d.__esModule ? d : { default: d };\n }\n function r(d) {\n return (0, a.default)({}, d);\n }\n e.exports = n.default;\n})(kl, Yt);\nconst bl = /* @__PURE__ */ vn(Yt);\nfunction $l(e, n, a) {\n var t = on(e, a), r = yn(n, t, !0), d = new Date(t.getTime() - r), g = new Date(0);\n return g.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()), g.setHours(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds()), g;\n}\nfunction Dl(e, n, a) {\n if (typeof e == \"string\" && !e.match(Kn)) {\n var t = bl(a);\n return t.timeZone = n, on(e, t);\n }\n var r = on(e, a), d = mn(\n r.getFullYear(),\n r.getMonth(),\n r.getDate(),\n r.getHours(),\n r.getMinutes(),\n r.getSeconds(),\n r.getMilliseconds()\n ).getTime(), g = yn(n, new Date(d));\n return new Date(d + g);\n}\nconst Ml = (e, n = 3) => {\n const a = [];\n for (let t = 0; t < e.length; t += n)\n a.push([e[t], e[t + 1], e[t + 2]]);\n return a;\n}, _l = (e, n) => {\n const a = [1, 2, 3, 4, 5, 6, 7].map((d) => new Intl.DateTimeFormat(e, { weekday: \"short\", timeZone: \"UTC\" }).format(new Date(`2017-01-0${d}T00:00:00+00:00`)).slice(0, 2)), t = a.slice(0, n), r = a.slice(n + 1, a.length);\n return [a[n]].concat(...r).concat(...t);\n}, Al = (e) => {\n const n = [];\n for (let a = +e[0]; a <= +e[1]; a++)\n n.push({ value: +a, text: `${a}` });\n return n;\n}, Tl = (e, n) => {\n const a = new Intl.DateTimeFormat(e, { month: n, timeZone: \"UTC\" });\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((r) => {\n const d = r < 10 ? `0${r}` : r;\n return new Date(`2017-${d}-01T00:00:00+00:00`);\n }).map((r, d) => ({\n text: a.format(r),\n value: d\n }));\n}, Sl = (e) => [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11][e], Ce = (e) => {\n const n = i(e);\n return (n == null ? void 0 : n.$el) ?? n;\n}, Cl = (e) => Object.assign({ type: \"dot\" }, e), Gn = (e) => Array.isArray(e) ? !!e[0] && !!e[1] : !1, Lt = {\n prop: (e) => `\"${e}\" prop must be enabled!`,\n dateArr: (e) => `You need to use array as \"model-value\" binding in order to support \"${e}\"`\n}, Me = (e) => e, Nn = (e) => e === 0 ? e : !e || isNaN(+e) ? null : +e, Rn = (e) => Object.assign(\n {\n menuAppear: \"dp-menu-appear\",\n open: \"dp-slide-down\",\n close: \"dp-slide-up\",\n next: \"calendar-next\",\n previous: \"calendar-prev\",\n vNext: \"dp-slide-up\",\n vPrevious: \"dp-slide-down\"\n },\n e\n), Pl = (e) => Object.assign(\n {\n toggleOverlay: \"Toggle overlay\",\n menu: \"Datepicker menu\",\n input: \"Datepicker input\",\n calendarWrap: \"Calendar wrapper\",\n calendarDays: \"Calendar days\",\n openTimePicker: \"Open time picker\",\n closeTimePicker: \"Close time Picker\",\n incrementValue: (n) => `Increment ${n}`,\n decrementValue: (n) => `Decrement ${n}`,\n openTpOverlay: (n) => `Open ${n} overlay`,\n amPmButton: \"Switch AM/PM mode\",\n openYearsOverlay: \"Open years overlay\",\n openMonthsOverlay: \"Open months overlay\",\n nextMonth: \"Next month\",\n prevMonth: \"Previous month\",\n day: () => \"\"\n },\n e\n), Nl = (e) => e === null ? 0 : typeof e == \"boolean\" ? e ? 2 : 0 : +e >= 2 ? +e : 2, Rl = (e, n, a) => e || (typeof a == \"string\" ? a : n), Il = (e) => typeof e == \"boolean\" ? e ? Rn({}) : !1 : Rn(e), Ol = () => ({\n enterSubmit: !0,\n tabSubmit: !0,\n openMenu: !0,\n rangeSeparator: \" - \"\n}), Bl = (e) => Object.assign({ months: [], years: [], times: { hours: [], minutes: [], seconds: [] } }, e), Ve = (e) => {\n const n = () => {\n if (e.partialRange)\n return null;\n throw new Error(Lt.prop(\"partial-range\"));\n }, a = F(() => ({\n ariaLabels: Pl(e.ariaLabels),\n textInputOptions: Object.assign(Ol(), e.textInputOptions),\n multiCalendars: Nl(e.multiCalendars),\n previewFormat: Rl(e.previewFormat, e.format, d()),\n filters: Bl(e.filters),\n transitions: Il(e.transitions),\n startTime: u()\n })), t = (l) => {\n if (e.range)\n return l();\n throw new Error(Lt.prop(\"range\"));\n }, r = () => {\n const l = e.enableSeconds ? \":ss\" : \"\";\n return e.is24 ? `HH:mm${l}` : `hh:mm${l} aa`;\n }, d = () => e.format ? e.format : e.monthPicker ? \"MM/yyyy\" : e.timePicker ? r() : e.weekPicker ? \"MM/dd/yyyy\" : e.yearPicker ? \"yyyy\" : e.enableTimePicker ? `MM/dd/yyyy, ${r()}` : \"MM/dd/yyyy\", g = (l, v) => {\n if (typeof e.format == \"function\")\n return e.format(l);\n const k = v || d(), N = e.formatLocale ? { locale: e.formatLocale } : void 0;\n return Array.isArray(l) ? `${pt(l[0], k, N)} ${e.modelAuto && !l[1] ? \"\" : a.value.textInputOptions.rangeSeparator || \"-\"} ${l[1] ? pt(l[1], k, N) : \"\"}` : pt(l, k, N);\n }, $ = (l) => e.timezone ? $l(l, e.timezone) : l, B = (l) => e.timezone ? Dl(l, e.timezone) : l, R = F(() => (l) => {\n var v;\n return (v = e.hideNavigation) == null ? void 0 : v.includes(l);\n }), U = (l) => {\n const v = e.maxDate ? Oe($(l), $(w(e.maxDate))) : !1, k = e.minDate ? Pe($(l), $(w(e.minDate))) : !1, N = Y(l, e.disabledDates), fe = a.value.filters.months.map(($e) => +$e).includes(he(l)), y = e.disabledWeekDays.length ? e.disabledWeekDays.some(($e) => +$e === na(l)) : !1, c = e.allowedDates.length ? !e.allowedDates.some(($e) => pe($(w($e)), $(l))) : !1, I = ge(l), ve = I < +e.yearRange[0] || I > +e.yearRange[1];\n return !(v || k || N || fe || ve || y || c);\n }, S = (l) => {\n const v = {\n hours: Ke(w()),\n minutes: xe(w()),\n seconds: dt(w())\n };\n return Object.assign(v, l);\n }, u = () => e.range ? e.startTime && Array.isArray(e.startTime) ? [S(e.startTime[0]), S(e.startTime[1])] : null : e.startTime && !Array.isArray(e.startTime) ? S(e.startTime) : null, T = (l) => !U(l), z = (l) => Array.isArray(l) ? Nt(l[0]) && (l[1] ? Nt(l[1]) : !0) : l ? Nt(l) : !1, V = (l) => l instanceof Date ? l : aa(l), J = (l) => {\n const v = pn($(l), { weekStartsOn: +e.weekStart }), k = la($(l), { weekStartsOn: +e.weekStart });\n return [v, k];\n }, Y = (l, v) => Array.isArray(v) ? v.some((k) => pe($(w(k)), $(l))) : v(l), L = (l, v, k) => {\n let N = l ? w(l) : w();\n return (v || v === 0) && (N = Rt(N, v)), k && (N = rt(N, k)), N;\n }, P = (l) => Re(w(), { hours: Ke(l), minutes: xe(l), seconds: dt(l) }), x = (l) => Re(w(), {\n hours: +l.hours || 0,\n minutes: +l.minutes || 0,\n seconds: +l.seconds || 0\n }), Q = (l, v, k, N) => {\n if (!l)\n return !0;\n if (N) {\n const ue = k === \"max\" ? cn(l, v) : dn(l, v), fe = { seconds: 0, milliseconds: 0 };\n return ue || Yn(Re(l, fe), Re(v, fe));\n }\n return k === \"max\" ? l.getTime() <= v.getTime() : l.getTime() >= v.getTime();\n }, ae = () => !e.enableTimePicker || e.monthPicker || e.yearPicker || e.ignoreTimeValidation, f = (l) => Array.isArray(l) ? [l[0] ? P(l[0]) : null, l[1] ? P(l[1]) : null] : P(l), D = (l) => {\n const v = e.maxTime ? x(e.maxTime) : w(e.maxDate);\n return Array.isArray(l) ? Q(l[0], v, \"max\", !!e.maxDate) && Q(l[1], v, \"max\", !!e.maxDate) : Q(l, v, \"max\", !!e.maxDate);\n }, E = (l, v) => {\n const k = e.minTime ? x(e.minTime) : w(e.minDate);\n return Array.isArray(l) ? Q(l[0], k, \"min\", !!e.minDate) && Q(l[1], k, \"min\", !!e.minDate) && v : Q(l, k, \"min\", !!e.minDate) && v;\n }, G = (l) => {\n let v = !0;\n if (!l || ae())\n return !0;\n const k = !e.minDate && !e.maxDate ? f(l) : l;\n return (e.maxTime || e.maxDate) && (v = D(Me(k))), (e.minTime || e.minDate) && (v = E(Me(k), v)), v;\n }, O = (l, v) => {\n const k = w(JSON.parse(JSON.stringify(l))), N = [];\n for (let ue = 0; ue < 7; ue++) {\n const fe = ct(k, ue), y = he(fe) !== v;\n N.push({\n text: e.hideOffsetDates && y ? \"\" : fe.getDate(),\n value: fe,\n current: !y,\n classData: {}\n });\n }\n return N;\n }, X = (l, v) => {\n const k = [], N = w($(new Date(v, l))), ue = w($(new Date(v, l + 1, 0))), fe = pn(N, { weekStartsOn: e.weekStart }), y = (c) => {\n const I = O(c, l);\n if (k.push({ days: I }), !k[k.length - 1].days.some(\n (ve) => pe(ze(ve.value), ze(ue))\n )) {\n const ve = ct(c, 7);\n y(ve);\n }\n };\n if (y(fe), e.sixWeeks && k.length < 6) {\n const c = 6 - k.length;\n for (let I = 1; I <= c; I++) {\n const ve = k[k.length - 1], $e = ve.days[ve.days.length - 1], be = O(ct($e.value, 1), he(N));\n k.push({ days: be });\n }\n }\n return k;\n }, p = (l, v, k) => [Re(w(l), { date: 1 }), Re(w(), { month: v, year: k, date: 1 })], s = (l, v) => Pe(...p(e.minDate, l, v)) || pe(...p(e.minDate, l, v)), _ = (l, v) => Oe(...p(e.maxDate, l, v)) || pe(...p(e.maxDate, l, v)), A = (l, v, k) => {\n let N = !1;\n return e.maxDate && k && _(l, v) && (N = !0), e.minDate && !k && s(l, v) && (N = !0), N;\n };\n return {\n checkPartialRangeValue: n,\n checkRangeEnabled: t,\n getZonedDate: $,\n getZonedToUtc: B,\n formatDate: g,\n getDefaultPattern: d,\n validateDate: U,\n getDefaultStartTime: u,\n isDisabled: T,\n isValidDate: z,\n sanitizeDate: V,\n getWeekFromDate: J,\n matchDate: Y,\n setDateMonthOrYear: L,\n isValidTime: G,\n getCalendarDays: X,\n validateMonthYearInRange: (l, v, k, N) => {\n let ue = !1;\n return N ? e.minDate && e.maxDate ? ue = A(l, v, k) : (e.minDate && s(l, v) || e.maxDate && _(l, v)) && (ue = !0) : ue = !0, ue;\n },\n validateMaxDate: _,\n validateMinDate: s,\n defaults: a,\n hideNavigationButtons: R\n };\n}, me = bt({\n monthYear: [],\n calendar: [],\n time: [],\n actionRow: [],\n selectionGrid: [],\n timePicker: {\n 0: [],\n 1: []\n },\n monthPicker: []\n}), qt = W(null), Tt = W(!1), Jt = W(!1), Qt = W(!1), en = W(!1), Ne = W(0), Ae = W(0), Je = () => {\n const e = F(() => Tt.value ? [...me.selectionGrid, me.actionRow].filter((Y) => Y.length) : Jt.value ? [\n ...me.timePicker[0],\n ...me.timePicker[1],\n en.value ? [] : [qt.value],\n me.actionRow\n ].filter((Y) => Y.length) : Qt.value ? [...me.monthPicker, me.actionRow] : [me.monthYear, ...me.calendar, me.time, me.actionRow].filter((Y) => Y.length)), n = (Y) => {\n Ne.value = Y ? Ne.value + 1 : Ne.value - 1;\n let L = null;\n e.value[Ae.value] && (L = e.value[Ae.value][Ne.value]), L || (Ne.value = Y ? Ne.value - 1 : Ne.value + 1);\n }, a = (Y) => {\n if (Ae.value === 0 && !Y || Ae.value === e.value.length && Y)\n return;\n Ae.value = Y ? Ae.value + 1 : Ae.value - 1, e.value[Ae.value] ? e.value[Ae.value] && !e.value[Ae.value][Ne.value] && Ne.value !== 0 && (Ne.value = e.value[Ae.value].length - 1) : Ae.value = Y ? Ae.value - 1 : Ae.value + 1;\n }, t = (Y) => {\n let L = null;\n e.value[Ae.value] && (L = e.value[Ae.value][Ne.value]), L ? L.focus({ preventScroll: !Tt.value }) : Ne.value = Y ? Ne.value - 1 : Ne.value + 1;\n }, r = () => {\n n(!0), t(!0);\n }, d = () => {\n n(!1), t(!1);\n }, g = () => {\n a(!1), t(!0);\n }, $ = () => {\n a(!0), t(!0);\n }, B = (Y, L) => {\n me[L] = Y;\n }, R = (Y, L) => {\n me[L] = Y;\n }, U = () => {\n Ne.value = 0, Ae.value = 0;\n };\n return {\n buildMatrix: B,\n buildMultiLevelMatrix: R,\n setTimePickerBackRef: (Y) => {\n qt.value = Y;\n },\n setSelectionGrid: (Y) => {\n Tt.value = Y, U(), Y || (me.selectionGrid = []);\n },\n setTimePicker: (Y, L = !1) => {\n Jt.value = Y, en.value = L, U(), Y || (me.timePicker[0] = [], me.timePicker[1] = []);\n },\n setTimePickerElements: (Y, L = 0) => {\n me.timePicker[L] = Y;\n },\n arrowRight: r,\n arrowLeft: d,\n arrowUp: g,\n arrowDown: $,\n clearArrowNav: () => {\n me.monthYear = [], me.calendar = [], me.time = [], me.actionRow = [], me.selectionGrid = [], me.timePicker[0] = [], me.timePicker[1] = [], Tt.value = !1, Jt.value = !1, en.value = !1, Qt.value = !1, U(), qt.value = null;\n },\n setMonthPicker: (Y) => {\n Qt.value = Y, U();\n },\n refSets: me\n };\n}, In = (e) => Array.isArray(e), tt = (e) => Array.isArray(e), On = (e) => Array.isArray(e) && e.length === 2, Yl = (e, n, a, t, r) => {\n const {\n getDefaultStartTime: d,\n isDisabled: g,\n sanitizeDate: $,\n getWeekFromDate: B,\n setDateMonthOrYear: R,\n validateMonthYearInRange: U,\n defaults: S\n } = Ve(e), u = F({\n get: () => e.internalModelValue,\n set: (o) => {\n !e.readonly && !e.disabled && n(\"update:internal-model-value\", o);\n }\n }), T = W([]), z = W([{ month: he(w()), year: ge(w()) }]), V = bt({\n hours: e.range ? [Ke(w()), Ke(w())] : Ke(w()),\n minutes: e.range ? [xe(w()), xe(w())] : xe(w()),\n seconds: e.range ? [0, 0] : 0\n }), J = F(\n () => (o) => z.value[o] ? z.value[o].month : 0\n ), Y = F(\n () => (o) => z.value[o] ? z.value[o].year : 0\n ), L = F(() => e.flow ? r.value === e.flow.length : !0), P = (o, b, j) => {\n z.value[o].month = b === null ? z.value[o].month : b, z.value[o].year = j === null ? z.value[o].year : j;\n }, x = (o, b) => {\n V[o] = b;\n };\n Fe(() => {\n u.value || (e.startDate && (P(0, he(w(e.startDate)), ge(w(e.startDate))), S.value.multiCalendars && mt(0)), S.value.startTime && _()), Q(!0);\n });\n const Q = (o = !1) => {\n if (u.value)\n return Array.isArray(u.value) ? G(o) : f(u.value);\n if (e.timePicker)\n return O();\n if (e.monthPicker && !e.range)\n return X();\n if (e.yearPicker && !e.range)\n return p();\n if (S.value.multiCalendars)\n return ae(w(), o);\n }, ae = (o, b = !1) => {\n if ((!S.value.multiCalendars || !e.multiStatic || b) && P(0, he(o), ge(o)), S.value.multiCalendars)\n for (let j = 1; j < S.value.multiCalendars; j++) {\n const ne = Re(w(), { month: J.value(j - 1), year: Y.value(j - 1) }), m = Fn(ne, { months: 1 });\n z.value[j] = { month: he(m), year: ge(m) };\n }\n }, f = (o) => {\n ae(o), x(\"hours\", Ke(o)), x(\"minutes\", xe(o)), x(\"seconds\", dt(o));\n }, D = (o, b) => {\n ae(o[0], b);\n const j = (ne, m) => [\n ne(o[0]),\n o[1] ? ne(o[1]) : V[m][1]\n ];\n x(\"hours\", j(Ke, \"hours\")), x(\"minutes\", j(xe, \"minutes\")), x(\"seconds\", j(dt, \"seconds\"));\n }, E = (o, b) => {\n if (e.range && !e.multiDates)\n return D(o, b);\n if (e.multiDates) {\n const j = o[o.length - 1];\n return f(j);\n }\n }, G = (o) => {\n const b = u.value;\n E(b, o), S.value.multiCalendars && e.multiCalendarsSolo && K();\n }, O = () => {\n if (_(), !e.range)\n u.value = Le(w(), V.hours, V.minutes, s());\n else {\n const o = V.hours, b = V.minutes;\n u.value = [\n Le(w(), o[0], b[0], s()),\n Le(w(), o[1], b[1], s(!1))\n ];\n }\n }, X = () => {\n u.value = R(w(), J.value(0), Y.value(0));\n }, p = () => {\n u.value = w();\n }, s = (o = !0) => e.enableSeconds ? Array.isArray(V.seconds) ? o ? V.seconds[0] : V.seconds[1] : V.seconds : 0, _ = () => {\n const o = d();\n if (o) {\n const b = Array.isArray(o), j = b ? [+o[0].hours, +o[1].hours] : +o.hours, ne = b ? [+o[0].minutes, +o[1].minutes] : +o.minutes, m = b ? [+o[0].seconds, +o[1].seconds] : +o.seconds;\n x(\"hours\", j), x(\"minutes\", ne), e.enableSeconds && x(\"seconds\", m);\n }\n }, A = () => Array.isArray(u.value) && u.value.length ? u.value[u.value.length - 1] : null, K = () => {\n if (Array.isArray(u.value) && u.value.length === 2) {\n const o = w(\n w(u.value[1] ? u.value[1] : at(u.value[0], 1))\n ), [b, j] = [he(u.value[0]), ge(u.value[0])], [ne, m] = [he(u.value[1]), ge(u.value[1])];\n (b !== ne || b === ne && j !== m) && e.multiCalendarsSolo && P(1, he(o), ge(o));\n }\n }, l = (o) => {\n const b = at(o, 1);\n return { month: he(b), year: ge(b) };\n }, v = (o) => {\n const b = he(w(o)), j = ge(w(o));\n if (P(0, b, j), S.value.multiCalendars > 0)\n for (let ne = 1; ne < S.value.multiCalendars; ne++) {\n const m = l(\n Re(w(o), { year: J.value(ne - 1), month: Y.value(ne - 1) })\n );\n P(ne, m.month, m.year);\n }\n }, k = (o) => {\n if (u.value && Array.isArray(u.value))\n if (u.value.some((b) => pe(o, b))) {\n const b = u.value.filter((j) => !pe(j, o));\n u.value = b.length ? b : null;\n } else\n (e.multiDatesLimit && +e.multiDatesLimit > u.value.length || !e.multiDatesLimit) && u.value.push(o);\n else\n u.value = [o];\n }, N = (o, b) => {\n const j = Oe(o, b) ? b : o, ne = Oe(b, o) ? b : o;\n return kn({ start: j, end: ne });\n }, ue = (o) => {\n if (Array.isArray(u.value) && u.value[0]) {\n const b = oa(o, u.value[0]), j = N(u.value[0], o), ne = j.length === 1 ? 0 : j.filter((Z) => g(Z)).length, m = Math.abs(b) - ne;\n if (e.minRange && e.maxRange)\n return m >= +e.minRange && m <= +e.maxRange;\n if (e.minRange)\n return m >= +e.minRange;\n if (e.maxRange)\n return m <= +e.maxRange;\n }\n return !0;\n }, fe = (o) => Array.isArray(u.value) && u.value.length === 2 ? e.fixedStart && (Oe(o, u.value[0]) || pe(o, u.value[0])) ? [u.value[0], o] : e.fixedEnd && (Pe(o, u.value[1]) || pe(o, u.value[1])) ? [o, u.value[1]] : u.value : [], y = () => {\n e.autoApply && L.value && n(\"auto-apply\");\n }, c = () => {\n e.autoApply && n(\"select-date\");\n }, I = (o) => !kn({ start: o[0], end: o[1] }).some((j) => g(j)), ve = (o) => (u.value = B(w(o.value)), y()), $e = (o) => {\n const b = Le(w(o.value), V.hours, V.minutes, s());\n e.multiDates ? k(b) : u.value = b, a(), y();\n }, be = () => {\n T.value = u.value ? u.value.slice() : [], T.value.length === 2 && !(e.fixedStart || e.fixedEnd) && (T.value = []);\n }, He = (o, b) => {\n const j = [w(o.value), ct(w(o.value), +e.autoRange)];\n I(j) && (b && v(o.value), T.value = j);\n }, Xe = (o) => {\n T.value = fe(w(o.value));\n }, te = (o) => e.noDisabledRange ? N(T.value[0], o).some((j) => g(j)) : !1, le = (o, b) => {\n if (be(), e.autoRange)\n return He(o, b);\n if (e.fixedStart || e.fixedEnd)\n return Xe(o);\n T.value[0] ? ue(w(o.value)) && !te(o.value) && (Pe(w(o.value), w(T.value[0])) ? T.value.unshift(w(o.value)) : T.value[1] = w(o.value)) : T.value[0] = w(o.value);\n }, ke = (o) => {\n T.value[o] = Le(\n T.value[o],\n V.hours[o],\n V.minutes[o],\n s(o !== 1)\n );\n }, de = () => {\n T.value.length && (T.value[0] && !T.value[1] ? ke(0) : (ke(0), ke(1), a()), u.value = T.value.slice(), T.value[0] && T.value[1] && e.autoApply && n(\"auto-apply\"), T.value[0] && !T.value[1] && e.modelAuto && e.autoApply && n(\"auto-apply\"));\n }, vt = (o, b = !1) => {\n if (!(g(o.value) || !o.current && e.hideOffsetDates)) {\n if (e.weekPicker)\n return ve(o);\n if (!e.range)\n return $e(o);\n tt(V.hours) && tt(V.minutes) && !e.multiDates && (le(o, b), de());\n }\n }, je = (o) => {\n const b = o.find((j) => j.current);\n return b ? ra(b.value) : \"\";\n }, mt = (o) => {\n for (let b = o - 1; b >= 0; b--) {\n const j = kt(Re(w(), { month: J.value(b + 1), year: Y.value(b + 1) }), 1);\n P(b, he(j), ge(j));\n }\n for (let b = o + 1; b <= S.value.multiCalendars - 1; b++) {\n const j = at(Re(w(), { month: J.value(b - 1), year: Y.value(b - 1) }), 1);\n P(b, he(j), ge(j));\n }\n }, et = (o) => R(w(), J.value(o), Y.value(o)), yt = (o) => Le(o, V.hours, V.minutes, s()), Ut = (o, b) => {\n const j = e.monthPicker ? J.value(o) !== b.month || !b.fromNav : Y.value(o) !== b.year;\n if (P(o, b.month, b.year), S.value.multiCalendars && !e.multiCalendarsSolo && mt(o), e.monthPicker || e.yearPicker)\n if (e.range) {\n if (j) {\n let ne = u.value ? u.value.slice() : [];\n ne.length === 2 && ne[1] !== null && (ne = []), ne.length ? Pe(et(o), ne[0]) ? ne.unshift(et(o)) : ne[1] = et(o) : ne = [et(o)], u.value = ne;\n }\n } else\n u.value = et(o);\n n(\"update-month-year\", { instance: o, month: b.month, year: b.year }), t(e.multiCalendarsSolo ? o : void 0);\n }, Ht = async (o = !1) => {\n if (e.autoApply && (e.monthPicker || e.yearPicker)) {\n await $t();\n const b = e.monthPicker ? o : !1;\n e.range ? n(\"auto-apply\", b || !u.value || u.value.length === 1) : n(\"auto-apply\", b);\n }\n a();\n }, Mt = (o, b) => {\n const j = Re(w(), { month: J.value(b), year: Y.value(b) }), ne = o < 0 ? at(j, 1) : kt(j, 1);\n U(he(ne), ge(ne), o < 0, e.preventMinMaxNavigation) && (P(b, he(ne), ge(ne)), S.value.multiCalendars && !e.multiCalendarsSolo && mt(b), t());\n }, ht = (o) => {\n In(o) && In(u.value) && tt(V.hours) && tt(V.minutes) ? (o[0] && u.value[0] && (u.value[0] = Le(o[0], V.hours[0], V.minutes[0], s())), o[1] && u.value[1] && (u.value[1] = Le(o[1], V.hours[1], V.minutes[1], s(!1)))) : e.multiDates && Array.isArray(u.value) ? u.value[u.value.length - 1] = yt(o) : !e.range && !On(o) && (u.value = yt(o)), n(\"time-update\");\n }, Wt = (o, b = !0, j = !1) => {\n const ne = b ? o : V.hours, m = !b && !j ? o : V.minutes, Z = j ? o : V.seconds;\n if (e.range && On(u.value) && tt(ne) && tt(m) && tt(Z) && !e.disableTimeRangeValidation) {\n const we = (Ee) => Le(u.value[Ee], ne[Ee], m[Ee], Z[Ee]), _e = (Ee) => fn(u.value[Ee], 0);\n if (pe(u.value[0], u.value[1]) && (dn(we(0), _e(1)) || cn(we(1), _e(0))))\n return;\n }\n if (x(\"hours\", ne), x(\"minutes\", m), x(\"seconds\", Z), u.value)\n if (e.multiDates) {\n const we = A();\n we && ht(we);\n } else\n ht(u.value);\n else\n e.timePicker && ht(e.range ? [w(), w()] : w());\n a();\n }, zt = (o, b) => {\n e.monthChangeOnScroll && Mt(e.monthChangeOnScroll !== \"inverse\" ? -o.deltaY : o.deltaY, b);\n }, jt = (o, b, j = !1) => {\n e.monthChangeOnArrows && e.vertical === j && _t(o, b);\n }, _t = (o, b) => {\n Mt(o === \"right\" ? -1 : 1, b);\n };\n return {\n time: V,\n month: J,\n year: Y,\n modelValue: u,\n calendars: z,\n monthYearSelect: Ht,\n isDisabled: g,\n updateTime: Wt,\n getWeekNum: je,\n selectDate: vt,\n updateMonthYear: Ut,\n handleScroll: zt,\n getMarker: (o) => e.markers.find((b) => pe($(o.value), $(b.date))),\n handleArrow: jt,\n handleSwipe: _t,\n selectCurrentDate: () => {\n e.range ? u.value && Array.isArray(u.value) && u.value[0] ? u.value = Pe(w(), u.value[0]) ? [w(), u.value[0]] : [u.value[0], w()] : u.value = [w()] : u.value = w(), c();\n },\n presetDateRange: (o, b) => {\n b || o.length && o.length <= 2 && e.range && (u.value = o.map((j) => w(j)), c());\n }\n };\n}, Vl = (e, n, a) => {\n const t = W(), {\n getZonedToUtc: r,\n getZonedDate: d,\n formatDate: g,\n getDefaultPattern: $,\n checkRangeEnabled: B,\n checkPartialRangeValue: R,\n isValidDate: U,\n setDateMonthOrYear: S,\n defaults: u\n } = Ve(n), T = W(\"\");\n Dt(t, () => {\n e(\"internal-model-change\", t.value);\n });\n const z = (y) => {\n const c = y || w();\n return {\n hours: Ke(c),\n minutes: xe(c),\n seconds: n.enableSeconds ? dt(c) : 0\n };\n }, V = (y) => ({ month: he(y), year: ge(y) }), J = (y) => Array.isArray(y) ? B(() => [\n rt(w(), y[0]),\n y[1] ? rt(w(), y[1]) : R()\n ]) : rt(w(), +y), Y = (y) => Array.isArray(y) ? [\n Le(null, +y[0].hours, +y[0].minutes, y[0].seconds),\n Le(null, +y[1].hours, +y[1].minutes, y[1].seconds)\n ] : Le(null, y.hours, y.minutes, y == null ? void 0 : y.seconds), L = (y) => Array.isArray(y) ? B(() => [\n S(null, +y[0].month, +y[0].year),\n y[1] ? S(null, +y[1].month, +y[1].year) : R()\n ]) : S(null, +y.month, +y.year), P = (y) => {\n if (Array.isArray(y))\n return y.map((c) => K(c));\n throw new Error(Lt.dateArr(\"multi-dates\"));\n }, x = (y) => {\n if (Array.isArray(y))\n return [w(y[0]), w(y[1])];\n throw new Error(Lt.dateArr(\"week-picker\"));\n }, Q = (y) => n.modelAuto ? Array.isArray(y) ? [K(y[0]), K(y[1])] : n.autoApply ? [K(y)] : [K(y), null] : Array.isArray(y) ? B(() => [\n K(y[0]),\n y[1] ? K(y[1]) : R()\n ]) : K(y), ae = () => {\n Array.isArray(t.value) && n.range && t.value.length === 1 && t.value.push(R());\n }, f = () => {\n const y = t.value;\n return [\n l(y[0]),\n y[1] ? l(y[1]) : R()\n ];\n }, D = () => t.value[1] ? f() : l(Me(t.value[0])), E = () => (t.value || []).map((y) => l(y)), G = () => (ae(), n.modelAuto ? D() : n.multiDates ? E() : Array.isArray(t.value) ? B(() => f()) : l(Me(t.value))), O = (y) => y ? n.timePicker ? Y(Me(y)) : n.monthPicker ? L(Me(y)) : n.yearPicker ? J(Me(y)) : n.multiDates ? P(Me(y)) : n.weekPicker ? x(Me(y)) : Q(Me(y)) : null, X = (y) => {\n const c = O(y);\n U(Me(c)) ? (t.value = Me(c), A()) : (t.value = null, T.value = \"\");\n }, p = () => {\n var c;\n const y = (I) => {\n var ve;\n return pt(I, (ve = u.value.textInputOptions) == null ? void 0 : ve.format);\n };\n return `${y(t.value[0])} ${(c = u.value.textInputOptions) == null ? void 0 : c.rangeSeparator} ${t.value[1] ? y(t.value[1]) : \"\"}`;\n }, s = () => {\n var y;\n return a.value && t.value ? Array.isArray(t.value) ? p() : pt(t.value, (y = u.value.textInputOptions) == null ? void 0 : y.format) : g(t.value);\n }, _ = () => {\n var y;\n return t.value ? n.multiDates ? t.value.map((c) => g(c)).join(\"; \") : n.textInput && typeof ((y = u.value.textInputOptions) == null ? void 0 : y.format) == \"string\" ? s() : g(t.value) : \"\";\n }, A = () => {\n !n.format || typeof n.format == \"string\" ? T.value = _() : T.value = n.format(t.value);\n }, K = (y) => {\n if (n.utc) {\n const c = new Date(y);\n return n.utc === \"preserve\" ? new Date(c.getTime() + c.getTimezoneOffset() * 6e4) : c;\n }\n return n.modelType ? n.modelType === \"date\" || n.modelType === \"timestamp\" ? d(new Date(y)) : n.modelType === \"format\" && (typeof n.format == \"string\" || !n.format) ? ln(y, $(), new Date()) : d(ln(y, n.modelType, new Date())) : d(new Date(y));\n }, l = (y) => n.utc ? Ja(y, n.utc === \"preserve\") : n.modelType ? n.modelType === \"timestamp\" ? +r(y) : n.modelType === \"format\" && (typeof n.format == \"string\" || !n.format) ? g(r(y)) : g(r(y), n.modelType) : r(y), v = (y) => {\n e(\"update:model-value\", y);\n }, k = (y) => Array.isArray(t.value) ? [\n y(t.value[0]),\n t.value[1] ? y(t.value[1]) : R()\n ] : y(Me(t.value)), N = (y) => v(Me(k(y)));\n return {\n inputValue: T,\n internalModelValue: t,\n checkBeforeEmit: () => t.value ? n.range ? n.partialRange ? t.value.length >= 1 : t.value.length === 2 : !!t.value : !1,\n parseExternalModelValue: X,\n formatInputValue: A,\n emitModelValue: () => (A(), n.monthPicker ? N(V) : n.timePicker ? N(z) : n.yearPicker ? N(ge) : n.weekPicker ? v(t.value) : v(G()))\n };\n}, Ll = (e, n) => {\n const { validateMonthYearInRange: a, validateMaxDate: t, validateMinDate: r, defaults: d } = Ve(e), g = (S, u) => {\n let T = S;\n return d.value.filters.months.includes(he(T)) ? (T = u ? at(S, 1) : kt(S, 1), g(T, u)) : T;\n }, $ = (S, u) => {\n let T = S;\n return d.value.filters.years.includes(ge(T)) ? (T = u ? sa(S, 1) : ia(S, 1), $(T, u)) : T;\n }, B = (S) => {\n const u = Re(new Date(), { month: e.month, year: e.year });\n let T = S ? at(u, 1) : kt(u, 1), z = he(T), V = ge(T);\n d.value.filters.months.includes(z) && (T = g(T, S), z = he(T), V = ge(T)), d.value.filters.years.includes(V) && (T = $(T, S), V = ge(T)), a(z, V, S, e.preventMinMaxNavigation) && R(z, V);\n }, R = (S, u) => {\n n(\"update-month-year\", { month: S, year: u });\n }, U = F(() => (S) => {\n if (!e.preventMinMaxNavigation || S && !e.maxDate || !S && !e.minDate)\n return !1;\n const u = Re(new Date(), { month: e.month, year: e.year }), T = S ? at(u, 1) : kt(u, 1), z = [he(T), ge(T)];\n return S ? !t(...z) : !r(...z);\n });\n return { handleMonthYearChange: B, isDisabled: U, updateMonthYear: R };\n};\nvar It = /* @__PURE__ */ ((e) => (e.center = \"center\", e.left = \"left\", e.right = \"right\", e))(It || {});\nconst El = (e, n, a, t) => {\n const r = W({\n top: \"0\",\n left: \"0\",\n transform: \"none\"\n }), d = W(!1), g = an(t, \"teleportCenter\");\n Dt(g, () => {\n J();\n });\n const $ = (f) => {\n const D = f.getBoundingClientRect();\n return {\n left: D.left + window.scrollX,\n top: D.top + window.scrollY\n };\n }, B = (f) => {\n const D = f.getBoundingClientRect();\n let E = 0, G = 0;\n for (; f && !isNaN(f.offsetLeft) && !isNaN(f.offsetTop); )\n E += f.offsetLeft - f.scrollLeft, G = D.top + f.scrollTop, f = f.offsetParent;\n return { top: G, left: E };\n }, R = (f, D) => {\n r.value.left = `${f + D}px`, r.value.transform = \"translateX(-100%)\";\n }, U = (f) => {\n r.value.left = `${f}px`, r.value.transform = \"translateX(0)\";\n }, S = (f, D, E = !1) => {\n t.position === It.left && U(f), t.position === It.right && R(f, D), t.position === It.center && (r.value.left = `${f + D / 2}px`, r.value.transform = E ? \"translate(-50%, -50%)\" : \"translateX(-50%)\");\n }, u = (f) => {\n const { width: D, height: E } = f.getBoundingClientRect(), { top: G, left: O } = t.altPosition ? B(f) : $(f);\n return { top: G, left: O, width: D, height: E };\n }, T = () => {\n const f = Ce(n);\n if (f) {\n const { top: D, left: E, width: G, height: O } = u(f);\n r.value.top = `${D + O / 2}px`, r.value.transform = \"translateY(-50%)\", S(E, G, !0);\n }\n }, z = () => {\n r.value.left = \"50%\", r.value.top = \"50%\", r.value.transform = \"translate(-50%, -50%)\", r.value.position = \"fixed\";\n }, V = () => {\n const f = Ce(n);\n r.value = t.altPosition(f);\n }, J = (f = !0) => {\n if (!t.inline)\n return g.value ? z() : t.altPosition && typeof t.altPosition != \"boolean\" ? V() : (f && a(\"recalculate-position\"), ae());\n }, Y = ({\n inputEl: f,\n menuEl: D,\n left: E,\n width: G\n }) => {\n window.screen.width > 768 && S(E, G), x(f, D);\n }, L = (f, D) => {\n const { top: E, left: G, height: O, width: X } = u(f);\n r.value.top = `${O + E + +t.offset}px`, Y({ inputEl: f, menuEl: D, left: G, width: X }), d.value = !1;\n }, P = (f, D) => {\n const { top: E, left: G, width: O } = u(f), { height: X } = D.getBoundingClientRect();\n r.value.top = `${E - X - +t.offset}px`, Y({ inputEl: f, menuEl: D, left: G, width: O }), d.value = !0;\n }, x = (f, D) => {\n if (t.autoPosition) {\n const { left: E, width: G } = u(f), { left: O, right: X } = D.getBoundingClientRect();\n if (O < 0)\n return U(E);\n if (X > document.documentElement.clientWidth)\n return R(E, G);\n }\n }, Q = (f, D) => {\n const { height: E } = D.getBoundingClientRect(), { top: G, height: O } = f.getBoundingClientRect(), p = window.innerHeight - G - O, s = G;\n return E <= p ? L(f, D) : E > p && E <= s ? P(f, D) : p >= s ? L(f, D) : P(f, D);\n }, ae = () => {\n const f = Ce(n), D = Ce(e);\n if (f && D)\n return t.autoPosition ? Q(f, D) : L(f, D);\n };\n return { openOnTop: d, menuPosition: r, setMenuPosition: J, setInitialPosition: T };\n}, it = [\n { name: \"clock-icon\", use: [\"time\", \"calendar\"] },\n { name: \"arrow-left\", use: [\"month-year\", \"calendar\"] },\n { name: \"arrow-right\", use: [\"month-year\", \"calendar\"] },\n { name: \"arrow-up\", use: [\"time\", \"calendar\"] },\n { name: \"arrow-down\", use: [\"time\", \"calendar\"] },\n { name: \"calendar-icon\", use: [\"month-year\", \"time\", \"calendar\"] },\n { name: \"day\", use: [\"calendar\"] },\n { name: \"month-overlay-value\", use: [\"calendar\", \"month-year\"] },\n { name: \"year-overlay-value\", use: [\"calendar\", \"month-year\"] },\n { name: \"year-overlay\", use: [\"month-year\"] },\n { name: \"month-overlay\", use: [\"month-year\"] },\n { name: \"month-overlay-header\", use: [\"month-year\"] },\n { name: \"year-overlay-header\", use: [\"month-year\"] },\n { name: \"hours-overlay-value\", use: [\"calendar\", \"time\"] },\n { name: \"minutes-overlay-value\", use: [\"calendar\", \"time\"] },\n { name: \"seconds-overlay-value\", use: [\"calendar\", \"time\"] },\n { name: \"hours\", use: [\"calendar\", \"time\"] },\n { name: \"minutes\", use: [\"calendar\", \"time\"] },\n { name: \"month\", use: [\"calendar\", \"month-year\"] },\n { name: \"year\", use: [\"calendar\", \"month-year\"] },\n { name: \"action-select\", use: [\"action\"] },\n { name: \"action-preview\", use: [\"action\"] },\n { name: \"calendar-header\", use: [\"calendar\"] },\n { name: \"marker-tooltip\", use: [\"calendar\"] },\n { name: \"now-button\", use: [] },\n { name: \"time-picker-overlay\", use: [\"calendar\", \"time\"] },\n { name: \"am-pm-button\", use: [\"calendar\", \"time\"] },\n { name: \"left-sidebar\", use: [\"menu\"] },\n { name: \"right-sidebar\", use: [\"menu\"] },\n { name: \"month-year\", use: [\"month-year\"] },\n { name: \"time-picker\", use: [\"menu\"] },\n { name: \"action-row\", use: [\"action\"] }\n], Fl = [{ name: \"trigger\" }, { name: \"input-icon\" }, { name: \"clear-icon\" }, { name: \"dp-input\" }], Ul = {\n all: () => it,\n monthYear: () => it.filter((e) => e.use.includes(\"month-year\")),\n input: () => Fl,\n timePicker: () => it.filter((e) => e.use.includes(\"time\")),\n action: () => it.filter((e) => e.use.includes(\"action\")),\n calendar: () => it.filter((e) => e.use.includes(\"calendar\")),\n menu: () => it.filter((e) => e.use.includes(\"menu\"))\n}, lt = (e, n, a) => {\n const t = [];\n return Ul[n]().forEach((r) => {\n e[r.name] && t.push(r.name);\n }), a && a.length && a.forEach((r) => {\n r.slot && t.push(r.slot);\n }), t;\n}, Ft = (e) => ({ transitionName: F(() => (a) => e && typeof e != \"boolean\" ? a ? e.open : e.close : \"\"), showTransition: !!e }), Qe = {\n multiCalendars: { type: [Boolean, Number, String], default: null },\n modelValue: { type: [String, Date, Array, Object, Number], default: null },\n modelType: { type: String, default: null },\n position: { type: String, default: \"center\" },\n dark: { type: Boolean, default: !1 },\n format: {\n type: [String, Function],\n default: () => null\n },\n closeOnScroll: { type: Boolean, default: !1 },\n autoPosition: { type: Boolean, default: !0 },\n closeOnAutoApply: { type: Boolean, default: !0 },\n teleport: { type: [String, Object], default: \"body\" },\n altPosition: { type: [Boolean, Function], default: !1 },\n transitions: { type: [Boolean, Object], default: !0 },\n formatLocale: { type: Object, default: null },\n utc: { type: [Boolean, String], default: !1 },\n ariaLabels: { type: Object, default: () => ({}) },\n offset: { type: [Number, String], default: 10 },\n hideNavigation: { type: Array, default: () => [] },\n timezone: { type: String, default: null },\n vertical: { type: Boolean, default: !1 },\n disableMonthYearSelect: { type: Boolean, default: !1 },\n menuClassName: { type: String, default: null },\n dayClass: { type: Function, default: null },\n yearRange: { type: Array, default: () => [1900, 2100] },\n multiCalendarsSolo: { type: Boolean, default: !1 },\n calendarCellClassName: { type: String, default: null },\n enableTimePicker: { type: Boolean, default: !0 },\n autoApply: { type: Boolean, default: !1 },\n disabledDates: { type: [Array, Function], default: () => [] },\n monthNameFormat: { type: String, default: \"short\" },\n startDate: { type: [Date, String], default: null },\n startTime: { type: [Object, Array], default: null },\n monthYearComponent: { type: Object, default: null },\n timePickerComponent: { type: Object, default: null },\n actionRowComponent: { type: Object, default: null },\n hideOffsetDates: { type: Boolean, default: !1 },\n autoRange: { type: [Number, String], default: null },\n noToday: { type: Boolean, default: !1 },\n disabledWeekDays: { type: Array, default: () => [] },\n allowedDates: { type: Array, default: () => [] },\n showNowButton: { type: Boolean, default: !1 },\n nowButtonLabel: { type: String, default: \"Now\" },\n markers: { type: Array, default: () => [] },\n modeHeight: { type: [Number, String], default: 255 },\n escClose: { type: Boolean, default: !0 },\n spaceConfirm: { type: Boolean, default: !0 },\n monthChangeOnArrows: { type: Boolean, default: !0 },\n presetRanges: { type: Array, default: () => [] },\n flow: { type: Array, default: () => [] },\n preventMinMaxNavigation: { type: Boolean, default: !1 },\n minRange: { type: [Number, String], default: null },\n maxRange: { type: [Number, String], default: null },\n multiDatesLimit: { type: [Number, String], default: null },\n reverseYears: { type: Boolean, default: !1 },\n keepActionRow: { type: Boolean, default: !1 },\n weekPicker: { type: Boolean, default: !1 },\n filters: { type: Object, default: () => ({}) },\n arrowNavigation: { type: Boolean, default: !1 },\n multiStatic: { type: Boolean, default: !0 },\n disableTimeRangeValidation: { type: Boolean, default: !1 },\n highlight: {\n type: [Array, Function],\n default: null\n },\n highlightWeekDays: {\n type: Array,\n default: null\n },\n highlightDisabledDays: { type: Boolean, default: !1 },\n teleportCenter: { type: Boolean, default: !1 },\n locale: { type: String, default: \"en-Us\" },\n weekNumName: { type: String, default: \"W\" },\n weekStart: { type: [Number, String], default: 1 },\n weekNumbers: { type: Boolean, default: !1 },\n calendarClassName: { type: String, default: null },\n noSwipe: { type: Boolean, default: !1 },\n monthChangeOnScroll: { type: [Boolean, String], default: !0 },\n dayNames: {\n type: [Function, Array],\n default: null\n },\n monthPicker: { type: Boolean, default: !1 },\n customProps: { type: Object, default: null },\n yearPicker: { type: Boolean, default: !1 },\n modelAuto: { type: Boolean, default: !1 },\n selectText: { type: String, default: \"Select\" },\n cancelText: { type: String, default: \"Cancel\" },\n previewFormat: {\n type: [String, Function],\n default: () => \"\"\n },\n multiDates: { type: Boolean, default: !1 },\n partialRange: { type: Boolean, default: !0 },\n ignoreTimeValidation: { type: Boolean, default: !1 },\n minDate: { type: [Date, String], default: null },\n maxDate: { type: [Date, String], default: null },\n minTime: { type: Object, default: null },\n maxTime: { type: Object, default: null },\n name: { type: String, default: null },\n placeholder: { type: String, default: \"\" },\n hideInputIcon: { type: Boolean, default: !1 },\n clearable: { type: Boolean, default: !0 },\n state: { type: Boolean, default: null },\n required: { type: Boolean, default: !1 },\n autocomplete: { type: String, default: \"off\" },\n inputClassName: { type: String, default: null },\n inlineWithInput: { type: Boolean, default: !1 },\n textInputOptions: { type: Object, default: () => null },\n fixedStart: { type: Boolean, default: !1 },\n fixedEnd: { type: Boolean, default: !1 },\n timePicker: { type: Boolean, default: !1 },\n enableSeconds: { type: Boolean, default: !1 },\n is24: { type: Boolean, default: !0 },\n noHoursOverlay: { type: Boolean, default: !1 },\n noMinutesOverlay: { type: Boolean, default: !1 },\n noSecondsOverlay: { type: Boolean, default: !1 },\n hoursGridIncrement: { type: [String, Number], default: 1 },\n minutesGridIncrement: { type: [String, Number], default: 5 },\n secondsGridIncrement: { type: [String, Number], default: 5 },\n hoursIncrement: { type: [Number, String], default: 1 },\n minutesIncrement: { type: [Number, String], default: 1 },\n secondsIncrement: { type: [Number, String], default: 1 },\n range: { type: Boolean, default: !1 },\n uid: { type: String, default: null },\n disabled: { type: Boolean, default: !1 },\n readonly: { type: Boolean, default: !1 },\n inline: { type: Boolean, default: !1 },\n textInput: { type: Boolean, default: !1 },\n onClickOutside: { type: Function, default: null },\n noDisabledRange: { type: Boolean, default: !1 },\n sixWeeks: { type: Boolean, default: !1 }\n}, Hl = [\"aria-label\", \"aria-disabled\", \"aria-readonly\"], Wl = {\n key: 1,\n class: \"dp__input_wrap\"\n}, zl = [\"id\", \"name\", \"inputmode\", \"placeholder\", \"disabled\", \"readonly\", \"required\", \"value\", \"autocomplete\", \"onKeydown\"], jl = {\n key: 2,\n class: \"dp__input_icon\"\n}, Kl = {\n key: 4,\n class: \"dp__clear_icon\"\n}, xl = /* @__PURE__ */ Ue({\n __name: \"DatepickerInput\",\n props: {\n isMenuOpen: { type: Boolean, default: !1 },\n inputValue: { type: String, default: \"\" },\n ...Qe\n },\n emits: [\n \"clear\",\n \"open\",\n \"update:input-value\",\n \"set-input-date\",\n \"close\",\n \"select-date\",\n \"set-empty-date\",\n \"toggle\",\n \"focus-prev\",\n \"focus\",\n \"blur\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { getDefaultPattern: r, isValidDate: d, defaults: g } = Ve(t), $ = W(), B = W(null), R = W(!1), U = F(\n () => ({\n dp__pointer: !t.disabled && !t.readonly && !t.textInput,\n dp__disabled: t.disabled,\n dp__input_readonly: !t.textInput,\n dp__input: !0,\n dp__input_icon_pad: !t.hideInputIcon,\n dp__input_valid: t.state,\n dp__input_invalid: t.state === !1,\n dp__input_focus: R.value || t.isMenuOpen,\n dp__input_reg: !t.textInput,\n [t.inputClassName]: !!t.inputClassName\n })\n ), S = () => {\n a(\"set-input-date\", null), t.autoApply && (a(\"set-empty-date\"), $.value = null);\n }, u = (f) => {\n var D;\n return qa(f, ((D = g.value.textInputOptions) == null ? void 0 : D.format) || r());\n }, T = (f) => {\n const { rangeSeparator: D } = g.value.textInputOptions;\n if (t.range) {\n const [E, G] = f.split(`${D}`);\n if (E && G) {\n const O = u(E.trim()), X = u(G.trim());\n $.value = O && X ? [O, X] : null;\n }\n } else if (t.multiDates) {\n const E = f.split(\";\");\n $.value = E.map((G) => u(G.trim())).filter((G) => G);\n } else\n $.value = u(f);\n }, z = (f) => {\n var E;\n const { value: D } = f.target;\n D !== \"\" ? (((E = g.value.textInputOptions) == null ? void 0 : E.openMenu) && !t.isMenuOpen && a(\"open\"), T(D), a(\"set-input-date\", $.value)) : S(), a(\"update:input-value\", D);\n }, V = () => {\n var f, D;\n ((f = g.value.textInputOptions) == null ? void 0 : f.enterSubmit) && d($.value) && t.inputValue !== \"\" ? (a(\"set-input-date\", $.value, !0), $.value = null) : ((D = g.value.textInputOptions) == null ? void 0 : D.enterSubmit) && t.inputValue === \"\" && ($.value = null, a(\"clear\"));\n }, J = () => {\n var f, D;\n ((f = g.value.textInputOptions) == null ? void 0 : f.tabSubmit) && d($.value) && t.inputValue !== \"\" ? (a(\"set-input-date\", $.value, !0), $.value = null) : ((D = g.value.textInputOptions) == null ? void 0 : D.tabSubmit) && t.inputValue === \"\" && ($.value = null, a(\"clear\"));\n }, Y = () => {\n R.value = !0, a(\"focus\");\n }, L = (f) => {\n var D;\n f.preventDefault(), f.stopImmediatePropagation(), f.stopPropagation(), t.textInput && ((D = g.value.textInputOptions) == null ? void 0 : D.openMenu) && !t.inlineWithInput ? t.isMenuOpen ? g.value.textInputOptions.enterSubmit && a(\"select-date\") : a(\"open\") : t.textInput || a(\"toggle\");\n }, P = () => {\n R.value = !1, t.isMenuOpen || a(\"blur\"), t.autoApply && t.textInput && $.value && (a(\"set-input-date\", $.value), a(\"select-date\"), $.value = null);\n }, x = () => {\n a(\"clear\");\n }, Q = (f) => {\n t.textInput || f.preventDefault();\n };\n return n({\n focusInput: () => {\n B.value && B.value.focus({ preventScroll: !0 });\n }\n }), (f, D) => {\n var E;\n return h(), C(\"div\", {\n onClick: L,\n \"aria-label\": (E = i(g).ariaLabels) == null ? void 0 : E.input,\n role: \"textbox\",\n \"aria-multiline\": \"false\",\n \"aria-disabled\": f.disabled,\n \"aria-readonly\": f.readonly\n }, [\n f.$slots.trigger && !f.$slots[\"dp-input\"] && !f.inline ? H(f.$slots, \"trigger\", { key: 0 }) : M(\"\", !0),\n !f.$slots.trigger && (!f.inline || f.inlineWithInput) ? (h(), C(\"div\", Wl, [\n f.$slots[\"dp-input\"] && !f.$slots.trigger && !f.inline ? H(f.$slots, \"dp-input\", {\n key: 0,\n value: e.inputValue,\n onInput: z,\n onEnter: V,\n onTab: J,\n onClear: x\n }) : M(\"\", !0),\n f.$slots[\"dp-input\"] ? M(\"\", !0) : (h(), C(\"input\", {\n key: 1,\n ref_key: \"inputRef\",\n ref: B,\n id: f.uid ? `dp-input-${f.uid}` : void 0,\n name: f.name,\n class: ye(i(U)),\n inputmode: f.textInput ? \"text\" : \"none\",\n placeholder: f.placeholder,\n disabled: f.disabled,\n readonly: f.readonly,\n required: f.required,\n value: e.inputValue,\n autocomplete: f.autocomplete,\n onInput: z,\n onKeydown: [\n oe(L, [\"enter\"]),\n oe(J, [\"tab\"])\n ],\n onBlur: P,\n onFocus: Y,\n onKeypress: Q\n }, null, 42, zl)),\n f.$slots[\"input-icon\"] && !f.hideInputIcon ? (h(), C(\"span\", jl, [\n H(f.$slots, \"input-icon\")\n ])) : M(\"\", !0),\n !f.$slots[\"input-icon\"] && !f.hideInputIcon && !f.$slots[\"dp-input\"] ? (h(), ce(i(Et), {\n key: 3,\n class: \"dp__input_icon dp__input_icons\"\n })) : M(\"\", !0),\n f.$slots[\"clear-icon\"] && e.inputValue && f.clearable && !f.disabled && !f.readonly ? (h(), C(\"span\", Kl, [\n H(f.$slots, \"clear-icon\", { clear: x })\n ])) : M(\"\", !0),\n f.clearable && !f.$slots[\"clear-icon\"] && e.inputValue && !f.disabled && !f.readonly ? (h(), ce(i(Ma), {\n key: 5,\n class: \"dp__clear_icon dp__input_icons\",\n \"data-test\": \"clear-icon\",\n onClick: Ge(x, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : M(\"\", !0)\n ])) : M(\"\", !0)\n ], 8, Hl);\n };\n }\n}), Gl = { class: \"dp__selection_preview\" }, Zl = { class: \"dp__action_buttons\" }, Xl = [\"onKeydown\"], ql = /* @__PURE__ */ Ue({\n __name: \"ActionRow\",\n props: {\n calendarWidth: { type: Number, default: 0 },\n menuMount: { type: Boolean, default: !1 },\n internalModelValue: { type: [Date, Array], default: null },\n ...Qe\n },\n emits: [\"close-picker\", \"select-date\", \"invalid-select\"],\n setup(e, { emit: n }) {\n const a = e, { formatDate: t, isValidTime: r, defaults: d } = Ve(a), { buildMatrix: g } = Je(), $ = W(null), B = W(null);\n Fe(() => {\n a.arrowNavigation && g([Ce($), Ce(B)], \"actionRow\");\n });\n const R = F(() => a.range && !a.partialRange && a.internalModelValue ? a.internalModelValue.length === 2 : !0), U = F(() => !u.value || !T.value || !R.value), S = F(() => ({\n dp__action: !0,\n dp__select: !0,\n dp__action_disabled: U.value\n })), u = F(() => !a.enableTimePicker || a.ignoreTimeValidation ? !0 : r(a.internalModelValue)), T = F(() => a.monthPicker ? Y(a.internalModelValue) : !0), z = () => {\n const P = d.value.previewFormat;\n return a.timePicker || a.monthPicker, P(Me(a.internalModelValue));\n }, V = () => {\n const P = a.internalModelValue;\n return d.value.multiCalendars > 0 ? `${t(P[0])} - ${t(P[1])}` : [t(P[0]), t(P[1])];\n }, J = F(() => !a.internalModelValue || !a.menuMount ? \"\" : typeof d.value.previewFormat == \"string\" ? Array.isArray(a.internalModelValue) ? a.internalModelValue.length === 2 && a.internalModelValue[1] ? V() : a.multiDates ? a.internalModelValue.map((P) => `${t(P)}`) : a.modelAuto ? `${t(a.internalModelValue[0])}` : `${t(a.internalModelValue[0])} -` : t(a.internalModelValue) : z()), Y = (P) => {\n if (!a.monthPicker)\n return !0;\n let x = !0;\n return a.minDate && a.maxDate ? Oe(w(P), w(a.minDate)) && Pe(w(P), w(a.maxDate)) : (a.minDate && (x = Oe(w(P), w(a.minDate))), a.maxDate && (x = Pe(w(P), w(a.maxDate))), x);\n }, L = () => {\n u.value && T.value && R.value ? n(\"select-date\") : n(\"invalid-select\");\n };\n return (P, x) => (h(), C(\"div\", {\n class: \"dp__action_row\",\n style: ut(e.calendarWidth ? { width: `${e.calendarWidth}px` } : {})\n }, [\n P.$slots[\"action-row\"] ? H(P.$slots, \"action-row\", Ye(Te({ key: 0 }, {\n internalModelValue: e.internalModelValue,\n disabled: i(U),\n selectDate: () => P.$emit(\"select-date\"),\n closePicker: () => P.$emit(\"close-picker\")\n }))) : (h(), C(ie, { key: 1 }, [\n ee(\"div\", Gl, [\n P.$slots[\"action-preview\"] ? H(P.$slots, \"action-preview\", {\n key: 0,\n value: e.internalModelValue\n }) : M(\"\", !0),\n P.$slots[\"action-preview\"] ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n Array.isArray(i(J)) ? M(\"\", !0) : (h(), C(ie, { key: 0 }, [\n We(Se(i(J)), 1)\n ], 64)),\n Array.isArray(i(J)) ? (h(!0), C(ie, { key: 1 }, De(i(J), (Q, ae) => (h(), C(\"div\", { key: ae }, Se(Q), 1))), 128)) : M(\"\", !0)\n ], 64))\n ]),\n ee(\"div\", Zl, [\n P.$slots[\"action-select\"] ? H(P.$slots, \"action-select\", {\n key: 0,\n value: e.internalModelValue\n }) : M(\"\", !0),\n P.$slots[\"action-select\"] ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n P.inline ? M(\"\", !0) : (h(), C(\"span\", {\n key: 0,\n class: \"dp__action dp__cancel\",\n ref_key: \"cancelButtonRef\",\n ref: $,\n tabindex: \"0\",\n onClick: x[0] || (x[0] = (Q) => P.$emit(\"close-picker\")),\n onKeydown: [\n x[1] || (x[1] = oe((Q) => P.$emit(\"close-picker\"), [\"enter\"])),\n x[2] || (x[2] = oe((Q) => P.$emit(\"close-picker\"), [\"space\"]))\n ]\n }, Se(P.cancelText), 545)),\n ee(\"span\", {\n class: ye(i(S)),\n tabindex: \"0\",\n onKeydown: [\n oe(L, [\"enter\"]),\n oe(L, [\"space\"])\n ],\n onClick: L,\n \"data-test\": \"select-button\",\n ref_key: \"selectButtonRef\",\n ref: B\n }, Se(P.selectText), 43, Xl)\n ], 64))\n ])\n ], 64))\n ], 4));\n }\n}), Jl = [\"aria-label\"], Ql = {\n class: \"dp__calendar_header\",\n role: \"row\"\n}, er = {\n key: 0,\n class: \"dp__calendar_header_item\",\n role: \"gridcell\"\n}, tr = /* @__PURE__ */ ee(\"div\", { class: \"dp__calendar_header_separator\" }, null, -1), nr = [\"aria-label\"], ar = {\n key: 0,\n role: \"gridcell\",\n class: \"dp__calendar_item dp__week_num\"\n}, lr = { class: \"dp__cell_inner\" }, rr = [\"aria-selected\", \"aria-disabled\", \"aria-label\", \"data-test\", \"onClick\", \"onKeydown\", \"onMouseover\"], or = /* @__PURE__ */ ee(\"div\", { class: \"dp__arrow_bottom_tp\" }, null, -1), sr = /* @__PURE__ */ Ue({\n __name: \"Calendar\",\n props: {\n mappedDates: { type: Array, default: () => [] },\n getWeekNum: {\n type: Function,\n default: () => \"\"\n },\n specificMode: { type: Boolean, default: !1 },\n instance: { type: Number, default: 0 },\n month: { type: Number, default: 0 },\n year: { type: Number, default: 0 },\n ...Qe\n },\n emits: [\n \"select-date\",\n \"set-hover-date\",\n \"handle-scroll\",\n \"mount\",\n \"handle-swipe\",\n \"handle-space\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { buildMultiLevelMatrix: r } = Je(), { setDateMonthOrYear: d, defaults: g } = Ve(t), $ = W(null), B = W({ bottom: \"\", left: \"\", transform: \"\" }), R = W([]), U = W(null), S = W(!0), u = W(\"\"), T = W({ startX: 0, endX: 0, startY: 0, endY: 0 }), z = F(() => t.dayNames ? Array.isArray(t.dayNames) ? t.dayNames : t.dayNames(t.locale, +t.weekStart) : _l(t.locale, +t.weekStart));\n Fe(() => {\n a(\"mount\", { cmp: \"calendar\", refs: R }), t.noSwipe || U.value && (U.value.addEventListener(\"touchstart\", D, { passive: !1 }), U.value.addEventListener(\"touchend\", E, { passive: !1 }), U.value.addEventListener(\"touchmove\", G, { passive: !1 })), t.monthChangeOnScroll && U.value && U.value.addEventListener(\"wheel\", p, { passive: !1 });\n });\n const V = (s) => s ? t.vertical ? \"vNext\" : \"next\" : t.vertical ? \"vPrevious\" : \"previous\", J = (s, _) => {\n if (t.transitions) {\n const A = ze(d(w(), t.month, t.year));\n u.value = Oe(ze(d(w(), s, _)), A) ? g.value.transitions[V(!0)] : g.value.transitions[V(!1)], S.value = !1, $t(() => {\n S.value = !0;\n });\n }\n }, Y = F(\n () => ({\n dp__calendar_wrap: !0,\n [t.calendarClassName]: !!t.calendarClassName\n })\n ), L = F(() => (s) => {\n const _ = Cl(s);\n return {\n dp__marker_dot: _.type === \"dot\",\n dp__marker_line: _.type === \"line\"\n };\n }), P = F(() => (s) => pe(s, $.value)), x = F(() => ({\n dp__calendar: !0,\n dp__calendar_next: g.value.multiCalendars > 0 && t.instance !== 0\n })), Q = F(() => t.specificMode ? { height: `${t.modeHeight}px` } : void 0), ae = (s, _, A) => {\n var K, l;\n if (a(\"set-hover-date\", s), (l = (K = s.marker) == null ? void 0 : K.tooltip) != null && l.length) {\n const v = Ce(R.value[_][A]);\n if (v) {\n const { width: k, height: N } = v.getBoundingClientRect();\n B.value = {\n bottom: `${N}px`,\n left: `${k / 2}px`,\n transform: \"translateX(-50%)\"\n }, $.value = s.value;\n }\n }\n }, f = () => {\n $.value = null;\n }, D = (s) => {\n T.value.startX = s.changedTouches[0].screenX, T.value.startY = s.changedTouches[0].screenY;\n }, E = (s) => {\n T.value.endX = s.changedTouches[0].screenX, T.value.endY = s.changedTouches[0].screenY, O();\n }, G = (s) => {\n t.vertical && !t.inline && s.preventDefault();\n }, O = () => {\n const s = t.vertical ? \"Y\" : \"X\";\n Math.abs(T.value[`start${s}`] - T.value[`end${s}`]) > 10 && a(\"handle-swipe\", T.value[`start${s}`] > T.value[`end${s}`] ? \"right\" : \"left\");\n }, X = (s, _, A) => {\n s && (Array.isArray(R.value[_]) ? R.value[_][A] = s : R.value[_] = [s]), t.arrowNavigation && r(R.value, \"calendar\");\n }, p = (s) => {\n t.monthChangeOnScroll && (s.preventDefault(), a(\"handle-scroll\", s));\n };\n return n({ triggerTransition: J }), (s, _) => {\n var A;\n return h(), C(\"div\", {\n class: ye(i(x))\n }, [\n ee(\"div\", {\n style: ut(i(Q))\n }, [\n e.specificMode ? M(\"\", !0) : (h(), C(\"div\", {\n key: 0,\n ref_key: \"calendarWrapRef\",\n ref: U,\n class: ye(i(Y)),\n role: \"grid\",\n \"aria-label\": (A = i(g).ariaLabels) == null ? void 0 : A.calendarWrap\n }, [\n ee(\"div\", Ql, [\n s.weekNumbers ? (h(), C(\"div\", er, Se(s.weekNumName), 1)) : M(\"\", !0),\n (h(!0), C(ie, null, De(i(z), (K, l) => (h(), C(\"div\", {\n class: \"dp__calendar_header_item\",\n role: \"gridcell\",\n key: l,\n \"data-test\": \"calendar-header\"\n }, [\n s.$slots[\"calendar-header\"] ? H(s.$slots, \"calendar-header\", {\n key: 0,\n day: K,\n index: l\n }) : M(\"\", !0),\n s.$slots[\"calendar-header\"] ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(K), 1)\n ], 64))\n ]))), 128))\n ]),\n tr,\n qe(ft, {\n name: u.value,\n css: !!s.transitions\n }, {\n default: re(() => {\n var K;\n return [\n S.value ? (h(), C(\"div\", {\n key: 0,\n class: \"dp__calendar\",\n role: \"grid\",\n \"aria-label\": (K = i(g).ariaLabels) == null ? void 0 : K.calendarDays\n }, [\n (h(!0), C(ie, null, De(e.mappedDates, (l, v) => (h(), C(\"div\", {\n class: \"dp__calendar_row\",\n role: \"row\",\n key: v\n }, [\n s.weekNumbers ? (h(), C(\"div\", ar, [\n ee(\"div\", lr, Se(e.getWeekNum(l.days)), 1)\n ])) : M(\"\", !0),\n (h(!0), C(ie, null, De(l.days, (k, N) => {\n var ue, fe, y;\n return h(), C(\"div\", {\n role: \"gridcell\",\n class: \"dp__calendar_item\",\n ref_for: !0,\n ref: (c) => X(c, v, N),\n key: N + v,\n \"aria-selected\": k.classData.dp__active_date || k.classData.dp__range_start || k.classData.dp__range_start,\n \"aria-disabled\": k.classData.dp__cell_disabled,\n \"aria-label\": (fe = (ue = i(g).ariaLabels) == null ? void 0 : ue.day) == null ? void 0 : fe.call(ue, k),\n tabindex: \"0\",\n \"data-test\": k.value,\n onClick: Ge((c) => s.$emit(\"select-date\", k), [\"stop\", \"prevent\"]),\n onKeydown: [\n oe((c) => s.$emit(\"select-date\", k), [\"enter\"]),\n oe((c) => s.$emit(\"handle-space\", k), [\"space\"])\n ],\n onMouseover: (c) => ae(k, v, N),\n onMouseleave: f\n }, [\n ee(\"div\", {\n class: ye([\"dp__cell_inner\", k.classData])\n }, [\n s.$slots.day ? H(s.$slots, \"day\", {\n key: 0,\n day: +k.text,\n date: k.value\n }) : M(\"\", !0),\n s.$slots.day ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(k.text), 1)\n ], 64)),\n k.marker && (s.hideOffsetDates ? k.current : !0) ? (h(), C(\"div\", {\n key: 2,\n class: ye(i(L)(k.marker)),\n style: ut(k.marker.color ? { backgroundColor: k.marker.color } : {})\n }, null, 6)) : M(\"\", !0),\n i(P)(k.value) ? (h(), C(\"div\", {\n key: 3,\n class: \"dp__marker_tooltip\",\n style: ut(B.value)\n }, [\n (y = k.marker) != null && y.tooltip ? (h(), C(\"div\", {\n key: 0,\n class: \"dp__tooltip_content\",\n onClick: _[0] || (_[0] = Ge(() => {\n }, [\"stop\"]))\n }, [\n (h(!0), C(ie, null, De(k.marker.tooltip, (c, I) => (h(), C(\"div\", {\n key: I,\n class: \"dp__tooltip_text\"\n }, [\n s.$slots[\"marker-tooltip\"] ? H(s.$slots, \"marker-tooltip\", {\n key: 0,\n tooltop: c,\n day: k.value\n }) : M(\"\", !0),\n s.$slots[\"marker-tooltip\"] ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n ee(\"div\", {\n class: \"dp__tooltip_mark\",\n style: ut(c.color ? { backgroundColor: c.color } : {})\n }, null, 4),\n ee(\"div\", null, Se(c.text), 1)\n ], 64))\n ]))), 128)),\n or\n ])) : M(\"\", !0)\n ], 4)) : M(\"\", !0)\n ], 2)\n ], 40, rr);\n }), 128))\n ]))), 128))\n ], 8, nr)) : M(\"\", !0)\n ];\n }),\n _: 3\n }, 8, [\"name\", \"css\"])\n ], 10, Jl))\n ], 4)\n ], 2);\n };\n }\n}), ir = [\"aria-label\", \"aria-disabled\"], tn = /* @__PURE__ */ Ue({\n __name: \"ActionIcon\",\n props: {\n ariaLabel: { type: String, default: \"\" },\n disabled: { type: Boolean, default: !1 }\n },\n emits: [\"activate\", \"set-ref\"],\n setup(e, { emit: n }) {\n const a = W(null);\n return Fe(() => n(\"set-ref\", a)), (t, r) => (h(), C(\"div\", {\n class: \"dp__month_year_col_nav\",\n onClick: r[0] || (r[0] = (d) => t.$emit(\"activate\")),\n onKeydown: [\n r[1] || (r[1] = oe((d) => t.$emit(\"activate\"), [\"enter\"])),\n r[2] || (r[2] = oe((d) => t.$emit(\"activate\"), [\"space\"]))\n ],\n tabindex: \"0\",\n role: \"button\",\n \"aria-label\": e.ariaLabel,\n \"aria-disabled\": e.disabled,\n ref_key: \"elRef\",\n ref: a\n }, [\n ee(\"div\", {\n class: ye([\"dp__inner_nav\", { dp__inner_nav_disabled: e.disabled }])\n }, [\n H(t.$slots, \"default\")\n ], 2)\n ], 40, ir));\n }\n}), ur = [\"onKeydown\"], cr = { class: \"dp__selection_grid_header\" }, dr = [\"aria-selected\", \"aria-disabled\", \"data-test\", \"onClick\", \"onKeydown\", \"onMouseover\"], fr = [\"aria-label\", \"onKeydown\"], wt = /* @__PURE__ */ Ue({\n __name: \"SelectionGrid\",\n props: {\n items: { type: Array, default: () => [] },\n modelValue: { type: [String, Number], default: null },\n multiModelValue: { type: Array, default: () => [] },\n disabledValues: { type: Array, default: () => [] },\n minValue: { type: [Number, String], default: null },\n maxValue: { type: [Number, String], default: null },\n year: { type: Number, default: 0 },\n skipActive: { type: Boolean, default: !1 },\n headerRefs: { type: Array, default: () => [] },\n skipButtonRef: { type: Boolean, default: !1 },\n monthPicker: { type: Boolean, default: !1 },\n yearPicker: { type: Boolean, default: !1 },\n escClose: { type: Boolean, default: !0 },\n type: { type: String, default: null },\n arrowNavigation: { type: Boolean, default: !1 },\n autoApply: { type: Boolean, default: !1 },\n textInput: { type: Boolean, default: !1 },\n ariaLabels: { type: Object, default: () => ({}) },\n hideNavigation: { type: Array, default: () => [] }\n },\n emits: [\"update:model-value\", \"selected\", \"toggle\", \"reset-flow\"],\n setup(e, { expose: n, emit: a }) {\n const t = e, { setSelectionGrid: r, buildMultiLevelMatrix: d, setMonthPicker: g } = Je(), { hideNavigationButtons: $ } = Ve(t), B = W(!1), R = W(null), U = W(null), S = W([]), u = W(), T = W(null);\n qn(() => {\n R.value = null;\n }), Fe(() => {\n $t().then(() => f()), V(), z(!0);\n }), sn(() => z(!1));\n const z = (s) => {\n var _;\n t.arrowNavigation && ((_ = t.headerRefs) != null && _.length ? g(s) : r(s));\n }, V = () => {\n const s = Ce(U);\n s && (t.textInput || s.focus({ preventScroll: !0 }), B.value = s.clientHeight < s.scrollHeight);\n }, J = F(\n () => ({\n dp__overlay: !0\n })\n ), Y = F(() => ({\n dp__overlay_col: !0\n })), L = (s) => t.skipActive ? !1 : s.value === t.modelValue, P = F(() => t.items.map((s) => s.filter((_) => _).map((_) => {\n var l, v, k;\n const A = t.disabledValues.some((N) => N === _.value) || ae(_.value), K = (l = t.multiModelValue) != null && l.length ? (v = t.multiModelValue) == null ? void 0 : v.some(\n (N) => pe(\n N,\n rt(\n t.monthPicker ? Rt(new Date(), _.value) : new Date(),\n t.monthPicker ? t.year : _.value\n )\n )\n ) : L(_);\n return {\n ..._,\n className: {\n dp__overlay_cell_active: K,\n dp__overlay_cell: !K,\n dp__overlay_cell_disabled: A,\n dp__overlay_cell_active_disabled: A && K,\n dp__overlay_cell_pad: !0,\n dp__cell_in_between: (k = t.multiModelValue) != null && k.length ? E(_.value) : !1\n }\n };\n }))), x = F(\n () => ({\n dp__button: !0,\n dp__overlay_action: !0,\n dp__over_action_scroll: B.value,\n dp__button_bottom: t.autoApply\n })\n ), Q = F(() => {\n var s, _;\n return {\n dp__overlay_container: !0,\n dp__container_flex: ((s = t.items) == null ? void 0 : s.length) <= 6,\n dp__container_block: ((_ = t.items) == null ? void 0 : _.length) > 6\n };\n }), ae = (s) => {\n const _ = t.maxValue || t.maxValue === 0, A = t.minValue || t.minValue === 0;\n return !_ && !A ? !1 : _ && A ? +s > +t.maxValue || +s < +t.minValue : _ ? +s > +t.maxValue : A ? +s < +t.minValue : !1;\n }, f = () => {\n const s = Ce(R);\n if (s) {\n const _ = Ce(U);\n _ && (_.scrollTop = s.offsetTop - _.offsetTop - (_.getBoundingClientRect().height / 2 - s.getBoundingClientRect().height));\n }\n }, D = (s) => {\n !t.disabledValues.some((_) => _ === s) && !ae(s) && (a(\"update:model-value\", s), a(\"selected\"));\n }, E = (s) => {\n const _ = t.monthPicker ? t.year : s;\n return zn(\n t.multiModelValue,\n rt(\n t.monthPicker ? Rt(new Date(), u.value || 0) : new Date(),\n t.monthPicker ? _ : u.value || _\n ),\n rt(t.monthPicker ? Rt(new Date(), s) : new Date(), _)\n );\n }, G = () => {\n a(\"toggle\"), a(\"reset-flow\");\n }, O = () => {\n t.escClose && G();\n }, X = (s, _, A, K) => {\n s && (_.value === +t.modelValue && !t.disabledValues.includes(_.value) && (R.value = s), t.arrowNavigation && (Array.isArray(S.value[A]) ? S.value[A][K] = s : S.value[A] = [s], p()));\n }, p = () => {\n var _, A;\n const s = (_ = t.headerRefs) != null && _.length ? [t.headerRefs].concat(S.value) : S.value.concat([t.skipButtonRef ? [] : [T.value]]);\n d(Me(s), (A = t.headerRefs) != null && A.length ? \"monthPicker\" : \"selectionGrid\");\n };\n return n({ focusGrid: V }), (s, _) => {\n var A;\n return h(), C(\"div\", {\n ref_key: \"gridWrapRef\",\n ref: U,\n class: ye(i(J)),\n role: \"dialog\",\n tabindex: \"0\",\n onKeydown: oe(O, [\"esc\"])\n }, [\n ee(\"div\", {\n class: ye(i(Q)),\n role: \"grid\"\n }, [\n ee(\"div\", cr, [\n H(s.$slots, \"header\")\n ]),\n s.$slots.overlay ? H(s.$slots, \"overlay\", { key: 0 }) : (h(), C(ie, { key: 1 }, [\n (h(!0), C(ie, null, De(i(P), (K, l) => (h(), C(\"div\", {\n class: \"dp__overlay_row\",\n key: l,\n role: \"row\"\n }, [\n (h(!0), C(ie, null, De(K, (v, k) => (h(), C(\"div\", {\n role: \"gridcell\",\n class: ye(i(Y)),\n key: v.value,\n \"aria-selected\": v.value === e.modelValue && !e.disabledValues.includes(v.value),\n \"aria-disabled\": v.className.dp__overlay_cell_disabled,\n ref_for: !0,\n ref: (N) => X(N, v, l, k),\n tabindex: \"0\",\n \"data-test\": v.text,\n onClick: (N) => D(v.value),\n onKeydown: [\n oe((N) => D(v.value), [\"enter\"]),\n oe((N) => D(v.value), [\"space\"])\n ],\n onMouseover: (N) => u.value = v.value\n }, [\n ee(\"div\", {\n class: ye(v.className)\n }, [\n s.$slots.item ? H(s.$slots, \"item\", {\n key: 0,\n item: v\n }) : M(\"\", !0),\n s.$slots.item ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(v.text), 1)\n ], 64))\n ], 2)\n ], 42, dr))), 128))\n ]))), 128)),\n s.$slots[\"button-icon\"] ? St((h(), C(\"div\", {\n key: 0,\n role: \"button\",\n \"aria-label\": (A = e.ariaLabels) == null ? void 0 : A.toggleOverlay,\n class: ye(i(x)),\n tabindex: \"0\",\n ref_key: \"toggleButton\",\n ref: T,\n onClick: G,\n onKeydown: oe(G, [\"enter\"])\n }, [\n H(s.$slots, \"button-icon\")\n ], 42, fr)), [\n [Ct, !i($)(e.type)]\n ]) : M(\"\", !0)\n ], 64))\n ], 2)\n ], 42, ur);\n };\n }\n}), vr = [\"aria-label\"], Bn = /* @__PURE__ */ Ue({\n __name: \"RegularPicker\",\n props: {\n ariaLabel: { type: String, default: \"\" },\n showSelectionGrid: { type: Boolean, default: !1 },\n modelValue: { type: Number, default: null },\n items: { type: Array, default: () => [] },\n disabledValues: { type: Array, default: () => [] },\n minValue: { type: Number, default: null },\n maxValue: { type: Number, default: null },\n slotName: { type: String, default: \"\" },\n overlaySlot: { type: String, default: \"\" },\n headerRefs: { type: Array, default: () => [] },\n escClose: { type: Boolean, default: !0 },\n type: { type: String, default: null },\n transitions: { type: [Object, Boolean], default: !1 },\n arrowNavigation: { type: Boolean, default: !1 },\n autoApply: { type: Boolean, default: !1 },\n textInput: { type: Boolean, default: !1 },\n ariaLabels: { type: Object, default: () => ({}) },\n hideNavigation: { type: Array, default: () => [] }\n },\n emits: [\"update:model-value\", \"toggle\", \"set-ref\"],\n setup(e, { emit: n }) {\n const a = e, { transitionName: t, showTransition: r } = Ft(a.transitions), d = W(null);\n return Fe(() => n(\"set-ref\", d)), (g, $) => (h(), C(ie, null, [\n ee(\"div\", {\n class: \"dp__month_year_select\",\n onClick: $[0] || ($[0] = (B) => g.$emit(\"toggle\")),\n onKeydown: [\n $[1] || ($[1] = oe((B) => g.$emit(\"toggle\"), [\"enter\"])),\n $[2] || ($[2] = oe((B) => g.$emit(\"toggle\"), [\"space\"]))\n ],\n role: \"button\",\n \"aria-label\": e.ariaLabel,\n tabindex: \"0\",\n ref_key: \"elRef\",\n ref: d\n }, [\n H(g.$slots, \"default\")\n ], 40, vr),\n qe(ft, {\n name: i(t)(e.showSelectionGrid),\n css: i(r)\n }, {\n default: re(() => [\n e.showSelectionGrid ? (h(), ce(wt, Te({ key: 0 }, {\n modelValue: e.modelValue,\n items: e.items,\n disabledValues: e.disabledValues,\n minValue: e.minValue,\n maxValue: e.maxValue,\n escClose: e.escClose,\n type: e.type,\n arrowNavigation: e.arrowNavigation,\n textInput: e.textInput,\n autoApply: e.autoApply,\n ariaLabels: e.ariaLabels,\n hideNavigation: e.hideNavigation\n }, {\n \"header-refs\": [],\n \"onUpdate:modelValue\": $[3] || ($[3] = (B) => g.$emit(\"update:model-value\", B)),\n onToggle: $[4] || ($[4] = (B) => g.$emit(\"toggle\"))\n }), Be({\n \"button-icon\": re(() => [\n g.$slots[\"calendar-icon\"] ? H(g.$slots, \"calendar-icon\", { key: 0 }) : M(\"\", !0),\n g.$slots[\"calendar-icon\"] ? M(\"\", !0) : (h(), ce(i(Et), { key: 1 }))\n ]),\n _: 2\n }, [\n g.$slots[e.slotName] ? {\n name: \"item\",\n fn: re(({ item: B }) => [\n H(g.$slots, e.slotName, { item: B })\n ]),\n key: \"0\"\n } : void 0,\n g.$slots[e.overlaySlot] ? {\n name: \"overlay\",\n fn: re(() => [\n H(g.$slots, e.overlaySlot)\n ]),\n key: \"1\"\n } : void 0,\n g.$slots[`${e.overlaySlot}-header`] ? {\n name: \"header\",\n fn: re(() => [\n H(g.$slots, `${e.overlaySlot}-header`)\n ]),\n key: \"2\"\n } : void 0\n ]), 1040)) : M(\"\", !0)\n ]),\n _: 3\n }, 8, [\"name\", \"css\"])\n ], 64));\n }\n}), mr = { class: \"dp__month_year_row\" }, yr = { class: \"dp__month_year_wrap\" }, hr = { class: \"dp__month_picker_header\" }, gr = [\"aria-label\"], pr = [\"aria-label\"], kr = [\"aria-label\"], wr = /* @__PURE__ */ Ue({\n __name: \"MonthYearPicker\",\n props: {\n month: { type: Number, default: 0 },\n year: { type: Number, default: 0 },\n instance: { type: Number, default: 0 },\n years: { type: Array, default: () => [] },\n months: { type: Array, default: () => [] },\n internalModelValue: { type: [Date, Array], default: null },\n ...Qe\n },\n emits: [\"update-month-year\", \"month-year-select\", \"mount\", \"reset-flow\", \"overlay-closed\"],\n setup(e, { expose: n, emit: a }) {\n const t = e, { defaults: r } = Ve(t), { transitionName: d, showTransition: g } = Ft(r.value.transitions), { buildMatrix: $ } = Je(), { handleMonthYearChange: B, isDisabled: R, updateMonthYear: U } = Ll(t, a), S = W(!1), u = W(!1), T = W([null, null, null, null]), z = W(null), V = W(null), J = W(null);\n Fe(() => {\n a(\"mount\");\n });\n const Y = (c) => ({\n get: () => t[c],\n set: (I) => {\n const ve = c === \"month\" ? \"year\" : \"month\";\n a(\"update-month-year\", { [c]: I, [ve]: t[ve] }), a(\"month-year-select\", c === \"year\"), c === \"month\" ? k(!0) : N(!0);\n }\n }), L = F(Y(\"month\")), P = F(Y(\"year\")), x = (c) => {\n const I = ge(w(c));\n return t.year === I;\n }, Q = F(() => t.monthPicker ? Array.isArray(t.disabledDates) ? t.disabledDates.map((c) => w(c)).filter((c) => x(c)).map((c) => he(c)) : [] : []), ae = F(() => (c) => {\n const I = c === \"month\";\n return {\n showSelectionGrid: (I ? S : u).value,\n items: (I ? A : K).value,\n disabledValues: r.value.filters[I ? \"months\" : \"years\"].concat(Q.value),\n minValue: (I ? G : D).value,\n maxValue: (I ? O : E).value,\n headerRefs: I && t.monthPicker ? [z.value, V.value, J.value] : [],\n escClose: t.escClose,\n transitions: r.value.transitions,\n ariaLabels: r.value.ariaLabels,\n textInput: t.textInput,\n autoApply: t.autoApply,\n arrowNavigation: t.arrowNavigation,\n hideNavigation: t.hideNavigation\n };\n }), f = F(() => (c) => ({\n month: t.month,\n year: t.year,\n items: c === \"month\" ? t.months : t.years,\n instance: t.instance,\n updateMonthYear: U,\n toggle: c === \"month\" ? k : N\n })), D = F(() => t.minDate ? ge(w(t.minDate)) : null), E = F(() => t.maxDate ? ge(w(t.maxDate)) : null), G = F(() => {\n if (t.minDate && D.value) {\n if (D.value > t.year)\n return 12;\n if (D.value === t.year)\n return he(w(t.minDate));\n }\n return null;\n }), O = F(() => t.maxDate && E.value ? E.value < t.year ? -1 : E.value === t.year ? he(w(t.maxDate)) : null : null), X = F(() => t.range && t.internalModelValue && (t.monthPicker || t.yearPicker) ? t.internalModelValue : []), p = (c) => c.reverse(), s = (c, I = !1) => {\n const ve = [], $e = (be) => I ? p(be) : be;\n for (let be = 0; be < c.length; be += 3) {\n const He = [c[be], c[be + 1], c[be + 2]];\n ve.push($e(He));\n }\n return I ? ve.reverse() : ve;\n }, _ = F(() => {\n const c = t.months.find((I) => I.value === t.month);\n return c || { text: \"\", value: 0 };\n }), A = F(() => s(t.months)), K = F(() => s(t.years, t.reverseYears)), l = F(() => r.value.multiCalendars ? t.multiCalendarsSolo ? !0 : t.instance === 0 : !0), v = F(() => r.value.multiCalendars ? t.multiCalendarsSolo ? !0 : t.instance === r.value.multiCalendars - 1 : !0), k = (c = !1) => {\n ue(c), S.value = !S.value, S.value || a(\"overlay-closed\");\n }, N = (c = !1) => {\n ue(c), u.value = !u.value, u.value || a(\"overlay-closed\");\n }, ue = (c) => {\n c || a(\"reset-flow\");\n }, fe = (c = !1) => {\n R.value(c) || a(\"update-month-year\", {\n year: c ? t.year + 1 : t.year - 1,\n month: t.month,\n fromNav: !0\n });\n }, y = (c, I) => {\n t.arrowNavigation && (T.value[I] = Ce(c), $(T.value, \"monthYear\"));\n };\n return n({\n toggleMonthPicker: k,\n toggleYearPicker: N\n }), (c, I) => {\n var ve, $e, be, He, Xe;\n return h(), C(\"div\", mr, [\n c.$slots[\"month-year\"] ? H(c.$slots, \"month-year\", Ye(Te({ key: 0 }, { month: e.month, year: e.year, months: e.months, years: e.years, updateMonthYear: i(U), handleMonthYearChange: i(B), instance: e.instance }))) : (h(), C(ie, { key: 1 }, [\n !c.monthPicker && !c.yearPicker ? (h(), C(ie, { key: 0 }, [\n i(l) && !c.vertical ? (h(), ce(tn, {\n key: 0,\n \"aria-label\": (ve = i(r).ariaLabels) == null ? void 0 : ve.prevMonth,\n disabled: i(R)(!1),\n onActivate: I[0] || (I[0] = (te) => i(B)(!1)),\n onSetRef: I[1] || (I[1] = (te) => y(te, 0))\n }, {\n default: re(() => [\n c.$slots[\"arrow-left\"] ? H(c.$slots, \"arrow-left\", { key: 0 }) : M(\"\", !0),\n c.$slots[\"arrow-left\"] ? M(\"\", !0) : (h(), ce(i(wn), { key: 1 }))\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : M(\"\", !0),\n ee(\"div\", yr, [\n qe(Bn, Te({\n type: \"month\",\n \"slot-name\": \"month-overlay-val\",\n \"overlay-slot\": \"overlay-month\",\n \"aria-label\": ($e = i(r).ariaLabels) == null ? void 0 : $e.openMonthsOverlay,\n modelValue: i(L),\n \"onUpdate:modelValue\": I[2] || (I[2] = (te) => nt(L) ? L.value = te : null)\n }, i(ae)(\"month\"), {\n onToggle: k,\n onSetRef: I[3] || (I[3] = (te) => y(te, 1))\n }), Be({\n default: re(() => [\n c.$slots.month ? H(c.$slots, \"month\", Ye(Te({ key: 0 }, i(_)))) : M(\"\", !0),\n c.$slots.month ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(i(_).text), 1)\n ], 64))\n ]),\n _: 2\n }, [\n c.$slots[\"calendar-icon\"] ? {\n name: \"calendar-icon\",\n fn: re(() => [\n H(c.$slots, \"calendar-icon\")\n ]),\n key: \"0\"\n } : void 0,\n c.$slots[\"month-overlay-value\"] ? {\n name: \"month-overlay-val\",\n fn: re(({ item: te }) => [\n H(c.$slots, \"month-overlay-value\", {\n text: te.text,\n value: te.value\n })\n ]),\n key: \"1\"\n } : void 0,\n c.$slots[\"month-overlay\"] ? {\n name: \"overlay-month\",\n fn: re(() => [\n H(c.$slots, \"month-overlay\", Ye(Ze(i(f)(\"month\"))))\n ]),\n key: \"2\"\n } : void 0,\n c.$slots[\"month-overlay-header\"] ? {\n name: \"overlay-month-header\",\n fn: re(() => [\n H(c.$slots, \"month-overlay-header\", { toggle: k })\n ]),\n key: \"3\"\n } : void 0\n ]), 1040, [\"aria-label\", \"modelValue\"]),\n qe(Bn, Te({\n type: \"year\",\n \"slot-name\": \"year-overlay-val\",\n \"overlay-slot\": \"overlay-year\",\n \"aria-label\": (be = i(r).ariaLabels) == null ? void 0 : be.openYearsOverlay,\n modelValue: i(P),\n \"onUpdate:modelValue\": I[4] || (I[4] = (te) => nt(P) ? P.value = te : null)\n }, i(ae)(\"year\"), {\n onToggle: N,\n onSetRef: I[5] || (I[5] = (te) => y(te, 2))\n }), Be({\n default: re(() => [\n c.$slots.year ? H(c.$slots, \"year\", {\n key: 0,\n year: e.year\n }) : M(\"\", !0),\n c.$slots.year ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(e.year), 1)\n ], 64))\n ]),\n _: 2\n }, [\n c.$slots[\"calendar-icon\"] ? {\n name: \"calendar-icon\",\n fn: re(() => [\n H(c.$slots, \"calendar-icon\")\n ]),\n key: \"0\"\n } : void 0,\n c.$slots[\"year-overlay-value\"] ? {\n name: \"year-overlay-val\",\n fn: re(({ item: te }) => [\n H(c.$slots, \"year-overlay-value\", {\n text: te.text,\n value: te.value\n })\n ]),\n key: \"1\"\n } : void 0,\n c.$slots[\"year-overlay\"] ? {\n name: \"overlay-year\",\n fn: re(() => [\n H(c.$slots, \"year-overlay\", Ye(Ze(i(f)(\"year\"))))\n ]),\n key: \"2\"\n } : void 0,\n c.$slots[\"year-overlay-header\"] ? {\n name: \"overlay-year-header\",\n fn: re(() => [\n H(c.$slots, \"year-overlay-header\", { toggle: N })\n ]),\n key: \"3\"\n } : void 0\n ]), 1040, [\"aria-label\", \"modelValue\"])\n ]),\n i(l) && c.vertical ? (h(), ce(tn, {\n key: 1,\n \"aria-label\": (He = i(r).ariaLabels) == null ? void 0 : He.prevMonth,\n disabled: i(R)(!1),\n onActivate: I[6] || (I[6] = (te) => i(B)(!1))\n }, {\n default: re(() => [\n c.$slots[\"arrow-up\"] ? H(c.$slots, \"arrow-up\", { key: 0 }) : M(\"\", !0),\n c.$slots[\"arrow-up\"] ? M(\"\", !0) : (h(), ce(i(Hn), { key: 1 }))\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : M(\"\", !0),\n i(v) ? (h(), ce(tn, {\n key: 2,\n ref: \"rightIcon\",\n disabled: i(R)(!0),\n \"aria-label\": (Xe = i(r).ariaLabels) == null ? void 0 : Xe.nextMonth,\n onActivate: I[7] || (I[7] = (te) => i(B)(!0)),\n onSetRef: I[8] || (I[8] = (te) => y(te, 3))\n }, {\n default: re(() => [\n c.$slots[c.vertical ? \"arrow-down\" : \"arrow-right\"] ? H(c.$slots, c.vertical ? \"arrow-down\" : \"arrow-right\", { key: 0 }) : M(\"\", !0),\n c.$slots[c.vertical ? \"arrow-down\" : \"arrow-right\"] ? M(\"\", !0) : (h(), ce(Pt(c.vertical ? i(Wn) : i(bn)), { key: 1 }))\n ]),\n _: 3\n }, 8, [\"disabled\", \"aria-label\"])) : M(\"\", !0)\n ], 64)) : M(\"\", !0),\n c.monthPicker ? (h(), ce(wt, Te({ key: 1 }, i(ae)(\"month\"), {\n \"skip-active\": c.range,\n year: e.year,\n \"multi-model-value\": i(X),\n \"month-picker\": \"\",\n modelValue: i(L),\n \"onUpdate:modelValue\": I[17] || (I[17] = (te) => nt(L) ? L.value = te : null),\n onToggle: k,\n onSelected: I[18] || (I[18] = (te) => c.$emit(\"overlay-closed\"))\n }), Be({\n header: re(() => {\n var te, le, ke;\n return [\n ee(\"div\", hr, [\n ee(\"div\", {\n class: \"dp__month_year_col_nav\",\n tabindex: \"0\",\n ref_key: \"mpPrevIconRef\",\n ref: z,\n onClick: I[9] || (I[9] = (de) => fe(!1)),\n onKeydown: I[10] || (I[10] = oe((de) => fe(!1), [\"enter\"]))\n }, [\n ee(\"div\", {\n class: ye([\"dp__inner_nav\", { dp__inner_nav_disabled: i(R)(!1) }]),\n role: \"button\",\n \"aria-label\": (te = i(r).ariaLabels) == null ? void 0 : te.prevMonth\n }, [\n c.$slots[\"arrow-left\"] ? H(c.$slots, \"arrow-left\", { key: 0 }) : M(\"\", !0),\n c.$slots[\"arrow-left\"] ? M(\"\", !0) : (h(), ce(i(wn), { key: 1 }))\n ], 10, gr)\n ], 544),\n ee(\"div\", {\n class: \"dp__pointer\",\n role: \"button\",\n ref_key: \"mpYearButtonRef\",\n ref: V,\n \"aria-label\": (le = i(r).ariaLabels) == null ? void 0 : le.openYearsOverlay,\n tabindex: \"0\",\n onClick: I[11] || (I[11] = () => N(!1)),\n onKeydown: I[12] || (I[12] = oe(() => N(!1), [\"enter\"]))\n }, [\n c.$slots.year ? H(c.$slots, \"year\", {\n key: 0,\n year: e.year\n }) : M(\"\", !0),\n c.$slots.year ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(e.year), 1)\n ], 64))\n ], 40, pr),\n ee(\"div\", {\n class: \"dp__month_year_col_nav\",\n tabindex: \"0\",\n ref_key: \"mpNextIconRef\",\n ref: J,\n onClick: I[13] || (I[13] = (de) => fe(!0)),\n onKeydown: I[14] || (I[14] = oe((de) => fe(!0), [\"enter\"]))\n }, [\n ee(\"div\", {\n class: ye([\"dp__inner_nav\", { dp__inner_nav_disabled: i(R)(!0) }]),\n role: \"button\",\n \"aria-label\": (ke = i(r).ariaLabels) == null ? void 0 : ke.nextMonth\n }, [\n c.$slots[\"arrow-right\"] ? H(c.$slots, \"arrow-right\", { key: 0 }) : M(\"\", !0),\n c.$slots[\"arrow-right\"] ? M(\"\", !0) : (h(), ce(i(bn), { key: 1 }))\n ], 10, kr)\n ], 544)\n ]),\n qe(ft, {\n name: i(d)(u.value),\n css: i(g)\n }, {\n default: re(() => [\n u.value ? (h(), ce(wt, Te({ key: 0 }, i(ae)(\"year\"), {\n modelValue: i(P),\n \"onUpdate:modelValue\": I[15] || (I[15] = (de) => nt(P) ? P.value = de : null),\n onToggle: N,\n onSelected: I[16] || (I[16] = (de) => c.$emit(\"overlay-closed\"))\n }), Be({\n \"button-icon\": re(() => [\n c.$slots[\"calendar-icon\"] ? H(c.$slots, \"calendar-icon\", { key: 0 }) : M(\"\", !0),\n c.$slots[\"calendar-icon\"] ? M(\"\", !0) : (h(), ce(i(Et), { key: 1 }))\n ]),\n _: 2\n }, [\n c.$slots[\"year-overlay-value\"] ? {\n name: \"item\",\n fn: re(({ item: de }) => [\n H(c.$slots, \"year-overlay-value\", {\n text: de.text,\n value: de.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"modelValue\"])) : M(\"\", !0)\n ]),\n _: 3\n }, 8, [\"name\", \"css\"])\n ];\n }),\n _: 2\n }, [\n c.$slots[\"month-overlay-value\"] ? {\n name: \"item\",\n fn: re(({ item: te }) => [\n H(c.$slots, \"month-overlay-value\", {\n text: te.text,\n value: te.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"skip-active\", \"year\", \"multi-model-value\", \"modelValue\"])) : M(\"\", !0),\n c.yearPicker ? (h(), ce(wt, Te({ key: 2 }, i(ae)(\"year\"), {\n modelValue: i(P),\n \"onUpdate:modelValue\": I[19] || (I[19] = (te) => nt(P) ? P.value = te : null),\n \"multi-model-value\": i(X),\n \"skip-active\": c.range,\n \"skip-button-ref\": \"\",\n \"year-picker\": \"\",\n onToggle: N,\n onSelected: I[20] || (I[20] = (te) => c.$emit(\"overlay-closed\"))\n }), Be({ _: 2 }, [\n c.$slots[\"year-overlay-value\"] ? {\n name: \"item\",\n fn: re(({ item: te }) => [\n H(c.$slots, \"year-overlay-value\", {\n text: te.text,\n value: te.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"modelValue\", \"multi-model-value\", \"skip-active\"])) : M(\"\", !0)\n ], 64))\n ]);\n };\n }\n}), br = {\n key: 0,\n class: \"dp__time_input\"\n}, $r = [\"aria-label\", \"onKeydown\", \"onClick\"], Dr = [\"aria-label\", \"onKeydown\", \"onClick\"], Mr = [\"aria-label\", \"onKeydown\", \"onClick\"], _r = { key: 0 }, Ar = [\"aria-label\", \"onKeydown\"], Tr = /* @__PURE__ */ Ue({\n __name: \"TimeInput\",\n props: {\n hours: { type: Number, default: 0 },\n minutes: { type: Number, default: 0 },\n seconds: { type: Number, default: 0 },\n closeTimePickerBtn: { type: Object, default: null },\n order: { type: Number, default: 0 },\n ...Qe\n },\n emits: [\n \"set-hours\",\n \"set-minutes\",\n \"update:hours\",\n \"update:minutes\",\n \"update:seconds\",\n \"reset-flow\",\n \"mounted\",\n \"overlay-closed\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { setTimePickerElements: r, setTimePickerBackRef: d } = Je(), { defaults: g } = Ve(t), { transitionName: $, showTransition: B } = Ft(g.value.transitions), R = bt({\n hours: !1,\n minutes: !1,\n seconds: !1\n }), U = W(\"AM\"), S = W(null), u = W([]);\n Fe(() => {\n a(\"mounted\");\n });\n const T = (p, s) => Fn(Re(w(), p), s), z = (p, s) => ua(Re(w(), p), s), V = F(\n () => ({\n dp__time_col: !0,\n dp__time_col_reg: !t.enableSeconds && t.is24,\n dp__time_col_reg_with_button: !t.enableSeconds && !t.is24,\n dp__time_col_sec: t.enableSeconds && t.is24,\n dp__time_col_sec_with_button: t.enableSeconds && !t.is24\n })\n ), J = F(() => {\n const p = [{ type: \"hours\" }, { type: \"\", separator: !0 }, { type: \"minutes\" }];\n return t.enableSeconds ? p.concat([{ type: \"\", separator: !0 }, { type: \"seconds\" }]) : p;\n }), Y = F(() => J.value.filter((p) => !p.separator)), L = F(() => (p) => {\n if (p === \"hours\") {\n const s = D(t.hours);\n return { text: s < 10 ? `0${s}` : `${s}`, value: s };\n }\n return { text: t[p] < 10 ? `0${t[p]}` : `${t[p]}`, value: t[p] };\n }), P = (p) => {\n const s = t.is24 ? 24 : 12, _ = p === \"hours\" ? s : 60, A = +t[`${p}GridIncrement`], K = p === \"hours\" && !t.is24 ? A : 0, l = [];\n for (let v = K; v < _; v += A)\n l.push({ value: v, text: v < 10 ? `0${v}` : `${v}` });\n return p === \"hours\" && !t.is24 && l.push({ value: 0, text: \"12\" }), Ml(l);\n }, x = (p) => t[`no${p[0].toUpperCase() + p.slice(1)}Overlay`], Q = (p) => {\n x(p) || (R[p] = !R[p], R[p] || a(\"overlay-closed\"));\n }, ae = (p) => p === \"hours\" ? Ke : p === \"minutes\" ? xe : dt, f = (p, s = !0) => {\n const _ = s ? T : z;\n a(\n `update:${p}`,\n ae(p)(_({ [p]: +t[p] }, { [p]: +t[`${p}Increment`] }))\n );\n }, D = (p) => t.is24 ? p : (p >= 12 ? U.value = \"PM\" : U.value = \"AM\", Sl(p)), E = () => {\n U.value === \"PM\" ? (U.value = \"AM\", a(\"update:hours\", t.hours - 12)) : (U.value = \"PM\", a(\"update:hours\", t.hours + 12));\n }, G = (p) => {\n R[p] = !0;\n }, O = (p, s, _) => {\n if (p && t.arrowNavigation) {\n Array.isArray(u.value[s]) ? u.value[s][_] = p : u.value[s] = [p];\n const A = u.value.reduce(\n (K, l) => l.map((v, k) => [...K[k] || [], l[k]]),\n []\n );\n d(t.closeTimePickerBtn), S.value && (A[1] = A[1].concat(S.value)), r(A, t.order);\n }\n }, X = (p, s) => p === \"hours\" && !t.is24 ? a(`update:${p}`, U.value === \"PM\" ? s + 12 : s) : a(`update:${p}`, s);\n return n({ openChildCmp: G }), (p, s) => {\n var _;\n return p.disabled ? M(\"\", !0) : (h(), C(\"div\", br, [\n (h(!0), C(ie, null, De(i(J), (A, K) => {\n var l, v, k;\n return h(), C(\"div\", {\n key: K,\n class: ye(i(V))\n }, [\n A.separator ? (h(), C(ie, { key: 0 }, [\n We(\" : \")\n ], 64)) : (h(), C(ie, { key: 1 }, [\n ee(\"div\", {\n class: \"dp__inc_dec_button\",\n role: \"button\",\n \"aria-label\": (l = i(g).ariaLabels) == null ? void 0 : l.incrementValue(A.type),\n tabindex: \"0\",\n onKeydown: [\n oe((N) => f(A.type), [\"enter\"]),\n oe((N) => f(A.type), [\"space\"])\n ],\n onClick: (N) => f(A.type),\n ref_for: !0,\n ref: (N) => O(N, K, 0)\n }, [\n p.$slots[\"arrow-up\"] ? H(p.$slots, \"arrow-up\", { key: 0 }) : M(\"\", !0),\n p.$slots[\"arrow-up\"] ? M(\"\", !0) : (h(), ce(i(Hn), { key: 1 }))\n ], 40, $r),\n ee(\"div\", {\n role: \"button\",\n \"aria-label\": (v = i(g).ariaLabels) == null ? void 0 : v.openTpOverlay(A.type),\n class: ye(x(A.type) ? \"\" : \"dp__time_display\"),\n tabindex: \"0\",\n onKeydown: [\n oe((N) => Q(A.type), [\"enter\"]),\n oe((N) => Q(A.type), [\"space\"])\n ],\n onClick: (N) => Q(A.type),\n ref_for: !0,\n ref: (N) => O(N, K, 1)\n }, [\n p.$slots[A.type] ? H(p.$slots, A.type, {\n key: 0,\n text: i(L)(A.type).text,\n value: i(L)(A.type).value\n }) : M(\"\", !0),\n p.$slots[A.type] ? M(\"\", !0) : (h(), C(ie, { key: 1 }, [\n We(Se(i(L)(A.type).text), 1)\n ], 64))\n ], 42, Dr),\n ee(\"div\", {\n class: \"dp__inc_dec_button\",\n role: \"button\",\n \"aria-label\": (k = i(g).ariaLabels) == null ? void 0 : k.decrementValue(A.type),\n tabindex: \"0\",\n onKeydown: [\n oe((N) => f(A.type, !1), [\"enter\"]),\n oe((N) => f(A.type, !1), [\"space\"])\n ],\n onClick: (N) => f(A.type, !1),\n ref_for: !0,\n ref: (N) => O(N, K, 2)\n }, [\n p.$slots[\"arrow-down\"] ? H(p.$slots, \"arrow-down\", { key: 0 }) : M(\"\", !0),\n p.$slots[\"arrow-down\"] ? M(\"\", !0) : (h(), ce(i(Wn), { key: 1 }))\n ], 40, Mr)\n ], 64))\n ], 2);\n }), 128)),\n p.is24 ? M(\"\", !0) : (h(), C(\"div\", _r, [\n p.$slots[\"am-pm-button\"] ? H(p.$slots, \"am-pm-button\", {\n key: 0,\n toggle: E,\n value: U.value\n }) : M(\"\", !0),\n p.$slots[\"am-pm-button\"] ? M(\"\", !0) : (h(), C(\"button\", {\n key: 1,\n ref_key: \"amPmButton\",\n ref: S,\n type: \"button\",\n class: \"dp__pm_am_button\",\n role: \"button\",\n \"aria-label\": (_ = i(g).ariaLabels) == null ? void 0 : _.amPmButton,\n tabindex: \"0\",\n onClick: E,\n onKeydown: [\n oe(Ge(E, [\"prevent\"]), [\"enter\"]),\n oe(Ge(E, [\"prevent\"]), [\"space\"])\n ]\n }, Se(U.value), 41, Ar))\n ])),\n (h(!0), C(ie, null, De(i(Y), (A, K) => (h(), ce(ft, {\n key: K,\n name: i($)(R[A.type]),\n css: i(B)\n }, {\n default: re(() => [\n R[A.type] ? (h(), ce(wt, {\n key: 0,\n items: P(A.type),\n \"disabled-values\": i(g).filters.times[A.type],\n \"esc-close\": p.escClose,\n \"aria-labels\": i(g).ariaLabels,\n \"hide-navigation\": p.hideNavigation,\n \"onUpdate:modelValue\": (l) => X(A.type, l),\n onSelected: (l) => Q(A.type),\n onToggle: (l) => Q(A.type),\n onResetFlow: s[0] || (s[0] = (l) => p.$emit(\"reset-flow\")),\n type: A.type\n }, Be({\n \"button-icon\": re(() => [\n p.$slots[\"clock-icon\"] ? H(p.$slots, \"clock-icon\", { key: 0 }) : M(\"\", !0),\n p.$slots[\"clock-icon\"] ? M(\"\", !0) : (h(), ce(i(Un), { key: 1 }))\n ]),\n _: 2\n }, [\n p.$slots[`${A.type}-overlay-value`] ? {\n name: \"item\",\n fn: re(({ item: l }) => [\n H(p.$slots, `${A.type}-overlay-value`, {\n text: l.text,\n value: l.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"items\", \"disabled-values\", \"esc-close\", \"aria-labels\", \"hide-navigation\", \"onUpdate:modelValue\", \"onSelected\", \"onToggle\", \"type\"])) : M(\"\", !0)\n ]),\n _: 2\n }, 1032, [\"name\", \"css\"]))), 128))\n ]));\n };\n }\n}), Sr = [\"aria-label\"], Cr = { class: \"dp__overlay_container dp__container_flex\" }, Pr = {\n key: 1,\n class: \"dp__overlay_row\"\n}, Nr = [\"aria-label\"], Rr = /* @__PURE__ */ Ue({\n __name: \"TimePicker\",\n props: {\n hours: { type: [Number, Array], default: 0 },\n minutes: { type: [Number, Array], default: 0 },\n seconds: { type: [Number, Array], default: 0 },\n internalModelValue: { type: [Date, Array], default: null },\n ...Qe\n },\n emits: [\n \"update:hours\",\n \"update:minutes\",\n \"update:seconds\",\n \"mount\",\n \"reset-flow\",\n \"overlay-closed\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { buildMatrix: r, setTimePicker: d } = Je(), g = un(), { hideNavigationButtons: $, defaults: B } = Ve(t), { transitionName: R, showTransition: U } = Ft(B.value.transitions), S = W(null), u = W(null), T = W([]), z = W(null);\n Fe(() => {\n a(\"mount\"), !t.timePicker && t.arrowNavigation ? r([Ce(S.value)], \"time\") : d(!0, t.timePicker);\n });\n const V = F(() => t.range && t.modelAuto ? Gn(t.internalModelValue) : !0), J = W(!1), Y = (O) => ({\n hours: Array.isArray(t.hours) ? t.hours[O] : t.hours,\n minutes: Array.isArray(t.minutes) ? t.minutes[O] : t.minutes,\n seconds: Array.isArray(t.seconds) ? t.seconds[O] : t.seconds\n }), L = F(() => {\n const O = [];\n if (t.range)\n for (let X = 0; X < 2; X++)\n O.push(Y(X));\n else\n O.push(Y(0));\n return O;\n }), P = (O, X = !1, p = \"\") => {\n X || a(\"reset-flow\"), J.value = O, t.arrowNavigation && (d(O), O || a(\"overlay-closed\")), $t(() => {\n p !== \"\" && T.value[0] && T.value[0].openChildCmp(p);\n });\n }, x = F(() => ({\n dp__button: !0,\n dp__button_bottom: t.autoApply\n })), Q = lt(g, \"timePicker\"), ae = (O, X, p) => t.range ? X === 0 ? [O, L.value[1][p]] : [L.value[0][p], O] : O, f = (O) => {\n a(\"update:hours\", O);\n }, D = (O) => {\n a(\"update:minutes\", O);\n }, E = (O) => {\n a(\"update:seconds\", O);\n }, G = () => {\n z.value && t.arrowNavigation && z.value.focus({ preventScroll: !0 });\n };\n return n({ toggleTimePicker: P }), (O, X) => {\n var p;\n return h(), C(\"div\", null, [\n O.timePicker ? M(\"\", !0) : St((h(), C(\"div\", {\n key: 0,\n class: ye(i(x)),\n role: \"button\",\n \"aria-label\": (p = i(B).ariaLabels) == null ? void 0 : p.openTimePicker,\n tabindex: \"0\",\n ref_key: \"openTimePickerBtn\",\n ref: S,\n onKeydown: [\n X[0] || (X[0] = oe((s) => P(!0), [\"enter\"])),\n X[1] || (X[1] = oe((s) => P(!0), [\"space\"]))\n ],\n onClick: X[2] || (X[2] = (s) => P(!0))\n }, [\n O.$slots[\"clock-icon\"] ? H(O.$slots, \"clock-icon\", { key: 0 }) : M(\"\", !0),\n O.$slots[\"clock-icon\"] ? M(\"\", !0) : (h(), ce(i(Un), { key: 1 }))\n ], 42, Sr)), [\n [Ct, !i($)(\"time\")]\n ]),\n qe(ft, {\n name: i(R)(J.value),\n css: i(U)\n }, {\n default: re(() => {\n var s;\n return [\n J.value || O.timePicker ? (h(), C(\"div\", {\n key: 0,\n class: \"dp__overlay\",\n ref_key: \"overlayRef\",\n ref: z,\n tabindex: \"0\"\n }, [\n ee(\"div\", Cr, [\n O.$slots[\"time-picker-overlay\"] ? H(O.$slots, \"time-picker-overlay\", {\n key: 0,\n hours: e.hours,\n minutes: e.minutes,\n seconds: e.seconds,\n setHours: f,\n setMinutes: D,\n setSeconds: E\n }) : M(\"\", !0),\n O.$slots[\"time-picker-overlay\"] ? M(\"\", !0) : (h(), C(\"div\", Pr, [\n (h(!0), C(ie, null, De(i(L), (_, A) => St((h(), ce(Tr, Te({ key: A }, {\n ...O.$props,\n order: A,\n hours: _.hours,\n minutes: _.minutes,\n seconds: _.seconds,\n closeTimePickerBtn: u.value,\n disabled: A === 0 ? O.fixedStart : O.fixedEnd\n }, {\n ref_for: !0,\n ref_key: \"timeInputRefs\",\n ref: T,\n \"onUpdate:hours\": (K) => f(ae(K, A, \"hours\")),\n \"onUpdate:minutes\": (K) => D(ae(K, A, \"minutes\")),\n \"onUpdate:seconds\": (K) => E(ae(K, A, \"seconds\")),\n onMounted: G,\n onOverlayClosed: G\n }), Be({ _: 2 }, [\n De(i(Q), (K, l) => ({\n name: K,\n fn: re((v) => [\n H(O.$slots, K, Ye(Ze(v)))\n ])\n }))\n ]), 1040, [\"onUpdate:hours\", \"onUpdate:minutes\", \"onUpdate:seconds\"])), [\n [Ct, A === 0 ? !0 : i(V)]\n ])), 128))\n ])),\n O.timePicker ? M(\"\", !0) : St((h(), C(\"div\", {\n key: 2,\n ref_key: \"closeTimePickerBtn\",\n ref: u,\n class: ye(i(x)),\n role: \"button\",\n \"aria-label\": (s = i(B).ariaLabels) == null ? void 0 : s.closeTimePicker,\n tabindex: \"0\",\n onKeydown: [\n X[3] || (X[3] = oe((_) => P(!1), [\"enter\"])),\n X[4] || (X[4] = oe((_) => P(!1), [\"space\"]))\n ],\n onClick: X[5] || (X[5] = (_) => P(!1))\n }, [\n O.$slots[\"calendar-icon\"] ? H(O.$slots, \"calendar-icon\", { key: 0 }) : M(\"\", !0),\n O.$slots[\"calendar-icon\"] ? M(\"\", !0) : (h(), ce(i(Et), { key: 1 }))\n ], 42, Nr)), [\n [Ct, !i($)(\"time\")]\n ])\n ])\n ], 512)) : M(\"\", !0)\n ];\n }),\n _: 3\n }, 8, [\"name\", \"css\"])\n ]);\n };\n }\n}), Ir = (e, n) => {\n const { isDisabled: a, matchDate: t, getWeekFromDate: r } = Ve(n), d = W(null), g = W(w()), $ = (l) => {\n !l.current && n.hideOffsetDates || (d.value = l.value);\n }, B = () => {\n d.value = null;\n }, R = (l) => Array.isArray(e.value) && n.range && e.value[0] && d.value ? l ? Oe(d.value, e.value[0]) : Pe(d.value, e.value[0]) : !0, U = (l, v) => {\n const k = () => e.value ? v ? e.value[0] || null : e.value[1] : null, N = e.value && Array.isArray(e.value) ? k() : null;\n return pe(w(l.value), N);\n }, S = (l) => {\n const v = Array.isArray(e.value) ? e.value[0] : null;\n return l ? !Pe(d.value || null, v) : !0;\n }, u = (l, v = !0) => (n.range || n.weekPicker) && Array.isArray(e.value) ? n.hideOffsetDates && !l.current ? !1 : pe(w(l.value), e.value[v ? 0 : 1]) : n.range ? U(l, v) && S(v) || pe(l.value, Array.isArray(e.value) ? e.value[0] : null) && R(v) : !1, T = (l, v, k) => Array.isArray(e.value) && e.value[0] && e.value.length === 1 ? l ? !1 : k ? Oe(e.value[0], v.value) : Pe(e.value[0], v.value) : !1, z = (l) => !e.value || n.hideOffsetDates && !l.current ? !1 : n.range ? n.modelAuto && Array.isArray(e.value) ? pe(l.value, e.value[0] ? e.value[0] : g.value) : !1 : n.multiDates && Array.isArray(e.value) ? e.value.some((v) => pe(v, l.value)) : pe(l.value, e.value ? e.value : g.value), V = (l) => {\n if (n.autoRange || n.weekPicker) {\n if (d.value) {\n if (n.hideOffsetDates && !l.current)\n return !1;\n const v = ct(d.value, +n.autoRange), k = r(w(d.value));\n return n.weekPicker ? pe(k[1], w(l.value)) : pe(v, w(l.value));\n }\n return !1;\n }\n return !1;\n }, J = (l) => {\n if (n.autoRange || n.weekPicker) {\n if (d.value) {\n const v = ct(d.value, +n.autoRange);\n if (n.hideOffsetDates && !l.current)\n return !1;\n const k = r(w(d.value));\n return n.weekPicker ? Oe(l.value, k[0]) && Pe(l.value, k[1]) : Oe(l.value, d.value) && Pe(l.value, v);\n }\n return !1;\n }\n return !1;\n }, Y = (l) => {\n if (n.autoRange || n.weekPicker) {\n if (d.value) {\n if (n.hideOffsetDates && !l.current)\n return !1;\n const v = r(w(d.value));\n return n.weekPicker ? pe(v[0], l.value) : pe(d.value, l.value);\n }\n return !1;\n }\n return !1;\n }, L = (l) => zn(e.value, d.value, l.value), P = () => n.modelAuto && Array.isArray(n.internalModelValue) ? !!n.internalModelValue[0] : !1, x = () => n.modelAuto ? Gn(n.internalModelValue) : !0, Q = (l) => {\n if (Array.isArray(e.value) && e.value.length || n.weekPicker)\n return !1;\n const v = n.range ? !u(l) && !u(l, !1) : !0;\n return !a(l.value) && !z(l) && !(!l.current && n.hideOffsetDates) && v;\n }, ae = (l) => n.range ? n.modelAuto ? P() && z(l) : !1 : z(l), f = (l) => n.highlight ? t(l.value, n.highlight) : !1, D = (l) => a(l.value) && n.highlightDisabledDays === !1, E = (l) => n.highlightWeekDays && n.highlightWeekDays.includes(l.value.getDay()), G = (l) => (n.range || n.weekPicker) && (n.multiCalendars > 0 ? l.current : !0) && x() && !(!l.current && n.hideOffsetDates) && !z(l) ? L(l) : !1, O = (l) => ({\n dp__cell_offset: !l.current,\n dp__pointer: !n.disabled && !(!l.current && n.hideOffsetDates) && !a(l.value),\n dp__cell_disabled: a(l.value),\n dp__cell_highlight: !D(l) && (f(l) || E(l)) && !ae(l),\n dp__cell_highlight_active: !D(l) && (f(l) || E(l)) && ae(l),\n dp__today: !n.noToday && pe(l.value, g.value) && l.current\n }), X = (l) => ({\n dp__active_date: ae(l),\n dp__date_hover: Q(l)\n }), p = (l) => ({\n ...s(l),\n ..._(l),\n dp__range_between_week: G(l) && n.weekPicker\n }), s = (l) => ({\n dp__range_start: n.multiCalendars > 0 ? l.current && u(l) && x() : u(l) && x(),\n dp__range_end: n.multiCalendars > 0 ? l.current && u(l, !1) && x() : u(l, !1) && x(),\n dp__range_between: G(l) && !n.weekPicker,\n dp__date_hover_start: T(Q(l), l, !0),\n dp__date_hover_end: T(Q(l), l, !1)\n }), _ = (l) => ({\n ...s(l),\n dp__cell_auto_range: J(l),\n dp__cell_auto_range_start: Y(l),\n dp__cell_auto_range_end: V(l)\n }), A = (l) => n.range ? n.autoRange ? _(l) : n.modelAuto ? { ...X(l), ...s(l) } : s(l) : n.weekPicker ? p(l) : X(l);\n return {\n setHoverDate: $,\n clearHoverDate: B,\n getDayClassData: (l) => ({\n ...O(l),\n ...A(l),\n [n.dayClass ? n.dayClass(l.value) : \"\"]: !0,\n [n.calendarCellClassName]: !!n.calendarCellClassName\n })\n };\n}, Or = [\"id\", \"onKeydown\"], Br = {\n key: 0,\n class: \"dp__sidebar_left\"\n}, Yr = {\n key: 1,\n class: \"dp__preset_ranges\"\n}, Vr = [\"onClick\"], Lr = {\n key: 2,\n class: \"dp__sidebar_right\"\n}, Er = {\n key: 3,\n class: \"dp__now_wrap\"\n}, Fr = /* @__PURE__ */ Ue({\n __name: \"DatepickerMenu\",\n props: {\n openOnTop: { type: Boolean, default: !1 },\n internalModelValue: { type: [Date, Array], default: null },\n ...Qe\n },\n emits: [\n \"close-picker\",\n \"select-date\",\n \"auto-apply\",\n \"time-update\",\n \"flow-step\",\n \"update-month-year\",\n \"invalid-select\",\n \"update:internal-model-value\",\n \"recalculate-position\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { setMenuFocused: r, setShiftKey: d, control: g } = jn(), { getCalendarDays: $, defaults: B } = Ve(t), R = un(), U = W(null), S = bt({\n timePicker: !!(!t.enableTimePicker || t.timePicker || t.monthPicker),\n monthYearInput: !!t.timePicker,\n calendar: !1\n }), u = W([]), T = W([]), z = W(null), V = W(null), J = W(0), Y = W(!1), L = W(0);\n Fe(() => {\n var Z;\n Y.value = !0, !((Z = t.presetRanges) != null && Z.length) && !R[\"left-sidebar\"] && !R[\"right-sidebar\"] && je();\n const m = Ce(V);\n if (m && !t.textInput && !t.inline && (r(!0), D()), m) {\n const we = (_e) => {\n !t.monthYearComponent && !t.timePickerComponent && !Object.keys(R).length && _e.preventDefault(), _e.stopImmediatePropagation(), _e.stopPropagation();\n };\n m.addEventListener(\"pointerdown\", we), m.addEventListener(\"mousedown\", we);\n }\n document.addEventListener(\"resize\", je);\n }), sn(() => {\n document.removeEventListener(\"resize\", je);\n });\n const { arrowRight: P, arrowLeft: x, arrowDown: Q, arrowUp: ae } = Je(), f = (m) => {\n m || m === 0 ? T.value[m].triggerTransition(\n p.value(m),\n s.value(m)\n ) : T.value.forEach(\n (Z, we) => Z.triggerTransition(p.value(we), s.value(we))\n );\n }, D = () => {\n const m = Ce(V);\n m && m.focus({ preventScroll: !0 });\n }, E = () => {\n var m;\n ((m = t.flow) == null ? void 0 : m.length) && L.value !== -1 && (L.value += 1, a(\"flow-step\", L.value), b());\n }, G = () => {\n L.value = -1;\n }, {\n calendars: O,\n modelValue: X,\n month: p,\n year: s,\n time: _,\n updateTime: A,\n updateMonthYear: K,\n selectDate: l,\n getWeekNum: v,\n monthYearSelect: k,\n handleScroll: N,\n handleArrow: ue,\n handleSwipe: fe,\n getMarker: y,\n selectCurrentDate: c,\n presetDateRange: I\n } = Yl(t, a, E, f, L), { setHoverDate: ve, clearHoverDate: $e, getDayClassData: be } = Ir(X, t);\n Dt(\n O,\n () => {\n t.openOnTop && setTimeout(() => {\n a(\"recalculate-position\");\n }, 0);\n },\n { deep: !0 }\n );\n const He = lt(R, \"calendar\"), Xe = lt(R, \"action\"), te = lt(R, \"timePicker\"), le = lt(R, \"monthYear\"), ke = F(() => t.openOnTop ? \"dp__arrow_bottom\" : \"dp__arrow_top\"), de = F(() => Al(t.yearRange)), vt = F(() => Tl(t.locale, t.monthNameFormat)), je = () => {\n const m = Ce(U);\n m && (J.value = m.getBoundingClientRect().width);\n }, mt = F(() => (m) => $(p.value(m), s.value(m))), et = F(\n () => B.value.multiCalendars > 0 && t.range ? [...Array(B.value.multiCalendars).keys()] : [0]\n ), yt = F(\n () => (m) => m === 1\n ), Ut = F(() => t.monthPicker || t.timePicker || t.yearPicker), Ht = F(\n () => ({\n dp__flex_display: B.value.multiCalendars > 0\n })\n ), Mt = F(() => ({\n dp__instance_calendar: B.value.multiCalendars > 0\n })), ht = F(() => ({\n dp__menu_disabled: t.disabled,\n dp__menu_readonly: t.readonly\n })), Wt = F(\n () => (m) => jt(mt, m)\n ), zt = F(\n () => ({\n dp__menu: !0,\n dp__menu_index: !t.inline,\n dp__relative: t.inline,\n [t.menuClassName]: !!t.menuClassName\n })\n ), jt = (m, Z) => m.value(Z).map((we) => ({\n ...we,\n days: we.days.map((_e) => (_e.marker = y(_e), _e.classData = be(_e), _e))\n })), _t = (m) => {\n m.stopPropagation(), m.stopImmediatePropagation();\n }, hn = () => {\n t.escClose && a(\"close-picker\");\n }, gn = (m, Z = !1) => {\n l(m, Z), t.spaceConfirm && a(\"select-date\");\n }, At = (m) => {\n var Z;\n (Z = t.flow) != null && Z.length && (S[m] = !0, Object.keys(S).filter((we) => !S[we]).length || b());\n }, o = (m, Z, we, _e, ...Ee) => {\n if (t.flow[L.value] === m) {\n const q = _e ? Z.value[0] : Z.value;\n q && q[we](...Ee);\n }\n }, b = () => {\n o(\"month\", u, \"toggleMonthPicker\", !0, !0), o(\"year\", u, \"toggleYearPicker\", !0, !0), o(\"calendar\", z, \"toggleTimePicker\", !1, !1, !0), o(\"time\", z, \"toggleTimePicker\", !1, !0, !0);\n const m = t.flow[L.value];\n (m === \"hours\" || m === \"minutes\" || m === \"seconds\") && o(m, z, \"toggleTimePicker\", !1, !0, !0, m);\n }, j = (m) => {\n if (t.arrowNavigation) {\n if (m === \"up\")\n return ae();\n if (m === \"down\")\n return Q();\n if (m === \"left\")\n return x();\n if (m === \"right\")\n return P();\n } else\n m === \"left\" || m === \"up\" ? ue(\"left\", 0, m === \"up\") : ue(\"right\", 0, m === \"down\");\n }, ne = (m) => {\n d(m.shiftKey), !t.disableMonthYearSelect && m.code === \"Tab\" && m.target.classList.contains(\"dp__menu\") && g.value.shiftKeyInMenu && (m.preventDefault(), m.stopImmediatePropagation(), a(\"close-picker\"));\n };\n return n({\n updateMonthYear: K\n }), (m, Z) => {\n var we;\n return h(), ce(ft, {\n appear: \"\",\n name: (we = i(B).transitions) == null ? void 0 : we.menuAppear,\n mode: \"out-in\",\n css: !!m.transitions\n }, {\n default: re(() => {\n var _e, Ee;\n return [\n ee(\"div\", {\n id: m.uid ? `dp-menu-${m.uid}` : void 0,\n tabindex: \"0\",\n ref_key: \"dpMenuRef\",\n ref: V,\n role: \"dialog\",\n class: ye(i(zt)),\n onMouseleave: Z[12] || (Z[12] = (...q) => i($e) && i($e)(...q)),\n onClick: _t,\n onKeydown: [\n oe(hn, [\"esc\"]),\n Z[13] || (Z[13] = oe(Ge((q) => j(\"left\"), [\"prevent\"]), [\"left\"])),\n Z[14] || (Z[14] = oe(Ge((q) => j(\"up\"), [\"prevent\"]), [\"up\"])),\n Z[15] || (Z[15] = oe(Ge((q) => j(\"down\"), [\"prevent\"]), [\"down\"])),\n Z[16] || (Z[16] = oe(Ge((q) => j(\"right\"), [\"prevent\"]), [\"right\"])),\n ne\n ]\n }, [\n (m.disabled || m.readonly) && m.inline ? (h(), C(\"div\", {\n key: 0,\n class: ye(i(ht))\n }, null, 2)) : M(\"\", !0),\n !m.inline && !m.teleportCenter ? (h(), C(\"div\", {\n key: 1,\n class: ye(i(ke))\n }, null, 2)) : M(\"\", !0),\n ee(\"div\", {\n class: ye({\n dp__menu_content_wrapper: ((_e = m.presetRanges) == null ? void 0 : _e.length) || !!m.$slots[\"left-sidebar\"] || !!m.$slots[\"right-sidebar\"]\n })\n }, [\n m.$slots[\"left-sidebar\"] ? (h(), C(\"div\", Br, [\n H(m.$slots, \"left-sidebar\")\n ])) : M(\"\", !0),\n (Ee = m.presetRanges) != null && Ee.length ? (h(), C(\"div\", Yr, [\n (h(!0), C(ie, null, De(m.presetRanges, (q, st) => (h(), C(\"div\", {\n key: st,\n style: ut(q.style || {}),\n class: \"dp__preset_range\",\n onClick: (se) => i(I)(q.range, !!q.slot)\n }, [\n q.slot ? H(m.$slots, q.slot, {\n key: 0,\n presetDateRange: i(I),\n label: q.label,\n range: q.range\n }) : (h(), C(ie, { key: 1 }, [\n We(Se(q.label), 1)\n ], 64))\n ], 12, Vr))), 128))\n ])) : M(\"\", !0),\n ee(\"div\", {\n class: \"dp__instance_calendar\",\n ref_key: \"calendarWrapperRef\",\n ref: U,\n role: \"document\"\n }, [\n ee(\"div\", {\n class: ye(i(Ht))\n }, [\n (h(!0), C(ie, null, De(i(et), (q, st) => (h(), C(\"div\", {\n key: q,\n class: ye(i(Mt))\n }, [\n !m.disableMonthYearSelect && !m.timePicker ? (h(), ce(Pt(m.monthYearComponent ? m.monthYearComponent : wr), Te({\n key: 0,\n ref_for: !0,\n ref: (se) => {\n se && (u.value[st] = se);\n },\n months: i(vt),\n years: i(de),\n month: i(p)(q),\n year: i(s)(q),\n instance: q,\n \"internal-model-value\": e.internalModelValue\n }, m.$props, {\n onMount: Z[0] || (Z[0] = (se) => At(\"monthYearInput\")),\n onResetFlow: G,\n onUpdateMonthYear: (se) => i(K)(q, se),\n onMonthYearSelect: i(k),\n onOverlayClosed: D\n }), Be({ _: 2 }, [\n De(i(le), (se, Xn) => ({\n name: se,\n fn: re((Kt) => [\n H(m.$slots, se, Ye(Ze(Kt)))\n ])\n }))\n ]), 1040, [\"months\", \"years\", \"month\", \"year\", \"instance\", \"internal-model-value\", \"onUpdateMonthYear\", \"onMonthYearSelect\"])) : M(\"\", !0),\n qe(sr, Te({\n ref_for: !0,\n ref: (se) => {\n se && (T.value[st] = se);\n },\n \"specific-mode\": i(Ut),\n \"get-week-num\": i(v),\n instance: q,\n \"mapped-dates\": i(Wt)(q),\n month: i(p)(q),\n year: i(s)(q)\n }, m.$props, {\n \"flow-step\": L.value,\n \"onUpdate:flow-step\": Z[1] || (Z[1] = (se) => L.value = se),\n onSelectDate: (se) => i(l)(se, !i(yt)(q)),\n onHandleSpace: (se) => gn(se, !i(yt)(q)),\n onSetHoverDate: Z[2] || (Z[2] = (se) => i(ve)(se)),\n onHandleScroll: (se) => i(N)(se, q),\n onHandleSwipe: (se) => i(fe)(se, q),\n onMount: Z[3] || (Z[3] = (se) => At(\"calendar\")),\n onResetFlow: G\n }), Be({ _: 2 }, [\n De(i(He), (se, Xn) => ({\n name: se,\n fn: re((Kt) => [\n H(m.$slots, se, Ye(Ze({ ...Kt })))\n ])\n }))\n ]), 1040, [\"specific-mode\", \"get-week-num\", \"instance\", \"mapped-dates\", \"month\", \"year\", \"flow-step\", \"onSelectDate\", \"onHandleSpace\", \"onHandleScroll\", \"onHandleSwipe\"])\n ], 2))), 128))\n ], 2),\n ee(\"div\", null, [\n m.$slots[\"time-picker\"] ? H(m.$slots, \"time-picker\", Ye(Te({ key: 0 }, { time: i(_), updateTime: i(A) }))) : (h(), C(ie, { key: 1 }, [\n m.enableTimePicker && !m.monthPicker && !m.weekPicker ? (h(), ce(Pt(m.timePickerComponent ? m.timePickerComponent : Rr), Te({\n key: 0,\n ref_key: \"timePickerRef\",\n ref: z,\n hours: i(_).hours,\n minutes: i(_).minutes,\n seconds: i(_).seconds,\n \"internal-model-value\": e.internalModelValue\n }, m.$props, {\n onMount: Z[4] || (Z[4] = (q) => At(\"timePicker\")),\n \"onUpdate:hours\": Z[5] || (Z[5] = (q) => i(A)(q)),\n \"onUpdate:minutes\": Z[6] || (Z[6] = (q) => i(A)(q, !1)),\n \"onUpdate:seconds\": Z[7] || (Z[7] = (q) => i(A)(q, !1, !0)),\n onResetFlow: G,\n onOverlayClosed: D\n }), Be({ _: 2 }, [\n De(i(te), (q, st) => ({\n name: q,\n fn: re((se) => [\n H(m.$slots, q, Ye(Ze(se)))\n ])\n }))\n ]), 1040, [\"hours\", \"minutes\", \"seconds\", \"internal-model-value\"])) : M(\"\", !0)\n ], 64))\n ])\n ], 512),\n m.$slots[\"right-sidebar\"] ? (h(), C(\"div\", Lr, [\n H(m.$slots, \"right-sidebar\")\n ])) : M(\"\", !0),\n m.showNowButton ? (h(), C(\"div\", Er, [\n m.$slots[\"now-button\"] ? H(m.$slots, \"now-button\", {\n key: 0,\n selectCurrentDate: i(c)\n }) : M(\"\", !0),\n m.$slots[\"now-button\"] ? M(\"\", !0) : (h(), C(\"button\", {\n key: 1,\n type: \"button\",\n role: \"button\",\n class: \"dp__now_button\",\n onClick: Z[8] || (Z[8] = (...q) => i(c) && i(c)(...q))\n }, Se(m.nowButtonLabel), 1))\n ])) : M(\"\", !0)\n ], 2),\n !m.autoApply || m.keepActionRow ? (h(), ce(Pt(m.actionRowComponent ? m.actionRowComponent : ql), Te({\n key: 2,\n \"menu-mount\": Y.value,\n \"calendar-width\": J.value,\n \"internal-model-value\": e.internalModelValue\n }, m.$props, {\n onClosePicker: Z[9] || (Z[9] = (q) => m.$emit(\"close-picker\")),\n onSelectDate: Z[10] || (Z[10] = (q) => m.$emit(\"select-date\")),\n onInvalidSelect: Z[11] || (Z[11] = (q) => m.$emit(\"invalid-select\"))\n }), Be({ _: 2 }, [\n De(i(Xe), (q, st) => ({\n name: q,\n fn: re((se) => [\n H(m.$slots, q, Ye(Ze({ ...se })))\n ])\n }))\n ]), 1040, [\"menu-mount\", \"calendar-width\", \"internal-model-value\"])) : M(\"\", !0)\n ], 42, Or)\n ];\n }),\n _: 3\n }, 8, [\"name\", \"css\"]);\n };\n }\n}), Ur = typeof window < \"u\" ? window : void 0, nn = () => {\n}, Hr = (e) => Jn() ? (Qn(e), !0) : !1, Wr = (e, n, a, t) => {\n if (!e)\n return nn;\n let r = nn;\n const d = Dt(\n () => i(e),\n ($) => {\n r(), $ && ($.addEventListener(n, a, t), r = () => {\n $.removeEventListener(n, a, t), r = nn;\n });\n },\n { immediate: !0, flush: \"post\" }\n ), g = () => {\n d(), r();\n };\n return Hr(g), g;\n}, zr = (e, n, a, t = {}) => {\n const { window: r = Ur, event: d = \"pointerdown\" } = t;\n return r ? Wr(r, d, ($) => {\n const B = Ce(e), R = Ce(n);\n !B || !R || B === $.target || $.composedPath().includes(B) || $.composedPath().includes(R) || a($);\n }, { passive: !0 }) : void 0;\n}, jr = /* @__PURE__ */ Ue({\n __name: \"VueDatePicker\",\n props: {\n ...Qe\n },\n emits: [\n \"update:model-value\",\n \"text-submit\",\n \"closed\",\n \"cleared\",\n \"open\",\n \"focus\",\n \"blur\",\n \"internal-model-change\",\n \"recalculate-position\",\n \"flow-step\",\n \"update-month-year\",\n \"invalid-select\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, r = un(), d = W(!1), g = an(t, \"modelValue\"), $ = an(t, \"timezone\"), B = W(null), R = W(null), U = W(!1), { setMenuFocused: S, setShiftKey: u } = jn(), { clearArrowNav: T } = Je(), { validateDate: z, isValidTime: V, defaults: J } = Ve(t);\n Fe(() => {\n E(t.modelValue), t.inline || (window.addEventListener(\"scroll\", _), window.addEventListener(\"resize\", A)), t.inline && (d.value = !0);\n }), sn(() => {\n t.inline || (window.removeEventListener(\"scroll\", _), window.removeEventListener(\"resize\", A));\n });\n const Y = lt(r, \"all\", t.presetRanges), L = lt(r, \"input\");\n Dt(\n [g, $],\n () => {\n E(g.value);\n },\n { deep: !0 }\n );\n const { openOnTop: P, menuPosition: x, setMenuPosition: Q, setInitialPosition: ae } = El(\n B,\n R,\n a,\n t\n ), {\n inputValue: f,\n internalModelValue: D,\n parseExternalModelValue: E,\n emitModelValue: G,\n formatInputValue: O,\n checkBeforeEmit: X\n } = Vl(a, t, U), p = F(\n () => ({\n dp__main: !0,\n dp__theme_dark: t.dark,\n dp__theme_light: !t.dark,\n dp__flex_display: t.inline,\n dp__flex_display_with_input: t.inlineWithInput\n })\n ), s = F(() => t.dark ? \"dp__theme_dark\" : \"dp__theme_light\"), _ = () => {\n d.value && (t.closeOnScroll ? y() : t.autoPosition ? Q() : window.removeEventListener(\"scroll\", _));\n }, A = () => {\n d.value && Q();\n }, K = () => {\n !t.disabled && !t.readonly && (ae(), d.value = !0, $t().then(() => {\n Q(), d.value && a(\"open\");\n }), d.value || fe(), E(t.modelValue));\n }, l = () => {\n f.value = \"\", fe(), a(\"update:model-value\", null), a(\"cleared\"), y();\n }, v = () => {\n const le = D.value;\n return !le || !Array.isArray(le) && z(le) ? !0 : Array.isArray(le) ? le.length === 2 && z(le[0]) && z(le[1]) ? !0 : z(le[0]) : !1;\n }, k = () => {\n X() && v() ? (G(), y()) : a(\"invalid-select\", D.value);\n }, N = (le) => {\n G(), t.closeOnAutoApply && !le && y();\n }, ue = (le = !1) => {\n t.autoApply && V(D.value) && v() && (t.range && Array.isArray(D.value) ? (t.partialRange || D.value.length === 2) && N(le) : N(le));\n }, fe = () => {\n t.textInput || (D.value = null);\n }, y = () => {\n t.inline || (d.value && (d.value = !1, S(!1), u(!1), T(), a(\"closed\"), ae(), f.value && E(g.value)), fe(), R.value && R.value.focusInput());\n }, c = (le, ke) => {\n if (!le) {\n D.value = null;\n return;\n }\n D.value = le, ke && (k(), a(\"text-submit\"));\n }, I = () => {\n t.autoApply && V(D.value) && G();\n }, ve = () => d.value ? y() : K(), $e = (le) => {\n D.value = le;\n }, be = F(() => t.textInput && J.value.textInputOptions.format), He = () => {\n be.value && (U.value = !0, O()), a(\"focus\");\n }, Xe = () => {\n be.value && (U.value = !1, O()), a(\"blur\");\n }, te = (le) => {\n B.value && B.value.updateMonthYear(0, {\n month: Nn(le.month),\n year: Nn(le.year)\n });\n };\n return zr(\n B,\n R,\n t.onClickOutside ? () => t.onClickOutside(v) : y\n ), n({\n closeMenu: y,\n selectDate: k,\n clearValue: l,\n openMenu: K,\n onScroll: _,\n formatInputValue: O,\n updateInternalModelValue: $e,\n setMonthYear: te\n }), (le, ke) => (h(), C(\"div\", {\n class: ye(i(p))\n }, [\n qe(xl, Te({\n ref_key: \"inputRef\",\n ref: R,\n \"is-menu-open\": d.value,\n \"input-value\": i(f),\n \"onUpdate:input-value\": ke[0] || (ke[0] = (de) => nt(f) ? f.value = de : null)\n }, le.$props, {\n onClear: l,\n onOpen: K,\n onSetInputDate: c,\n onSetEmptyDate: i(G),\n onSelectDate: k,\n onToggle: ve,\n onClose: y,\n onFocus: He,\n onBlur: Xe\n }), Be({ _: 2 }, [\n De(i(L), (de, vt) => ({\n name: de,\n fn: re((je) => [\n H(le.$slots, de, Ye(Ze(je)))\n ])\n }))\n ]), 1040, [\"is-menu-open\", \"input-value\", \"onSetEmptyDate\"]),\n d.value ? (h(), ce(ea, {\n key: 0,\n to: le.teleport,\n disabled: le.inline\n }, [\n d.value ? (h(), ce(Fr, Te({\n key: 0,\n ref_key: \"dpMenuRef\",\n ref: B,\n class: i(s),\n style: i(x),\n \"open-on-top\": i(P)\n }, le.$props, {\n \"internal-model-value\": i(D),\n \"onUpdate:internal-model-value\": ke[1] || (ke[1] = (de) => nt(D) ? D.value = de : null),\n onClosePicker: y,\n onSelectDate: k,\n onAutoApply: ue,\n onTimeUpdate: I,\n onFlowStep: ke[2] || (ke[2] = (de) => le.$emit(\"flow-step\", de)),\n onUpdateMonthYear: ke[3] || (ke[3] = (de) => le.$emit(\"update-month-year\", de)),\n onInvalidSelect: ke[4] || (ke[4] = (de) => le.$emit(\"invalid-select\", i(D))),\n onRecalculatePosition: i(Q)\n }), Be({ _: 2 }, [\n De(i(Y), (de, vt) => ({\n name: de,\n fn: re((je) => [\n H(le.$slots, de, Ye(Ze({ ...je })))\n ])\n }))\n ]), 1040, [\"class\", \"style\", \"open-on-top\", \"internal-model-value\", \"onRecalculatePosition\"])) : M(\"\", !0)\n ], 8, [\"to\", \"disabled\"])) : M(\"\", !0)\n ], 2));\n }\n}), Zn = /* @__PURE__ */ (() => {\n const e = jr;\n return e.install = (n) => {\n n.component(\"Vue3DatePicker\", e);\n }, e;\n})(), Kr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: Zn\n}, Symbol.toStringTag, { value: \"Module\" }));\nObject.entries(Kr).forEach(([e, n]) => {\n e !== \"default\" && (Zn[e] = n);\n});\nexport {\n Zn as default\n};\n"],"names":["FetchHttpClient","HttpClient","constructor","logger","super","this","_logger","fetch","requireFunc","_jar","CookieJar","_fetchType","bind","AbortController","_abortControllerType","async","request","abortSignal","aborted","method","Error","url","abortController","error","onabort","abort","response","timeoutId","timeout","msTimeout","setTimeout","log","content","undefined","headers","body","cache","credentials","withCredentials","mode","redirect","signal","e","clearTimeout","ok","errorMessage","deserializeContent","statusText","status","responseType","payload","getCookieString","cookies","getCookies","c","join","arrayBuffer","text","XhrHttpClient","send","Promise","reject","resolve","xhr","XMLHttpRequest","open","setRequestHeader","Object","keys","forEach","header","onload","responseText","onerror","ontimeout","DefaultHttpClient","_httpClient","HttpError","statusCode","trueProto","prototype","__proto__","TimeoutError","AbortError","UnsupportedTransportError","message","transport","errorType","DisabledTransportError","FailedToStartTransportError","FailedToNegotiateWithServerError","AggregateErrors","innerErrors","HttpResponse","get","options","post","delete","HandshakeProtocol","writeHandshakeRequest","handshakeRequest","TextMessageFormat","JSON","stringify","parseHandshakeResponse","data","messageData","remainingData","binaryData","Uint8Array","separatorIndex","indexOf","responseLength","String","fromCharCode","apply","Array","slice","call","byteLength","buffer","textData","substring","length","messages","parse","type","HubConnectionState","HubConnection","connection","protocol","reconnectPolicy","_nextKeepAlive","_freezeEventListener","serverTimeoutInMilliseconds","keepAliveIntervalInMilliseconds","_protocol","_reconnectPolicy","_handshakeProtocol","onreceive","_processIncomingData","onclose","_connectionClosed","_callbacks","_methods","_closedCallbacks","_reconnectingCallbacks","_reconnectedCallbacks","_invocationId","_receivedHandshakeResponse","_connectionState","Disconnected","_connectionStarted","_cachedPingMessage","writeMessage","static","state","connectionId","baseUrl","Reconnecting","start","_startPromise","_startWithStateTransitions","Connecting","_startInternal","window","document","addEventListener","Connected","_stopDuringStartError","handshakePromise","_handshakeResolver","_handshakeRejecter","transferFormat","name","version","_sendMessage","_cleanupTimeout","_resetTimeoutPeriod","_resetKeepAliveInterval","features","inherentKeepAlive","_cleanupPingTimer","stop","startPromise","_stopPromise","_stopInternal","Disconnecting","_reconnectDelayHandle","_completeClose","stream","methodName","args","streams","streamIds","_replaceStreamingParams","invocationDescriptor","_createStreamInvocation","promiseQueue","subject","Subject","cancelCallback","cancelInvocation","_createCancelInvocation","invocationId","then","_sendWithProtocol","invocationEvent","complete","next","catch","_launchStreams","sendPromise","_createInvocation","invoke","result","on","newMethod","toLowerCase","push","off","handlers","removeIdx","splice","callback","onreconnecting","onreconnected","_processHandshakeResponse","parseMessages","_invokeClientMethod","allowReconnect","responseMessage","Date","getTime","_timeoutHandle","serverTimeout","_pingServerHandle","nextPing","invocationMessage","target","methods","_createCompletionMessage","methodsCopy","expectsResponse","res","exception","completionMessage","m","prevRes","arguments","_cancelCallbacksWithError","_reconnect","removeEventListener","reconnectStartTime","now","previousReconnectAttempts","retryError","nextRetryDelay","_getNextRetryDelay","toString","previousRetryCount","elapsedMilliseconds","retryReason","nextRetryDelayInMilliseconds","callbacks","key","nonblocking","streamId","subscribe","err","item","_createStreamItemMessage","i","argument","_isObservable","arg","id","DEFAULT_RETRY_DELAYS_IN_MILLISECONDS","DefaultReconnectPolicy","retryDelays","_retryDelays","retryContext","HeaderNames","Authorization","Cookie","AccessTokenHttpClient","innerClient","accessTokenFactory","_innerClient","_accessTokenFactory","allowRetry","_accessToken","_setAuthorizationHeader","_isAborted","LongPollingTransport","httpClient","_pollAbort","_options","_running","pollAborted","_url","value","pollOptions","pollUrl","_closeError","_receiving","_poll","logMessageContent","_raiseOnClose","deleteOptions","logMessage","ServerSentEventsTransport","accessToken","encodeURIComponent","eventSource","opened","EventSource","onmessage","_close","onopen","_eventSource","close","WebSocketTransport","webSocketConstructor","_logMessageContent","_webSocketConstructor","_headers","token","webSocket","replace","binaryType","_event","_webSocket","event","ErrorEvent","readyState","OPEN","_isCloseEvent","wasClean","code","reason","HttpConnection","_stopPromiseResolver","_negotiateVersion","_resolveUrl","webSocketModule","eventSourceModule","WebSocket","_startInternalPromise","_sendQueue","TransportSendQueue","_stopError","_stopConnection","skipNegotiation","_constructTransport","_startTransport","negotiateResponse","redirects","_getNegotiationResponse","ProtocolVersion","_createTransport","negotiateUrl","_resolveNegotiateUrl","negotiateVersion","connectionToken","_createConnectUrl","requestedTransport","requestedTransferFormat","connectUrl","_isITransport","transportExceptions","transports","availableTransports","negotiate","endpoint","transportOrError","_resolveTransportOrError","ex","connect","actualTransport","transportMatches","transferFormats","map","s","lastIndexOf","aTag","createElement","href","index","_transport","_buffer","_executing","_sendBufferedData","PromiseSource","_transportResult","_sendLoopPromise","_sendLoop","_bufferData","promise","transportResult","_concatBuffers","arrayBuffers","totalLength","b","reduce","a","offset","set","_resolver","_rejecter","LogLevelNameMapping","trace","debug","info","information","warn","warning","critical","none","HubConnectionBuilder","configureLogging","logging","logLevel","mapping","parseLogLevel","withUrl","transportTypeOrOptions","httpConnectionOptions","withHubProtocol","withAutomaticReconnect","retryDelaysOrReconnectPolicy","isArray","build","JsonHubProtocol","MessageType","LogLevel","HttpTransportType","TransferFormat","input","hubMessages","parsedMessage","_isInvocationMessage","_isStreamItemMessage","_isCompletionMessage","_assertNotEmptyString","NullLogger","_logLevel","_message","instance","observers","observer","output","RecordSeparator","split","pop","RecordSeparatorCode","VERSION","Arg","val","match","values","Platform","isBrowser","isWebWorker","self","isReactNative","isNode","getDataDetail","includeContent","detail","isArrayBuffer","view","str","num","substr","formatArrayBuffer","ArrayBuffer","sendMessage","transportName","getUserAgentHeader","createLogger","ConsoleLogger","SubjectSubscription","_subject","_observer","dispose","_","minimumLogLevel","_minLevel","out","console","msg","toISOString","userAgentHeaderName","constructUserAgent","getOsName","getRuntime","getRuntimeVersion","os","runtime","runtimeVersion","userAgent","majorAndMinor","process","platform","versions","node","getErrorString","stack","getGlobalThis","globalThis","g","isCallable","fn","interpolate","template","param","placeholder","params","paramIndex","Number","merge","source","obj","Dictionary","locale","dictionary","container","ctx","format","getLocaleDefault","field","_a","_b","_c","_d","_e","fields","_default","_f","_g","_h","fieldName","names","rule","assign","form","DICTIONARY","localize","generateMessage","setLocale","FRAGMENT","Symbol","TELEPORT","SUSPENSE","KEEP_ALIVE","BASE_TRANSITION","OPEN_BLOCK","CREATE_BLOCK","CREATE_ELEMENT_BLOCK","CREATE_VNODE","CREATE_ELEMENT_VNODE","CREATE_COMMENT","CREATE_TEXT","CREATE_STATIC","RESOLVE_COMPONENT","RESOLVE_DYNAMIC_COMPONENT","RESOLVE_DIRECTIVE","RESOLVE_FILTER","WITH_DIRECTIVES","RENDER_LIST","RENDER_SLOT","CREATE_SLOTS","TO_DISPLAY_STRING","MERGE_PROPS","NORMALIZE_CLASS","NORMALIZE_STYLE","NORMALIZE_PROPS","GUARD_REACTIVE_PROPS","TO_HANDLERS","CAMELIZE","CAPITALIZE","TO_HANDLER_KEY","SET_BLOCK_TRACKING","PUSH_SCOPE_ID","POP_SCOPE_ID","WITH_CTX","UNREF","IS_REF","WITH_MEMO","IS_MEMO_SAME","helperNameMap","locStub","line","column","end","createVNodeCall","context","tag","props","children","patchFlag","dynamicProps","directives","isBlock","disableTracking","isComponent","loc","helper","getVNodeBlockHelper","inSSR","getVNodeHelper","createArrayExpression","elements","createObjectExpression","properties","createObjectProperty","createSimpleExpression","isStatic","constType","createCompoundExpression","createCallExpression","callee","createFunctionExpression","returns","newline","isSlot","createConditionalExpression","test","consequent","alternate","ssr","convertToBlock","removeHelper","defaultDelimitersOpen","defaultDelimitersClose","isTagStartChar","isWhitespace","isEndOfTagSection","toCharCodes","ret","charCodeAt","Sequences","Cdata","CdataEnd","CommentEnd","ScriptEnd","StyleEnd","TitleEnd","TextareaEnd","getCompatValue","compatConfig","isCompatEnabled","checkCompatEnabled","defaultOnError","defaultOnWarn","createCompilerError","additionalMessage","SyntaxError","isStaticExp","p","isCoreComponent","nonIdentifierRE","isSimpleIdentifier","validFirstIdentCharRE","validIdentCharRE","whitespaceRE","getExpSource","exp","isMemberExpression","path","trim","stateStack","currentOpenBracketCount","currentOpenParensCount","currentStringType","char","charAt","fnExpRE","isFnExpression","findDir","allowEmpty","findProp","dynamicOnly","isStaticArgOf","isText$1","isVSlot","isTemplateNode","tagType","isSlotOutlet","propsHelperSet","Set","getUnnormalizedProps","callPath","has","concat","injectProp","prop","propsWithInjection","parentCall","first","unshift","hasProp","propKeyName","some","toValidAssetId","searchValue","replaceValue","forAliasRE","defaultParserOptions","parseMode","ns","delimiters","getNamespace","isVoidTag","NO","isPreTag","isIgnoreNewlineTag","isCustomElement","onError","onWarn","comments","prefixIdentifiers","currentOptions","currentRoot","currentInput","currentOpenTag","currentProp","currentAttrValue","currentAttrStartIndex","currentAttrEndIndex","inPre","inVPre","currentVPreBoundary","tokenizer","cbs","sectionStart","entityStart","baseState","inRCDATA","inXML","newlines","delimiterOpen","delimiterClose","delimiterIndex","currentSequence","sequenceIndex","inSFCRoot","reset","getPos","newlineIndex","peek","stateText","ontext","stateInterpolationOpen","stateInRCDATA","stateInterpolation","stateInterpolationClose","oninterpolation","stateSpecialStartSequence","isEnd","stateInTagName","endOfText","actualIndex","stateInClosingTagName","fastForwardTo","stateCDATASequence","stateInDeclaration","cc","stateInCommentLike","oncdata","oncomment","startSpecial","sequence","enterRCDATA","stateBeforeTagName","handleTagName","stateInSFCRootTagName","onopentagname","stateBeforeAttrName","stateBeforeClosingTagName","onclosetag","stateAfterClosingTagName","onopentagend","handleAttrStart","ondirname","stateInSelfClosingTag","onselfclosingtag","stateInAttrName","onattribname","handleAttrNameEnd","stateInDirName","stateInDirArg","ondirarg","stateInDynamicDirArg","stateInDirModifier","ondirmodifier","onattribnameend","stateAfterAttrName","onattribend","stateBeforeAttrValue","stateInAttrValueNoQuotes","handleInAttrValue","quote","onattribdata","stateInAttrValueDoubleQuotes","stateInAttrValueSingleQuotes","onerr","stateBeforeDeclaration","stateInProcessingInstruction","onprocessinginstruction","stateBeforeComment","stateInSpecialComment","stateBeforeSpecialS","stateBeforeSpecialT","startEntity","stateInEntity","cleanup","finish","handleTrailingData","onend","endIndex","emitCodePoint","cp","consumed","emitError","onText","getSlice","ontextentity","innerStart","innerEnd","includes","decodeEntities","addNode","createExp","getLoc","codegenNode","endOpenTag","found","j","onCloseTag","shift","backTrack","isSelfClosing","nameLoc","raw","rawName","modifiers","dirToAttr","setLocEnd","mod","onattribentity","condense","expParseMode","forParseResult","inMatch","LHS","RHS","createAliasExpression","asParam","finalized","valueContent","stripParensRE","trimmedOffset","iteratorMatch","forIteratorRE","keyContent","keyOffset","indexContent","parseForExpression","syncIndex","findIndex","innerLoc","parent","lastNode","el","isImplied","lookAhead","isFragmentTemplate","isBuiltInComponent","isNativeTag","startsWith","condenseWhitespace","inlineTemplateProp","find","specialTemplateDir","windowsNewlineRE","nodes","shouldCondense","whitespace","removedWhitespace","isAllWhitespace","prev","hasNewlineChar","filter","Boolean","prevCharIsWhitespace","cloneLoc","dir","attr","root","helpers","components","hoists","imports","cached","temps","createRoot","cacheStatic","walk","isSingleElementRoot","child","doNotHoistNode","inFor","toCache","constantType","getConstantType","flag","getGeneratedPropsConstantType","getNodeProps","hoist","scopes","vSlot","i2","branches","cachedAsArray","getCacheExpression","slot","getSlotNode","slotName","hmr","needArraySpread","node2","transformHoist","constantCache","returnType2","generatedPropsType","childType","expType","returnType","allowHoistedHelperSet","getConstantTypeOfHelperCall","keyType","valueType","createTransformContext","nameMatch","filename","selfName","hoistStatic","cacheHandlers","nodeTransforms","directiveTransforms","expressionPlugins","scopeId","slotted","ssrCssVars","bindingMetadata","inline","isTS","Map","WeakMap","identifiers","create","vFor","vPre","vOnce","grandParent","currentNode","childIndex","inVOnce","count","currentCount","helperString","replaceNode","removeNode","list","removalIndex","onNodeRemoved","addIdentifiers","removeIdentifiers","identifier","hoisted","isVNode","cacheExp","needPauseTracking","createCacheExpression","filters","transform","traverseNode","createRootCodegen","transformed","exitFns","onExit","nodeRemoved","traverseChildren","createStructuralDirectiveTransform","matches","n","aliasHelper","generate","ast","sourceMap","optimizeImports","runtimeGlobalName","runtimeModuleName","ssrRuntimeModuleName","indentLevel","pure","indent","deindent","withoutNewLine","repeat","createCodegenContext","onContextCreated","from","hasHelpers","useWithBlock","VueBinding","genNode","genHoists","genFunctionPreamble","genAssets","preamble","toJSON","assets","resolver","maybeSelfReference","endsWith","genNodeListAsArray","multilines","genNodeList","comma","genText","genExpression","genInterpolation","genCompoundExpression","genComment","patchFlagString","callHelper","genNullableArgs","genVNodeCall","genCallExpression","genExpressionAsPropertyKey","genObjectExpression","genArrayExpression","isNonScopedSlot","genFunctionExpression","needNewline","needsParens","isNested","genConditionalExpression","genCacheExpression","RegExp","transformIf","processCodegen","branch","createIfBranch","ifNode","siblings","sibling","condition","processIf","isRoot","createCodegenNodeForBranch","parentCondition","getParentCondition","isTemplateIf","userKey","keyIndex","createChildrenCodegenNode","keyProperty","firstChild","vnodeCall","transformBind","_node","transformBindShorthand","injectPrefix","propName","prefix","transformFor","parseResult","finalizeForParseResult","forNode","valueAlias","keyAlias","objectIndexAlias","processFor","renderExp","isTemplate","memo","keyProp","keyExp","isStableFragment","fragmentFlag","childBlock","needFragmentWrapper","slotOutlet","loop","createForLoopParams","memoArgs","createParamsList","defaultFallback","trackSlotScopes","buildClientSlotFn","_vForExp","buildSlots","buildSlotFn","slotsProperties","dynamicSlots","hasDynamicSlots","onComponentSlot","hasTemplateSlots","hasNamedDefaultSlot","implicitDefaultChildren","seenSlotNames","conditionalBranchIndex","slotElement","slotDir","slotChildren","slotLoc","slotProps","dirLoc","staticSlotName","slotFunction","vIf","vElse","buildDynamicSlot","conditional","add","buildDefaultSlotProperty","children2","isNonWhitespaceContent","slotFlag","hasForwardedSlots","slots","directiveImportMap","transformElement","vnodeTag","isExplicitDynamic","isComponentTag","isProp","builtIn","resolveComponentType","isDynamicComponent","vnodeProps","vnodeChildren","vnodeDynamicProps","dynamicPropNames","vnodeDirectives","shouldUseBlock","propsBuildResult","buildProps","dirArgs","trueExpression","modifier","buildDirectiveArgs","hasDynamicTextChild","propsNamesString","l","stringifyDynamicPropNames","elementLoc","mergeArgs","runtimeDirectives","hasChildren","hasRef","hasClassBinding","hasStyleBinding","hasHydrationEventBinding","hasDynamicKeys","hasVnodeHook","pushMergeArg","dedupeProperties","pushRefVForMarker","analyzePatchFlag","isEventHandler","isVBind","isVOn","directiveTransform","props2","needRuntime","propsExpression","classKeyIndex","styleKeyIndex","hasDynamicKey","isHandlerKey","classProp","styleProp","knownProps","deduped","existing","mergeAsArray","incoming","transformSlotOutlet","nonNameProps","processSlotOutlet","slotArgs","expectedLen","transformOn","augmentor","eventName","shouldCache","isMemberExp","isInlineStatement","hasMultipleStatements","transformText","currentContainer","hasText","callArgs","seen$1","WeakSet","transformOnce","cur","transformModel","createTransformProps","rawExp","expString","bindingType","assignmentExp","modifiersKey","validDivisionCharRE","transformFilter","rewriteFilter","parseFilter","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","seen","transformMemo","baseCompile","isModuleMode","resolvedOptions","model","V_MODEL_RADIO","V_MODEL_CHECKBOX","V_MODEL_TEXT","V_MODEL_SELECT","V_MODEL_DYNAMIC","V_ON_WITH_MODIFIERS","V_ON_WITH_KEYS","V_SHOW","TRANSITION","TRANSITION_GROUP","decoder","getOwnPropertySymbols","parserOptions","asAttr","innerHTML","getAttribute","textContent","rootNamespace","parseInlineCSS","cssText","normalized","createDOMCompilerError","isEventOptionModifier","isNonKeyModifier","maybeKeyModifier","isKeyboardEvent","transformClick","ignoreSideEffectTags","DOMNodeTransforms","DOMDirectiveTransforms","cloak","html","baseResult","directiveToUse","isInvalidType","hasDynamicKeyVBind","handlerExp","keyModifiers","nonKeyModifiers","eventOptionModifiers","resolveModifiers","modifierPostfix","show","compile","src","getTarget","navigator","isProxyAvailable","Proxy","supported","perf","performance","perf_hooks","ApiProxy","plugin","hook","targetQueue","onQueue","defaultSettings","settings","defaultValue","localSettingsSaveId","currentSettings","localStorage","getItem","fallbacks","getSettings","setSettings","setItem","pluginId","proxiedOn","_target","proxiedTarget","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","__VUE_DEVTOOLS_GLOBAL_HOOK__","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","__VUE_DEVTOOLS_PLUGINS__","emit","activeEffectScope","activeSub","EffectScope","detached","_active","effects","cleanups","_isPaused","active","pause","resume","run","currentEffectScope","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","pausedQueueEffects","ReactiveEffect","deps","depsTail","flags","scheduler","trigger","notify","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","nextDep","removeSub","onStop","runIfDirty","isDirty","dirty","batchedSub","batchedComputed","batchDepth","sub","isComputed","startBatch","endBatch","prevActiveLink","dep","activeLink","head","tail","prevDep","removeDep","computed","refreshComputed","_dirty","globalVersion","isSSR","prevSub","_value","soft","nextSub","subs","sc","effect","runner","trackStack","pauseTracking","resetTracking","Link","Dep","track","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","depsMap","newValue","oldValue","oldTarget","targetIsArray","isArrayIndex","newLength","key2","reactiveReadArray","array","isShallow","toReactive","shallowReadArray","arr","arrayInstrumentations","iterator","x","entries","every","thisArg","v","findLast","findLastIndex","searchProxy","separator","noTracking","reduceRight","toReversed","toSorted","comparer","toSpliced","wrapValue","iter","_next","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","acc","isProxy","isNonTrackableKeys","builtInSymbols","getOwnPropertyNames","hasOwnProperty","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","getPrototypeOf","Reflect","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","hadKey","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawTarget","rawKey","wrap","toReadonly","size","observed","clear","hadItems","targetIsMap","isPair","isKeyOnly","innerIterator","done","createIterableMethod","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isExtensible","rawType","targetTypeMap","isReactive","markRaw","r","ref","createRef","shallowRef","rawValue","RefImpl","_rawValue","useDirectValue","triggerRef","ref2","unref","toValue","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","newVal","customRef","toRefs","object","propertyToRef","ObjectRefImpl","_object","_key","_defaultValue","depMap","getDepFromReactive","GetterRefImpl","_getter","toRef","ComputedRefImpl","setter","__v_isRef","TrackOpTypes","TriggerOpTypes","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","getCurrentWatcher","onWatcherCleanup","cleanupFn","owner","traverse","depth","Infinity","propertyIsEnumerable","isWarning","warn$1","component","appWarnHandler","appContext","config","warnHandler","currentVNode","normalizedStack","vnode","recurseCount","parentInstance","getComponentTrace","callWithErrorHandling","formatComponentName","warnArgs","logs","entry","postfix","formatProps","formatTraceEntry","formatTrace","formatProp","assertNumber","ErrorCodes","ErrorTypeStrings$1","handleError","callWithAsyncErrorHandling","throwInDev","exposedInstance","errorInfo","errorCapturedHooks","ec","errorHandler","contextVNode","throwInProd","logError","throwUnhandledErrorInProduction","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","queueJob","job","jobId","getId","lastJob","middle","middleJob","middleJobId","findInsertionIndex","queueFlush","flushJobs","queuePostFlushCb","cb","flushPreFlushCbs","uid","flushPostFlushCbs","sort","devtools$1","devtoolsNotInstalled","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","pushScopeId","popScopeId","withScopeId","_id","withCtx","_n","renderFnWithContext","setBlockTracking","prevInstance","withDirectives","getComponentPublicInstance","bindings","dirs","mounted","updated","deep","invokeDirectiveHook","prevVNode","oldBindings","binding","TeleportEndKey","isTeleport","__isTeleport","isTeleportDisabled","disabled","isTeleportDeferred","defer","isTargetSVG","SVGElement","isTargetMathML","MathMLElement","resolveTarget","select","targetSelector","to","TeleportImpl","n1","n2","anchor","parentComponent","parentSuspense","namespace","slotScopeIds","optimized","internals","mc","mountChildren","pc","patchChildren","pbc","patchBlockChildren","o","createText","mainAnchor","insert","mount","container2","anchor2","shapeFlag","isCE","ce","_teleportTarget","mountToTarget","querySelector","targetAnchor","prepareAnchor","updateCssVars","queuePostRenderEffect","__isMounted","targetStart","wasDisabled","currentAnchor","dynamicChildren","traverseStaticChildren","moveTeleport","nextTarget","remove","um","unmount","hostRemove","doRemove","shouldRemove","move","hydrate","hydrateChildren","targetNode","_lpa","nextSibling","parentNode","nodeType","parentAnchor","moveType","isReorder","Teleport","isDisabled","ut","setAttribute","leaveCbKey","enterCbKey","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","Function","BaseTransitionPropsValidators","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","recursiveGetSubtree","subTree","findNonCommentChild","hasFound","Comment","BaseTransition","setup","getCurrentInstance","default","getTransitionRawChildren","rawProps","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","hooks","setTransitionHooks","oldInnerChild","isSameVNodeType","leavingHooks","afterLeave","update","delayLeave","earlyRemove","delayedLeave","getLeavingNodesForType","leavingVNodesCache","postClone","callHook","callAsyncHook","hook2","beforeEnter","leavingVNode","enter","afterHook","cancelHook","called","cancelled","leave","clone","vnode2","hooks2","isKeepAlive","cloneVNode","transition","ssContent","ssFallback","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","useId","idPrefix","ids","markAsyncBoundary","useTemplateRef","refs","defineProperty","enumerable","setRef","rawRef","oldRawRef","isUnmount","isAsyncWrapper","__asyncResolved","refValue","oldRef","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","f","k","hasLoggedMismatchError","logMismatchError","getContainerType","namespaceURI","tagName","isSVGContainer","isMathMLContainer","isComment","createHydrationFunctions","rendererInternals","mt","mountComponent","patch","hydrateNode","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","Text","__VUE_PROD_HYDRATION_MISMATCH_DETAILS__","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAnchor","createVNode","previousSibling","lastChild","createTextVNode","forcePatch","vnodeHooks","needCallTransitionHooks","needTransition","hasWarned","isMismatchAllowed","clientText","d","created","propHasMismatch","patchProp","onClick","style","onVnodeBeforeMount","invokeVNodeHook","onVnodeMounted","queueEffectWithSuspense","parentVNode","normalizeVNode","isText","fragmentSlotScopeIds","createComment","isFragment","parentElement","next2","updateHOCHostEl","newNode","oldNode","parentNode2","replaceChild","hasChildNodes","_vnode","clientValue","mismatchType","mismatchKey","actual","expected","isSetEqual","toClassSet","actualMap","toStyleMap","expectedMap","resolveCssVars","isMapEqual","HTMLElement","hasAttribute","MismatchTypeString","styleMap","getCssVars","cssVars","allowedType","allowedAttr","requestIdleCallback","cancelIdleCallback","hydrateOnIdle","hydrateOnVisible","opts","ob","IntersectionObserver","isIntersecting","disconnect","Element","getBoundingClientRect","top","innerHeight","bottom","left","innerWidth","right","elementIsVisibleInViewport","observe","hydrateOnMediaQuery","query","mql","matchMedia","once","hydrateOnInteraction","interactions","hasHydrated","doHydrate","teardown","dispatchEvent","__asyncLoader","defineAsyncComponent","loader","hydrateStrategy","userOnError","resolvedComp","pendingRequest","retries","load","thisRequest","comp","__esModule","toStringTag","__asyncHydrate","forEachElement","bum","isUnmounted","currentInstance","createInnerComp","errorComponent","suspensible","suspense","isInSSRComponentSetup","loaded","delayed","delay","loadingComponent","__isKeepAlive","KeepAlive","include","exclude","max","sharedContext","renderer","current","_unmount","storageContainer","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","activate","instance2","isDeactivated","vnodeHook","deactivate","invalidateMount","da","onVnodeUnmounted","flush","pendingCacheKey","cacheSubtree","isSuspense","getInnerChild","onUpdated","rawVNode","cachedVNode","parseInt","pattern","lastIndex","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","setCurrentInstance","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","resolveComponent","resolveAsset","NULL_DYNAMIC_COMPONENT","for","resolveDynamicComponent","resolveDirective","warnMissing","Component","registry","renderList","renderItem","sourceIsArray","createSlots","renderSlot","fallback","noSlotted","openBlock","createBlock","validSlotContent","ensureValidVNode","slotKey","rendered","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","attrs","$slots","$refs","$parent","$root","$host","$emit","$options","resolveMergedOptions","$forceUpdate","$nextTick","$watch","instanceWatch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","normalizedProps","accessCache","propsOptions","shouldCacheAccess","publicGetter","cssModule","globalProperties","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","defineProps","defineEmits","defineExpose","exposed","defineOptions","defineSlots","defineModel","withDefaults","defaults","useSlots","getContext","useAttrs","setupContext","createSetupContext","normalizePropsOrEmits","mergeDefaults","opt","skipFactory","mergeModels","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","unsetCurrentInstance","applyOptions","publicThis","beforeCreate","dataOptions","computedOptions","watch","watchOptions","provide","provideOptions","inject","injectOptions","checkDuplicateProperties","normalizeInject","configurable","resolveInjections","methodHandler","createWatcher","provides","registerLifecycleHook","register","_hook","beforeMount","beforeUpdate","activated","deactivated","errorCaptured","renderTracked","renderTriggered","beforeUnmount","unmounted","serverPrefetch","expose","render","inheritAttrs","h","getter","createPathGetter","handler","base","extends","extendsOptions","mixins","globalMixins","optionsCache","resolved","mergeOptions","optionMergeStrategies","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","emits","mergeObjectOptions","beforeDestroy","destroyed","merged","createAppContext","app","compilerOptions","propsCache","emitsCache","uid$1","createAppAPI","rootComponent","rootProps","installedPlugins","pluginCleanupFns","_uid","_component","_props","_container","_context","_instance","use","install","mixin","directive","rootContainer","isHydrate","_ceVNode","__vue_app__","onUnmount","runWithContext","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","setFullProps","needCastKeys","rawCastValues","hasAttrsChanged","camelKey","isEmitListener","emitsOptions","rawCurrentProps","castValues","resolvePropValue","isAbsent","hasDefault","propsDefaults","_setProp","mixinPropsCache","normalizePropsOptions","hasExtends","extendProps","raw2","normalizedKey","validatePropName","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","assignSlots","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","__VUE__","hostInsert","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","removeStaticNode","mountElement","patchElement","is","resolveChildrenNamespace","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","patchProps","class","propsToUpdate","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","updateComponent","initialVNode","createComponentInstance","setupComponent","asyncDep","registerDep","setupRenderEffect","nextVNode","prevProps","prevChildren","nextProps","nextChildren","$stable","hasPropsChanged","shouldUpdateComponent","asyncResolved","updateComponentPreRender","componentUpdateFn","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","bu","nextTree","renderComponentRoot","prevTree","u","isAsyncWrapperVNode","bm","hydrateSubTree","_injectChildStyle","scopedInitialVNode","scope","rawPrevProps","kebabKey","camelizedKey","updateProps","needDeletionCheck","deletionComparisonTarget","updateSlots","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","Math","min","nextChild","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","len","arrI","getSequence","nextIndex","moveStaticNode","remove2","performLeave","cacheIndex","renderCache","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","hasOnce","removeFragment","performRemove","pendingBranch","suspenseId","pendingId","teleportEnd","isFlushing","createApp","currentNamespace","encoding","allowed","ch1","ch2","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","watchPostEffect","watchSyncEffect","baseWatchOptions","runsImmediately","immediate","ssrCleanup","__watcherHandles","watchStopHandle","isPre","isFirstRun","augmentJob","watchHandle","reactiveGetter","source2","boundCleanup","forceTrigger","isMultiSource","currentEffect","baseGetter","_cb","fill","immediateFirstRun","currentWatcher","cleanup2","segments","useModel","camelizedName","hyphenatedName","getModelModifiers","localValue","prevEmittedValue","prevSetValue","propValue","emittedValue","modelName","modelModifiers","rawArgs","isModelListener","handlerName","number","onceHandler","emitted","normalizeEmitsOptions","extendEmits","normalizedFromExtend","fallthroughAttrs","proxyToUse","withProxy","thisProxy","render2","getFunctionalFallthrough","blockStack","filterModelListeners","filterSingleRoot","recurse","singleRoot","nextKeys","activeBranch","__isSuspense","Suspense","hiddenContainer","createSuspenseBoundary","triggerEvent","setActiveBranch","mountSuspense","isInFallback","newBranch","newFallback","isHydrating","patchSuspense","normalize","isSlotChildren","normalizeSuspenseSlot","eventListener","parentSuspenseId","isSuspensible","isVNodeSuspensible","initialAnchor","sync","parentComponent2","delayEnter","hasUnresolvedAncestor","fallbackVNode","namespace2","mountFallback","optimized2","isInPendingSuspense","hydratedEl","asyncSetupResult","handleSetupResult","parentSuspense2","block","trackBlock","isBlockTreeEnabled","currentBlock","closeBlock","singleChild","vnodeArgsTransformer","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","_createVNode","cloned","isClassComponent","__vccOpts","guardReactiveProps","klass","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createStaticVNode","numberOfNodes","createCommentVNode","asBlock","toMerge","emptyAppContext","exposeProxy","bc","rtg","rtc","sp","internalSetCurrentInstance","setInSSRSetupState","registerGlobalSetter","setters","installWithProxy","isStateful","initProps","initSlots","setupResult","isAsyncSetup","resolvedResult","finishComponentSetup","setupStatefulComponent","__ssrInlineRender","ssrRender","registerRuntimeCompiler","_compile","_rc","skipOptions","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","classifyRE","includeInferred","displayName","__name","__file","inferFromRegistry","toUpperCase","getterOrOptions","debugOptions","propsOrChildren","initCustomFormatter","withMemo","isMemoSame","ErrorTypeStrings","devtools","setDevtoolsHook","setDevtoolsHook$1","enabled","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","ssrUtils","pushWarningContext","popWarningContext","resolveFilter","compatUtils","DeprecationTypes","policy","tt","trustedTypes","createPolicy","createHTML","unsafeToTrustedHTML","doc","templateContainer","nodeOps","insertBefore","removeChild","createElementNS","multiple","createTextNode","nodeValue","selector","before","cloneNode","wrapper","appendChild","vtcKey","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","Transition","t","decorate$1","resolveTransitionProps","h2","hasExplicitCallback","baseProps","durations","NumberOf","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","_enterCancelled","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","getTransitionInfo","endEvent","ended","onEnd","propCount","styles","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","offsetHeight","vShowOriginalDisplay","vShowHidden","vShow","display","setDisplay","CSS_VAR_TEXT","useCssVars","updateTeleports","vars","querySelectorAll","setVarsOnNode","setVars","setVarsOnVNode","MutationObserver","childList","setProperty","displayRE","importantRE","setStyle","prefixed","prefixCache","prefixes","autoPrefix","xlinkNS","patchAttr","isSVG","isBoolean","removeAttributeNS","setAttributeNS","removeAttribute","patchDOMProp","attrName","needRemove","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","optionsModifierRE","parseName","invoker","initialValue","_vts","attached","originalStop","stopImmediatePropagation","_stopped","patchStopImmediatePropagation","cachedNow","getNow","createInvoker","isNativeOn","REMOVAL","defineCustomElement","_createApp","Comp","VueCustomElement","VueElement","initialProps","def","defineSSRCustomElement","createSSRApp","BaseClass","_def","_isVueCE","_app","_nonce","nonce","_connected","_resolved","_numberProps","_styleChildren","_ob","shadowRoot","_root","attachShadow","_resolveProps","connectedCallback","isConnected","_parseSlots","host","_parent","_setParent","_update","_pendingResolve","_resolveDef","disconnectedCallback","attributes","_setAttr","mutations","attributeName","isAsync","numberProps","_applyStyles","_mount","asyncDef","configureApp","declaredPropKeys","_getProp","shouldReflect","shouldUpdate","_renderSlots","dispatch","CustomEvent","_slots","outlets","walker","createTreeWalker","_removeChildStyle","useHost","caller","useShadowRoot","useCssModule","modules","positionMap","newPositionMap","moveCbKey","TransitionGroup","decorate","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","webkitTransform","transitionDuration","propertyName","cssTransitionProps","oldPos","newPos","dx","dy","getModelAssigner","onCompositionStart","composing","onCompositionEnd","Event","assignKey","vModelText","castToNumber","lazy","domValue","activeElement","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","_assigning","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","selectedIndex","vModelDynamic","callModelHook","resolveDynamicModel","systemModifiers","modifierGuards","stopPropagation","prevent","preventDefault","currentTarget","ctrl","ctrlKey","shiftKey","alt","altKey","meta","metaKey","button","exact","withModifiers","_withMods","cacheKey","guard","keyNames","esc","space","up","down","withKeys","_withKeys","eventKey","rendererOptions","transitionClasses","className","patchClass","isCssString","hasControlledDisplay","prevStyle","cssVarText","patchStyle","shouldSetAsProp","_trueValue","_falseValue","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","resolveRootNamespace","ssrDirectiveInitialized","initDirectivesForSSR","getSSRProps","modelToUse","makeMap","EMPTY_OBJ","EMPTY_ARR","NOOP","isOn","extend","hasOwn","isMap","toTypeString","isSet","isDate","isRegExp","isFunction","isString","isSymbol","isObject","isPromise","objectToString","toRawType","isPlainObject","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","invokeArrayFns","fns","writable","looseToNumber","parseFloat","isNaN","toNumber","NaN","_globalThis","genCacheKey","isGloballyAllowed","generateCodeFrame","lines","newlineSequences","idx","lineLength","newLineSeqLength","pad","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","stringifyStyle","normalizeClass","normalizeProps","isHTMLTag","isSVGTag","isMathMLTag","specialBooleanAttrs","isSpecialBooleanAttr","isBooleanAttr","includeBooleanAttr","isKnownHtmlAttr","isKnownSvgAttr","isRenderableAttrValue","cssVarNameEscapeSymbolsRE","getEscapedCssVarName","doubleEscape","looseEqual","aValidType","bValidType","equal","looseCompareArrays","aHasKey","bHasKey","looseIndexOf","toDisplayString","replacer","val2","stringifySymbol","description","defaultInstanceSettings","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","direction","autoplay","timelineOffset","defaultTweenSettings","endDelay","easing","round","validTransforms","CSS","springs","minMax","stringContains","applyArguments","func","pth","svg","inp","HTMLInputElement","dom","fnc","und","hex","rgb","hsl","col","parseEasingParameters","string","exec","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","cos","sin","frame","elapsed","rest","steps","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","easeIn","parseEasings","ease","selectString","filterArray","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","cloneObject","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","hexToRgba","hslValue","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","convertPxToUnit","unit","tempEl","parentEl","position","width","factor","offsetWidth","convertedUnit","getCSSValue","uppercasePropName","getPropertyValue","getAnimationType","getElementTransforms","reg","transforms","getTransformValue","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","operator","y","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","numberOfItems","currentPos","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","height","viewBox","w","getPathProgress","point","getPointAtLength","p0","property","atan2","decomposeValue","rgx","original","numbers","strings","parseTargets","targets","pos","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","propArray","getProperties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","isPath","isColor","setProgressValue","attribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","anime","startTime","lastTime","childrenLength","makePromise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","adjustTime","time","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","toNumbersLength","fromNumber","stringsLength","n$1","currentValue","setCallback","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","maxValue","fromX","fromY","floor","distanceX","distanceY","timeline","tl","instanceParams","tlIndex","insParams","tlDuration","random","CONFIG","HOUR_TOKENS","MINUTE_TOKENS","SECOND_TOKENS","APM_TOKENS","BASIC_TYPES","DEFAULT_OPTIONS","minuteInterval","secondInterval","hourRange","minuteRange","secondRange","hideDisabledHours","hideDisabledMinutes","hideDisabledSeconds","hideDisabledItems","advancedKeyboard","hideDropdown","blurDelay","manualInputTimeout","dropOffsetHeight","script","hideClearButton","closeOnComplete","inputClass","tabindex","inputWidth","autocomplete","hourLabel","minuteLabel","secondLabel","apmLabel","amText","pmText","autoScroll","dropDirection","containerId","manualInput","fixedDropdownButton","debugMode","timeValue","hours","minutes","seconds","apms","isActive","showDropdown","isFocusing","debounceTimer","hourType","minuteType","secondType","apmType","hour","minute","second","apm","fullValues","bakDisplayTime","doClearApmChecking","selectionTimer","kbInputTimer","kbInputLog","bakCurrentPos","forceDropOnTop","isNumber","debugLog","useStringValue","formatString","inUse","_this","typesInUse","getTokenByType","tokensInUse","types","tokens","displayTime","customDisplayTime","apmDisplayText","inputIsEmpty","allValueSelected","columnsSequence","showClearBtn","showDropdownBtn","baseOn12Hours","hourRangeIn24HrFormat","_this2","range","is12hRange","translate12hRange","restrictedHourRange","validHoursList","_this3","am12Index","hr","formatValue","customApmText","apmEnabled","am","pm","minuteRangeList","renderRangeList","secondRangeList","hourLabelText","minuteLabelText","secondLabelText","apmLabelText","inputWidthStyle","tokenRegexBase","tokenChunks","tokensRegxStr","tokensMatchAll","getMatchAllByRegex","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","tkMatch","rawToken","tokenMatchItem","getTokenType","needsCalibrate","return","needsPosCalibrate","chk","tokenChunksPos","_this4","calibrateLen","chunkCurrentLen","invalidValues","isEmptyValue","isValidValue","notInInterval","hasInvalidInput","autoDirectionEnabled","dropdownDirClass","renderFormat","newInteval","readValues","fillValues","toDisabled","checkAcceptingType","validValues","newFormat","_this5","renderHoursList","renderApmList","hoursCount","listType","interval","isMinuteOrSecond","isMinute","readStringValues","readObjectValues","objValue","_this6","sanitizedValue","addFallbackValues","testString","regexString","matchAll","polyfillMatchAll","stringValue","_this7","othersRegxStr","othersMatchAll","chunks","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","isValueToken","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","otMatch","regexCombo","chunk","tokenRegex","getTokenRegex","safeChars","valueResults","vrIndex","targetToken","setValueFromString","tokenChunksForLog","tChunk","targetString","regxStr","matchesList","indicesReg","matchedItem","existIndex","idxItem","regex","itemIndicesRegex","_this8","parsedValue","tokenType","stdValue","forceEmit","apmValue","_this9","baseHour","baseHourType","hourValue","lowerCasedApm","mm","ss","emitTimeValue","toggleActive","valueT","match12hRange","isBasicType","isDisabledHour","section","rawRange","_this10","formatedValue","validItems","forceApmSelection","emptyApmSelection","_this11","setDropdownState","selectionStart","selectionEnd","selectFirstSlot","checkForAutoScroll","toShow","fromUserClick","keepFocusing","checkDropDirection","blurEvent","clearTime","_this12","scrollToSelectedValues","firstColumn","scrollToSelected","allowFallback","targetList","targetValue","activeItemInCol","validItemsInCol","scrollTop","offsetTop","focus","_this13","onFocus","escBlur","inputBox","blur","debounceBlur","_this14","onBlur","columnClass","getClosestSibling","dataKey","getPrevious","siblingsInCol","selfIndex","sbl","prevItem","isManualInput","targetItem","nextItem","getSideColumnName","currentColumn","toLeft","currentColumnIndex","getFirstItemInSideColumn","targetColumn","listItems","getActiveItemInSideColumn","activeItems","toLeftColumn","toRightColumn","onMouseDown","_this15","nearestSlot","getNearestChunkByPos","debounceSetInputSelection","keyDownHandler","evt","isComposing","keyCode","keyboardInput","clearKbInputLog","arrowHandler","tabHandler","onCompostionStart","getCurrentTokenChunk","onCompostionEnd","_this16","cpsData","inputIsCustomApmText","isCustomApmText","setSanitizedValueToSection","bakPos","pasteHandler","pastingText","clipboardData","getData","replaceCustomApmText","setKbInput","debounceClearKbLog","selectFirstValidValue","currentChunk","getClosestValidItemInCol","newChunkPos","toLateralToken","firstChunk","lastChunk","newChar","isApm","_this17","validValue","chunkType","chunkToken","lastInputValue","onChange","autoFillValue","startPos","nearest","nearestDelta","delta","firstSlotType","getClosestHourItem","_this18","currentIndex","setManualHour","inputValue","hourT","_ref","_this19","_ref$start","_ref$end","setInputSelectionRange","setSelectionRange","firstChunkPos","currentChunkIndex","targetSlotPos","inputData","inputString","getElementById","spaceDown","scrollHeight","documentElement","clientHeight","isFinite","testValue","tokenRegexStr","booleanAttr","isTrue","logText","_this20","inputClasses","_typeof","clsName","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","finalLogText","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_cache","$setup","icon","$event","onMousedown","onKeydown","onCompositionstart","onCompositionend","onPaste","clearButton","dropdownButton","onMouseup","onScroll","hIndex","mIndex","sIndex","aIndex","exports","_toConsumableArray","arr2","hasPassiveEvents","passiveTestOptions","passive","isIosDevice","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","lock","rawEvent","touches","setOverflowHidden","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","clientWidth","paddingRight","overflow","restoreOverflowSetting","isTargetElementTotallyScrolled","targetElement","handleScroll","clientY","targetTouches","disableBodyScroll","ontouchstart","ontouchmove","_lock","clearAllBodyScrollLocks","enableBodyScroll","canUseDOM","module","moment","createCommonjsModule","getCjsExportFromNamespace","colorName","conversions","reverseKeywords","convert","channels","labels","hsv","hwb","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","gray","comparativeDistance","rdif","gdif","bdif","diff","diffc","currentClosestKeyword","currentClosestDistance","distance","z","t1","t2","t3","smin","lmin","hi","sl","vmin","wh","bl","ratio","y2","x2","z2","ansi","color","mult","rem","colorString","integer","hue","chroma","mg","buildGraph","graph","models","deriveBFS","fromModel","adjacents","adjacent","wrapConversion","toModel","conversion","route","wrapRaw","wrapRounded","routes","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","abbr","rgba","per","hexAlpha","scale","alpha","hsla","vals","hexDouble","reverseNames","Color","valid","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","spaces","maxes","getValues","capped","chans","sname","svalues","chartjsColor","isValidKey","noop","isNullOrUndef","valueOrDefault","valueAtIndexOrDefault","each","loopable","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","_mergerIf","mergeIf","sources","merger","dst","inherits","extensions","me","ChartElement","Surrogate","__super__","_deprecated","previous","helpers_core","callCallback","getValueOrDefault","getValueAtIndexOrDefault","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","chart","clearRect","roundedRect","radius","moveTo","arc","closePath","drawPoint","rotation","xOffset","yOffset","cornerRadius","rad","save","translate","drawImage","restore","beginPath","lineTo","SQRT1_2","stroke","_isPointInArea","area","epsilon","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","toPadding","_parseFont","globalDefaults","global","fontSize","fontFamily","lineHeight","fontStyle","inputs","cacheable","exports$2","_factorize","log10","exponent","LOG10E","powerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","helpers$1","canvas","math","rtl","overrideTextDirection","getPropertyPriority","prevTextDirection","restoreTextDirection","origin","c0","configuration","initialize","_type","pivot","_view","_model","_start","tooltipPosition","hasValue","core_element","exports$3","currentStep","numSteps","onAnimationProgress","onAnimationComplete","core_animation","animation","onProgress","onComplete","core_animations","addAnimation","animating","cancelAnimation","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","destroy","_data","createMetaDataset","_chart","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","resyncElements","_configure","_config","_cachedDataOpts","easingValue","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","hover","readKey","datasetOpts","custom","elementOptions","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","numMeta","numData","insertElements","onDataPush","onDataPop","onDataShift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","vm","inner","fullCircles","drawBorder","borderAlign","lineWidth","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","_children","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","parseBorderSkipped","edge","borderSkipped","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","border","outer","skipX","skipY","rectangle","element_rectangle","rects","fillRect","Arc","Line","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","computeFlexCategoryTraits","gridLines","offsetGridLines","bar","controller_bar","scaleOpts","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","label","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","center","_getStacks","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","tooltips","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","legend","generateLabels","controller","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","isDatasetVisible","maxWidth","maxHeight","ratioX","ratioY","offsetX","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","resolve$3","angleLines","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","items","core_interaction","modes","single","intersectsItem","filterByPosition","where","sortByWeight","wrapBoxes","boxes","box","layoutBoxes","setLayoutDims","layouts","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","sizes","handleMaxPadding","updatePos","getMargins","marginForPositions","positions","margin","fitBoxes","refit","changed","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","initCanvas","renderHeight","renderWidth","initial","displayWidth","aspectRatio","displayHeight","eventListenerOptions","supports","addListener","removeListener","createEvent","nativeEvent","fromNativeEvent","throttled","ticking","createDiv","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","watchForRender","expando","renderProxy","animationName","reflow","offsetParent","unwatchForRender","addResizeListener","maintainAspectRatio","removeResizeListener","injectCSS","rootNode","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","getRootNode","releaseContext","proxies","addEvent","removeEvent","implementation","plugins","core_plugins","_plugins","_cacheId","unregister","getAll","descriptors","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","combinedBodyLength","bodyItem","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","hasId","positionIsHorizontal","compare2Level","l1","events","onHover","animationDuration","responsive","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","sign","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","niceNum","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","originalEvent","srcElement","boundingRect","clientX","paddingLeft","paddingTop","paddingBottom","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","ch","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","startOf","endOf","_create","override","members","core_adapters","_date","core_ticks","formatters","tickValue","logDelta","tickString","logTick","numExponential","toExponential","numDecimal","toFixed","logarithmic","remain","valueOrDefault$a","sample","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","widths","heights","offsets","widestLabelSize","highestLabelSize","major","minor","valueAt","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","evenMajorSpacing","spacing","getMajorIndices","skipMajors","ceil","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","stepSize","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","day","week","month","quarter","year","UNITS","sorter","arrayUnique","hash","getMin","getMax","buildLookupTable","timestamps","distribution","table","lookup","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","determineUnitForFormatting","determineMajorUnit","timeOpts","unitStepSize","weekday","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","date","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","category","radialLinear","FORMATS","valueOf","amount","filler","propagate","mappers","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","visited","visible","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","cfg","_interopDefaultLegacy","Chart__default","helpers$4","screen","deviceXDPI","logicalXDPI","utils","toTextLines","parseFont","bound","arrayDiff","updates","rasterize","orient","x0","y0","ln","aligned","vx","vy","R_INSIDE","R_LEFT","R_RIGHT","R_BOTTOM","R_TOP","region","clipped","segment","r0","r1","compute$1","clamp","rx","ry","sx","sy","helpers$3","th","tw","tx","ty","getScaleOrigin","getPositioner","drawFrame","bgColor","borderRadius","textGeometry","drawTextLine","shadow","shadowBlur","stroked","strokeText","filled","drawText","strokeColor","textStrokeColor","strokeWidth","textStrokeWidth","textShadowBlur","shadowColor","textShadowColor","Label","_rects","_el","_modelize","positioner","geometry","helpers$2","rotated","projected","dp","toAxis","HitBox","_rotation","_rect","coordinates","vs","collide","collider","s0","$layout","_visible","_box","intersects","compute","h0","_hidable","h1","contains","other","pr0","pr1","_points","axes","prepare","sa","sb","DEFAULT_KEY","datalabels","configs","$context","groups","$groups","dispatchMoveEvents","handleMoveEvents","_labels","_hovered","handleClickEvents","click","invalidate","_actives","_listened","_datasets","afterDatasetUpdate","afterDatasetsDraw","beforeEvent","actives","arrayIsArray","pathNormalize","arraySome","coreLikelySubtags","Cldr","cldr","subtags","language","sep","localeSep","territory","variants","force","coreRemoveLikelySubtags","maxLanguageId","coreSubtags","aux","arrayForEach","bundleLookup","minLanguageId","availableBundleMap","_availableBundleMap","availableBundleMapQueue","_availableBundleMapQueue","bundle","maxBundle","minBundle","objectKeys","createError","validate","check","validatePresence","validateType","validateTypePath","validateTypePlainObject","validateTypeString","resourceGet","coreSetAvailableBundles","json","main","alwaysArray","somethingOrArray","jsonMerge","destination","coreLoad","jsons","itemGetResolved","normalizedPath","init","_alwaysArray","_coreLoad","_createError","_itemGetResolved","_jsonMerge","_pathNormalize","_resourceGet","_validatePresence","_validateType","_validateTypePath","_validateTypePlainObject","unicodeLocaleExtensions","variant","unicodeLocaleExtensionsRaw","EventEmitter","proto","indexOfListener","alias","getListeners","_getEvents","flattenListeners","flatListeners","getListenersAsObject","listenerIsWrapped","addOnceListener","defineEvent","defineEvents","evts","addListeners","manipulateListeners","removeListeners","_events","removeAllListeners","emitEvent","_getOnceReturnValue","setOnceReturnValue","_onceReturnValue","noConflict","originalGlobalValue","superGet","superInit","validateTypeFunction","globalEe","validateTypeEvent","validateThenCall","getOverload","ee","_eventInit","supplementalMain","supplemental","weekData","firstDay","minDays","timeData","preferred","initSuper","bundleParentLookup","_raw","resourceSet","itemLookup","childLocale","installedModules","moduleId","_createClass","defineProperties","Constructor","protoProps","staticProps","_clipboardAction2","_interopRequireDefault","_tinyEmitter2","_goodListener2","Clipboard","_Emitter","TypeError","_classCallCheck","ReferenceError","_possibleConstructorReturn","resolveOptions","listenClick","subClass","superClass","setPrototypeOf","_inherits","action","defaultAction","defaultTarget","defaultText","delegateTarget","clipboardAction","emitter","getAttributeValue","actions","support","queryCommandSupported","suffix","_select","_select2","ClipboardAction","initSelection","selectedText","selectFake","selectTarget","isRTL","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","yPosition","pageYOffset","copyText","succeeded","execCommand","handleResult","clearSelection","getSelection","removeAllRanges","_action","nodeName","isReadOnly","selection","createRange","selectNodeContents","addRange","E","evtArr","liveEvents","delegate","listenNode","nodeList","listenNodeList","listenSelector","closest","_delegate","useCapture","listenerFn","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","tryToString","$TypeError","isConstructor","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","S","unicode","isPrototypeOf","it","Prototype","DataView","fails","NAME","NATIVE_ARRAY_BUFFER","DESCRIPTORS","classof","createNonEnumerableProperty","defineBuiltIn","InternalStateModule","enforceInternalState","enforce","getInternalState","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","isTypedArray","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","KEY","forced","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","isView","uncurryThis","FunctionName","defineBuiltIns","anInstance","toIntegerOrInfinity","toLength","toIndex","IEEE754","arrayFill","arraySlice","setToStringTag","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","setInternalState","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","RangeError","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","intIndex","store","bytes","byteOffset","INCORRECT_ARRAY_BUFFER_NAME","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","lengthOfArrayLike","deletePropertyOrThrow","copyWithin","O","inc","argumentsLength","endPos","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","IS_CONSTRUCTOR","mapfn","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","filterReject","$lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","foo","aCallable","IS_RIGHT","getOwnPropertyDescriptor","SILENT_ON_NON_WRITABLE_LENGTH_SET","fin","mergeSort","comparefn","insertionSort","llength","rlength","lindex","rindex","originalArray","arraySpeciesConstructor","anObject","iteratorClose","ENTRIES","ITERATOR","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","uncurryThisRaw","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","tryGet","isNullOrUndefined","iterate","defineIterator","createIterResultObject","setSpecies","fastKey","internalStateGetterFor","getterFor","getConstructor","CONSTRUCTOR_NAME","ADDER","iterable","AS_ENTRIES","define","getEntry","removed","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","getWeakData","ArrayIterationModule","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","isForced","InternalMetadataModule","checkCorrectnessOfIteration","inheritIfRequired","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","enable","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","MATCH","regexp","error1","F","createPropertyDescriptor","bitmap","toPropertyKey","propertyKey","ordinaryToPrimitive","hint","makeBuiltIn","defineGlobalProperty","simple","nonConfigurable","nonWritable","P","documentAll","all","IS_HTMLDDA","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","documentCreateElement","DOMTokenListPrototype","firefox","IS_DENO","IS_NODE","Deno","UA","Pebble","getBuiltIn","v8","webkit","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","sham","regexpExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","re","uncurriedNativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","doesNotExceedSafeInteger","flattenIntoArray","sourceLen","elementLen","targetIndex","sourceIndex","mapFn","preventExtensions","NATIVE_BIND","FunctionPrototype","$Function","factories","argsLength","partArgs","getDescriptor","uncurryThisWithBind","aFunction","getMethod","Iterators","usingIterator","V","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","captures","namedCaptures","replacement","tailPos","symbols","capture","LN2","mantissaLength","mantissa","exponentLength","eMax","eBias","rt","nBits","Wrapper","NewTarget","NewTargetPrototype","functionToString","inspectSource","hiddenKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","onFreeze","NATIVE_WEAK_MAP","shared","sharedKey","facade","STATE","$documentAll","empty","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","feature","detection","POLYFILL","NATIVE","isInteger","USE_SYMBOL_AS_UID","$Symbol","Result","stopped","ResultPrototype","unboundFunction","iterFn","IS_RECORD","IS_ITERATOR","INTERRUPTED","callFn","innerResult","innerError","IteratorPrototype","returnThis","IteratorConstructor","ENUMERABLE_NEXT","IS_PURE","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","CONFIGURABLE_LENGTH","TEMPLATE","arity","$expm1","expm1","EPSILON32","MAX32","MIN32","fround","$abs","$sign","roundTiesToEven","log1p","trunc","toggle","macrotask","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","domain","exit","characterData","task","PromiseCapability","$$resolve","$$reject","whitespaces","$parseFloat","trimmedString","$parseInt","radix","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","symbol","chr","T","activeXDocument","definePropertiesModule","enumBugKeys","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","contentWindow","Properties","V8_PROTOTYPE_DEFINE_BUG","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","Attributes","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","$propertyIsEnumerable","NASHORN_BUG","WEBKIT","__defineSetter__","aPossiblePrototype","CORRECT_SETTER","TO_ENTRIES","pref","NativePromiseConstructor","IS_BROWSER","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability","promiseCapability","Target","Source","Queue","R","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","sticky","charsAdded","strCopy","multiline","hasIndices","ignoreCase","dotAll","unicodeSets","regExpFlags","$RegExp","MISSED_STICKY","TAG","copyright","license","aConstructor","defaultConstructor","requireObjectCoercible","CONVERT_TO_STRING","codeAt","$repeat","IS_END","maxLength","fillString","fillLen","stringFiller","intMaxLength","stringLength","fillStr","regexNonASCII","regexSeparators","OVERFLOW_ERROR","$RangeError","digitToBasic","digit","adapt","numPoints","firstTime","baseMinusTMin","encode","counter","ucs2decode","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","$trimEnd","forcedStringTrimMethod","trimEnd","$trimStart","trimStart","ltrim","rtrim","SymbolPrototype","TO_PRIMITIVE","NATIVE_SYMBOL","keyFor","$location","channel","port","validateArgumentsLength","setImmediate","clearImmediate","Dispatch","MessageChannel","location","postMessage","port2","port1","importScripts","toPrimitive","prim","BigInt","toPositiveInteger","BYTES","exoticToPrim","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","typedArrayFrom","nativeDefineProperty","nativeGetOwnPropertyDescriptor","fromList","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$length","$len","arrayFromConstructorAndList","typedArraySpeciesConstructor","isBigIntArray","toBigInt","thisIsBigIntArray","speciesConstructor","URL","searchParams","pathname","URLSearchParams","username","passed","required","wrappedWellKnownSymbolModule","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","nativeArrayBufferSlice","viewSource","viewTarget","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","addToUnscopables","$filter","$findIndex","SKIPS_HOLES","$find","flatMap","flat","depthArg","$includes","$indexOf","nativeIndexOf","Arguments","$map","of","$reduce","CHROME_VERSION","nativeReverse","nativeSlice","HAS_SPECIES_SUPPORT","internalSort","FF","IE_OR_EDGE","V8","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","itemsLength","arrayLength","getSortCompare","setArrayLength","deleteCount","insertCount","actualDeleteCount","actualStart","dateToPrimitive","DatePrototype","HAS_INSTANCE","FUNCTION_NAME_EXISTS","nameRE","regExpExec","$stringify","numberToString","tester","low","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","$replacer","fixIllFormed","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","LOG2E","clz32","$cosh","cosh","$hypot","hypot","value1","value2","div","sum","aLen","larg","log2","sinh","tanh","thisNumberValue","NativeNumber","NumberPrototype","toNumeric","primValue","third","maxCode","digits","NumberWrapper","isSafeInteger","nativeToFixed","multiply","divide","dataToString","fractionDigits","fractDigits","__defineGetter__","$entries","$freeze","fromEntries","getOwnPropertyDescriptors","$getOwnPropertySymbols","nativeGetPrototypeOf","$isFrozen","isFrozen","$isSealed","isSealed","nativeKeys","__lookupGetter__","desc","__lookupSetter__","$preventExtensions","$seal","seal","$values","newPromiseCapabilityModule","perform","capability","$promiseResolve","alreadyCalled","real","onRejected","Internal","OwnPromiseCapability","nativeThen","microtask","hostReportErrors","PromiseConstructorDetection","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","isThenable","callReaction","reaction","exited","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","initEvent","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","PromiseWrapper","promiseResolve","onFinally","race","PromiseConstructorWrapper","CHECK_WRAPPER","functionApply","thisArgument","argumentsList","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","objectGetPrototypeOf","isDataDescriptor","objectPreventExtensions","objectSetPrototypeOf","existingDescriptor","ownDescriptor","getRegExpFlags","proxyAccessor","NativeRegExp","stringIndexOf","IS_NCG","CORRECT_NEW","BASE_FORCED","RegExpWrapper","rawFlags","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","named","brackets","ncg","groupid","groupname","handleNCG","handleDotAll","defineBuiltInAccessor","INDICES_SUPPORT","calls","pairs","$toString","nativeToString","NOT_GENERIC","INCORRECT_NAME","codePointAt","notARegExp","correctIsRegExpLogic","nativeEndsWith","CORRECT_IS_REGEXP_LOGIC","searchString","endPosition","search","$fromCodePoint","fromCodePoint","fixRegExpWellKnownSymbolLogic","advanceStringIndex","nativeMatch","maybeCallNative","matcher","fullUnicode","matchStr","$padEnd","padEnd","$padStart","padStart","rawTemplate","literalSegments","getSubstitution","REPLACE","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","UNSAFE_SUBSTITUTE","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","callRegExpExec","$push","SPLIT","nativeSplit","internalSplit","limit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","originalExec","nativeStartsWith","trimLeft","trimRight","$trim","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesExternal","defineSymbolToPrimitive","HIDDEN","QObject","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","IS_OBJECT_PROTOTYPE","useSetter","useSimple","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","thisSymbolValue","symbolDescriptiveString","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","u$ArrayCopyWithin","$every","$fill","actualValue","fromSpeciesAndList","predicate","createTypedArrayConstructor","ArrayIterators","arrayValues","arrayKeys","arrayEntries","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","$join","$reduceRight","$some","ACCEPT_INCORRECT_ARGUMENTS","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","InternalWeakMap","collectionWeak","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","arraySort","getInternalParamsState","URL_SEARCH_PARAMS","safeGetBuiltIn","nativeFetch","NativeRequest","Headers","RequestPrototype","HeadersPrototype","decodeURIComponent","plus","sequences","percentSequence","percentDecode","deserialize","replacements","serialize","URLSearchParamsIterator","URLSearchParamsState","parseObject","parseQuery","bindURL","entryIterator","entryNext","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","append","headersHas","headersSet","wrapRequestOptions","RequestConstructor","Request","getState","EOF","arrayFrom","toASCII","URLSearchParamsModule","getInternalURLState","getInternalSearchParamsState","NativeURL","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","serializeHost","compress","ignore0","ipv6","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","specialSchemes","ftp","file","http","https","ws","wss","isWindowsDriveLetter","startsWithWindowsDriveLetter","isSingleDot","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","URLState","isBase","failure","urlString","stateOverride","codePoints","bufferCodePoints","pointer","seenAt","seenBracket","seenPasswordToken","scheme","password","fragment","cannotBeABaseURL","isSpecial","includesCredentials","codePoint","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","swaps","address","pieceIndex","parseIPv6","partsLength","part","ipv4","parts","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","setHref","getOrigin","URLConstructor","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","getSearchParams","getHash","setHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","defaultOptions","getDefaultOptions","requiredArgs","startOfUTCWeek","dirtyDate","_ref2","_ref3","_options$weekStartsOn","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","weekStartsOn","getUTCDay","setUTCDate","getUTCDate","setUTCHours","toInteger","dirtyNumber","dirtyAmount","setDate","getDate","dayOfMonth","endOfDesiredMonth","setMonth","getMonth","daysInMonth","setFullYear","getFullYear","years","months","weeks","days","dateWithMonths","dateWithDays","minutesToAdd","secondsToAdd","msToAdd","finalDate","getDay","setHours","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","fourthOfJanuary","utcDate","UTC","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","addYears","dirtyInterval","_options$step","startDate","endDate","endTime","dates","currentDate","startOfUTCISOWeek","getUTCISOWeekYear","getUTCFullYear","startOfUTCISOWeekYear","getUTCISOWeek","getUTCWeekYear","_options$firstWeekCon","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","getUTCWeek","targetLength","signedYear","M","getUTCMonth","dayPeriodEnumValue","getUTCHours","H","getUTCMinutes","getUTCSeconds","numberOfDigits","milliseconds","getUTCMilliseconds","dayPeriodEnum","formatTimezoneShort","dirtyDelimiter","absOffset","delimiter","formatTimezoneWithOptionalMinutes","formatTimezone","G","era","ordinalNumber","lightFormatters","Y","signedWeekYear","weekYear","Q","L","I","isoWeek","D","dayOfYear","setUTCMonth","startOfYearTimestamp","difference","getUTCDayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","dayPeriod","K","X","_localize","timezoneOffset","_originalDate","getTimezoneOffset","originalDate","dateLongFormatter","formatLong","timeLongFormatter","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","_ref4","_options$locale2","_options$locale2$opti","_ref5","_ref6","_ref7","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatStr","formatterOptions","firstCharacter","longFormatter","cleanEscapedString","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","getDaysInMonth","monthIndex","lastDayOfMonth","getYear","isAfter","dirtyDateToCompare","dateToCompare","isBefore","isEqual","dirtyLeftDate","dirtyRightDate","dateLeft","dateRight","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","_assertThisInitialized","_defineProperties","_defineProperty","Setter","_utcDate","ValueSetter","_Setter","_super","setValue","priority","subPriority","DateToSystemTimezoneSetter","_Setter2","_super2","_len","timestampIsSet","convertedDate","Parser","dateString","EraParser","_Parser","numericPatterns","timezonePatterns","mapValue","parseFnResult","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","isLeapYearIndex","YearParser","valueCallback","isTwoDigitYear","normalizedTwoDigitYear","LocalWeekYearParser","ISOWeekYearParser","_flags","firstWeekOfYear","ExtendedYearParser","QuarterParser","StandAloneQuarterParser","MonthParser","StandAloneMonthParser","LocalWeekParser","dirtyWeek","setUTCWeek","ISOWeekParser","dirtyISOWeek","setUTCISOWeek","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","DateParser","isLeapYear","DayOfYearParser","setUTCDay","dirtyDay","currentDay","remainder","dayIndex","DayParser","LocalDayParser","wholeWeekDays","StandAloneLocalDayParser","ISODayParser","setUTCISODay","AMPMParser","AMPMMidnightParser","DayPeriodParser","Hour1to12Parser","isPM","Hour0to23Parser","Hour0To11Parser","Hour1To24Parser","MinuteParser","setUTCMinutes","SecondParser","setUTCSeconds","FractionOfSecondParser","setUTCMilliseconds","ISOTimezoneWithZParser","ISOTimezoneParser","TimestampSecondsParser","TimestampMillisecondsParser","parsers","_createForOfIteratorHelper","allowArrayLike","minLen","_arrayLikeToArray","_unsupportedIterableToArray","normalCompletion","didErr","_e2","notWhitespaceRegExp","dirtyDateString","dirtyFormatString","dirtyReferenceDate","subFnOptions","usedTokens","incompatibleTokens","incompatibleToken","usedToken","fullToken","_ret","uniquePrioritySetters","setterArray","parseISO","_options$additionalDi","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","parseTime","timezone","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","timeString","century","isWeekDate","parseDateUnit","_year","validateWeekDate","isoWeekYear","fourthOfJanuaryDay","dayOfISOWeekYear","daysInMonths","validateDate","validateDayOfYearDate","parseTimeUnit","validateTime","timezoneString","_hours","validateTimezone","dirtyMonth","dateWithDesiredMonth","setMinutes","setSeconds","setMilliseconds","dirtyHours","dirtyMilliseconds","dirtyMinutes","dirtySeconds","setYear","dirtyYear","subMonths","dateWithoutMonths","dateWithoutDays","minutestoSub","secondstoSub","mstoSub","subYears","buildFormatLongFn","defaultWidth","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findKey","buildMatchPatternFn","parsePattern","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","tokenValue","addSuffix","comparison","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_baseDate","rem100","narrow","abbreviated","wide","short","midnight","noon","morning","afternoon","evening","night","any","full","long","medium","formatDistance","formatRelative","two","threeToTen","usageGroup","suffixes","declension","rem10","singularNominative","singularGenitive","pluralGenitive","buildLocalizeTokenFn","future","regular","past","isSameUTCWeek","dateLeftStartOfWeek","dateRightStartOfWeek","accusativeWeekdays","thisWeek","baseDate","weekdays","toDate","numberWithSuffix","masculine","feminine","neuter","isNeuter","isFeminine","numberValues","numberToLocale","enNumber","standalone","withPreposition","formattingDayValues","twenty","ordinalName","withPrepositionAgo","withPrepositionIn","dual","translations","about","over","almost","lessthan","withoutSuffixes","xseconds","halfaminute","xminutes","xhours","xdays","xweeks","xmonths","xyears","withSuffixes","adverb","translated","adv","isFuture","_lastWeek","_nextWeek","oneWithSuffix","otherWithSuffix","present","getResultByTense","parentToken","EXCEPTION_CONSONANTS","VOWELS","DIGITS_SPOKEN_N_NEEDED","FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED","isFinalNNeeded","nextWords","firstLetter","firstWord","xseconds_other","xminutes_one","xminutes_other","xhours_one","xhours_other","xdays_one","xdays_other","xweeks_one","xweeks_other","xmonths_one","xmonths_other","xyears_one","xyears_other","translateSeconds","_number","translateSingular","special","_key2","schema","_count","wordMapping","onlyNumeric","twoFour","declensionGroup","adjectivesLastWeek","adjectivesThisWeek","adjectivesNextWeek","dayGrammaticalGender","dayAndTimeWithAdjective","adjectives","adjective","prefixPreposition","preposition","translation","suffixPreposition","extractPreposition","few","tense","getFormFromCount","in","ago","checkWeek","argStr","variable","formatMessage","objectExtend","partsPush","formatMessageToParts","lastOffset","nameIncludingBrackets","partsJoin","runtimeStringify","runtimeKey","stringHash","fnName","argsStr","functionName","runtimeBind","runtimeArgs","generatorString","stringOrArray","validateCldr","skipBoolean","pathRe","validateDefaultLocale","validateParameterPresence","validateParameterRange","minimum","maximum","validateParameterType","validateParameterTypeLocale","validateParameterTypePlainObject","alwaysCldr","localeOrCldr","regexpEscape","stringPad","validateLikelySubtags","Globalize","_formatMessage","_formatMessageToParts","_isPlainObject","_objectExtend","_partsJoin","_partsPush","_regexpEscape","_runtimeBind","_stringPad","_validate","_validateCldr","_validateDefaultLocale","_validateParameterPresence","_validateParameterRange","_validateParameterTypePlainObject","_validateParameterType","numberNumberingSystem","_numberNumberingSystem","numberPattern","_numberPattern","validateParameterTypeNumber","_validateParameterTypeNumber","createErrorPluralModulePresence","validateParameterTypeCurrency","currencyFormatterFn","currencyToPartsFormatter","currencySupplementalOverride","currency","fractionData","_digits","_rounding","objectFilter","testRe","copy","currencyUnitPatterns","currencyNameProperties","displayNames","unitPatterns","regexpNotS","regexpNotSAndZ","currencySymbolProperties","currencySpacing","symbolEntries","symbolForm","symbolEntry","currencyMatch","surroundingMatch","insertBetween","currencyNameFormat","formattedNumber","pluralForm","unitPattern","currencySymbolFormat","currencyToPartsFormatterFn","numberToPartsFormatter","pluralGenerator","objectOmit","validateRequiredCldr","currencyFormatter","returnFn","accounting","plural","currencyParser","formatCurrency","formatCurrencyToParts","parseCurrency","createErrorUnsupportedFeature","_createErrorUnsupportedFeature","looseMatching","_looseMatching","numberNumberingSystemDigitsMap","_numberNumberingSystemDigitsMap","numberSymbol","_numberSymbol","removeLiteralQuotes","_removeLiteralQuotes","validateParameterTypeString","_validateParameterTypeString","validateParameterTypeDate","createErrorInvalidParameterValue","validateSkeletonFieldsPosMap","validateSkeleton","skeleton","fieldsPosMap","invalidField","objectInvert","newObject","dateExpandPatternSimilarFieldsMap","dateExpandPatternNormalizePatternType","character","datePatternRe","stringRepeat","expandBestMatchFormat","skeletonWithoutFractionalSeconds","bestMatchFormat","bestMatchFormatParts","matchedType","matchedLength","requestedType","requestedLength","requestedSkeletonParts","normalizePatternType","dateExpandPatternAugmentFormat","requestedSkeleton","decimalSeparator","countOfFractionalSeconds","fractionalSecondMatch","lastSecondIdx","dateExpandPatternCompareFormats","formatA","formatB","lenA","lenB","typeA","typeB","dateExpandPatternGetBestMatchPattern","askedSkeleton","availableFormats","ratedFormats","augmentFormat","compareFormats","rate","dateExpandPattern","dateSkeleton","timeSkeleton","getBestMatchPattern","combineDateTime","dateWeekDays","dateFirstDayOfWeek","dateGetTimeZoneName","timeZone","metaZone","dateTimezoneHourFormatH","hourFormat","dateTimezoneHourFormatHm","hFormat","runtimeCacheDataBind","dataCacheKey","dateFormatProperties","numberFormatters","timeSeparator","setNumberFormatterPattern","timeZoneData","untils","isdsts","daylightTzName","formatNumber","genericTzName","standardTzName","preferredTime","eras","quarters","dayPeriods","timeZoneName","exemplarCity","gmtFormat","gmtZeroFormat","dateFormatterFn","dateToPartsFormatter","dateParseProperties","preferredTimeData","ZonedDateTime","definePrivateProperty","getUntilsIndex","originalTime","setWrap","offset1","setTime","offset2","local","utcMethod","isDST","inspect","abbrs","dateIsLeapYear","dateLastDayOfMonth","dateStartOf","dateSetDate","lastDay","dateSetMonth","outOfRange","high","dateParse","amPm","daysOfYear","hour12","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","MILLISECONDS","truncateAt","units","dateTokenizer","numberParser","digitsRe","numeric","tokenRe","hourFormatParse","isPositive","oneDigitIfLengthOne","oneOrTwoDigitsIfLengthOne","oneOrTwoDigitsIfLengthOneOrTwo","twoDigitsIfLengthTwo","standardOrDaylightTzName","timeZoneNameRe","hourFormatRe","lexeme","dateParserFn","parseProperties","tokenizerProperties","dateTokenizerProperties","digitsReSource","populateProperties","regexpSourceSomeTerm","terms","dateDayOfWeek","dateDistanceInDays","inDays","dateDayOfYear","dateFieldsMap","dateMillisecondsInDay","dateTimezoneHourFormat","dateFormat","dateField","dateToPartsFormatterFn","optionsHasStyle","validateOptionsPreset","validateOptionsPresetEach","validateOptionsSkeleton","validateRequiredIana","loadTimeZone","customData","dateFormatter","ianaListener","numberFormatter","dateParser","formatDate","formatDateToParts","MessageFormat","propname","jkey","pluralFunc","lc","pluralFuncs","fmt","_parse","peg$subclass","ctor","peg$result","peg$FAILED","peg$startRuleFunctions","peg$parsestart","peg$startRuleFunction","peg$c1","st","statements","peg$c2","peg$c3","peg$c4","peg$c5","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","argIdx","efmt","argumentIndex","elementFormat","peg$c11","peg$c12","peg$c13","peg$c14","peg$c15","peg$c16","peg$c17","peg$c18","peg$c19","op","pf","pluralForms","peg$c20","peg$c21","peg$c22","peg$c23","peg$c24","peg$c25","mfp","peg$c26","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","peg$c37","peg$c38","peg$c39","peg$c40","peg$c41","chars","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","h3","h4","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","peg$c68","peg$currPos","peg$cachedPos","peg$cachedPosDetails","seenCR","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","startRule","peg$computePosDetails","details","peg$fail","peg$buildException","cleanupExpected","buildMessage","stringEscape","expectedDescs","posDetails","peg$parsemessageFormatPattern","peg$parsemessageFormatElement","peg$parsestring","peg$parseoctothorpe","s3","s4","s5","s6","peg$parse_","peg$parseid","peg$parseelementFormat","peg$parsepluralFormatPattern","peg$parseselectFormatPattern","peg$parseargStylePattern","peg$parseoffsetPattern","peg$parsepluralForm","peg$parsedigits","s8","peg$parsepluralKey","peg$parseselectForm","peg$parsechars","peg$parsewhitespace","peg$parsechar","peg$parsehexDigit","plurals","lcfunc","isOrdinal","_stringify","funcStr","_precompile","pf_count","withIntlSupport","needOther","data_copy","lc0","compileMsg","validateMessageBundle","validateMessagePresence","validateMessageType","validateParameterTypeMessageVariables","messageFormatterFn","variables","messageFormatterRuntimeBind","messageformatter","origToString","loadMessages","messageFormatter","numberFormatterFn","nu","numberCompact","compactType","maxExponent","compactKey","numberExponent","numberPatternRe","numberPatternProperties","aux1","aux2","fractionPattern","integerFractionOrSignificantPattern","integerPattern","maximumFractionDigits","maximumSignificantDigits","minimumFractionDigits","minimumIntegerDigits","minimumSignificantDigits","primaryGroupingSize","roundIncrement","scientificNotation","secondaryGroupingSize","significantPattern","_match","minimumSignificantDigitsMatch","maximumSignificantDigitsMatch","numberSymbolName","numberSymbolMap","symbolMap","numberTruncate","numberRound","incrementOrExp","numberFormatProperties","negativePattern","negativePrefix","negativeProperties","negativeSuffix","positivePattern","roundFn","getOptions","propertyIndex","compact","useGrouping","regexpCfG","regexpDashG","regexpZsG","numberParse","grammar","invertedNuDigitsMap","invertedSymbolMap","negative","prefixNSuffix","tokenizeNParse","statement","numberParserFn","numberSymbolInvertedMap","objectMap","pair","numberParseProperties","decimalSymbolRe","groupingSeparatorRe","infinitySymbol","nanSymbol","nuDigitsMap","numberTokenizer","formatProperties","localizedDigit","literal","nan","numberCompactPatternRe","numberFormatGroupingSeparator","currentGroupingSize","switchToSecondary","numberFormatIntegerFractionDigits","numberToPrecision","roundOrder","numberFormatSignificantDigits","atMinimum","atMaximum","numberFormat","compactMap","stringToParts","compactPattern","compactProperties","divisor","numberType","etc","_garbage","numberToPartsFormatterFn","validateDigits","fnArgs","formatNumberToParts","parseNumber","MakePlural","_toArray","cond","noteq","sn","se","t0","_vars","n10","n100","k0","cardinals","ordinals","categories","cardinal","ordinal","buildFunction","_obj","fnToString","req","cases","rules","_rules$r$trim$split","_rules$r$trim$split2","cat","fold","validateParameterTypePluralType","pluralGeneratorFn","relativeTimeFormat","relativeTimeFormatterFn","relativeTimeProperties","formatRelativeTime","relativeTimeFormatter","unitFormat","unitProperties","dividend","dividendProperties","formattedValue","divisorProperties","pluralValue","oneProperty","compoundUnitPattern","unitFormatterFn","unitCategories","stripPluralGarbage","pluralCount","unitGet","formatUnit","unitFormatter","OBJECT","STRING","DEBUG","INFO","WARN","ERROR","FATAL","OFF","baseVal","attrKeyForSavingElementOrigClass","attrKeyForSavingElementOrigStyle","prefixForNewGeneratedClasses","baseClass","classMap","classCount","pseudoClassCount","prefixForNewGeneratedPseudoClasses","pseudoStyles","HTMLImageElement","naturalWidth","naturalHeight","imageFormatForDataUrl","imageQualityForDataUrl","ignoredElms","computedStyleKeyValuePairsOfIgnoredElements","isBody","HTMLTextAreaElement","innerText","shouldHandleImgDataUrl","HTMLCanvasElement","tagsOfSkippedElementsForChildTreeCssHandling","encodeURI","rulesToAddToDocStyle","cssSelectorsOfIgnoredElements","intlTelInput","allCountries","iso2","dialCode","areaCodes","intlTelInputGlobals","getInstance","allowDropdown","autoHideDialCode","autoPlaceholder","customContainer","customPlaceholder","dropdownContainer","excludeCountries","formatOnDisplay","geoIpLookup","hiddenInput","initialCountry","localizedCountries","nationalMode","onlyCountries","placeholderNumberType","preferredCountries","separateDialCode","utilsScript","regionlessNanpNumbers","windowLoaded","forEachProp","forEachInstance","Iti","telInput","activeItem","highlightedItem","customOptions","hadInitialPlaceholder","isMobile","autoCountryPromise","resolveAutoCountryPromise","rejectAutoCountryPromise","utilsScriptPromise","resolveUtilsScriptPromise","rejectUtilsScriptPromise","selectedCountryData","_processCountryData","_generateMarkup","_setInitialState","_initListeners","_initRequests","_processAllCountries","_processCountryCodes","_processPreferredCountries","_translateCountriesByLocale","countries","_countryNameSort","countryCodes","lowerCaseOnlyCountries","country","lowerCaseExcludeCountries","iso","localeCompare","_addCountryCode","countryCode","countryData","_getCountryData","parentClass","_createEl","flagsContainer","selectedFlag","role","selectedFlagInner","selectedDialCode","dropdownArrow","countryList","_appendListItems","dropdown","hiddenInputName","insertAdjacentHTML","_getDialCode","isRegionlessNanp","_isRegionlessNanp","_this$options","_updateFlagFromNumber","_setFlag","defaultCountry","_updateValFromNumber","_initKeyListeners","_initFocusListeners","_initDropdownListeners","_initHiddenInputListener","_handleHiddenInputSubmit","getNumber","_handleLabelClick","_getClosestLabel","_handleClickSelectedFlag","readOnly","_showDropdown","_handleFlagsContainerKeydown","_closeDropdown","intlTelInputUtils","loadUtils","_loadAutoCountry","autoCountry","handleAutoCountry","startedLoadingAutoCountry","_handleKeyupEvent","_triggerCountryChange","_handleClipboardEvent","_handleMousedownFocusEvent","_handleKeypressPlusEvent","_handleFocusEvent","_handleSubmitOrBlurEvent","_removeEmptyDialCode","_getNumeric","_setDropdownPosition","_highlightListItem","_scrollTo","_bindDropdownListeners","_trigger","shouldHaveClass","windowTop","inputTop","dropdownHeight","dropdownFitsBelow","dropdownFitsAbove","_toggleClass","extraTop","_handleWindowScroll","_handleMouseoverCountryList","_getClosestListItem","_handleClickCountryList","_selectListItem","isOpening","_handleClickOffToClose","queryTimer","_handleKeydownOnDropdown","_handleUpDownKey","_handleEnterKey","_searchForCountry","previousElementSibling","nextElementSibling","_startsWith","originalNumber","useNational","_intlTelInputUtils$nu","NATIONAL","INTERNATIONAL","_beforeSetNumber","isNanp","alreadySelected","isNanpAreaCode","areaCode","ignoreOnlyCountriesOption","allowFail","prevCountry","_updatePlaceholder","shouldSetPlaceholder","getExampleNumber","flagChanged","_updateDialCode","containerHeight","containerTop","containerBottom","elementHeight","elementTop","elementBottom","newScrollTop","middleOffset","heightDifference","newDialCodeBare","hasSelectedListItem","newNumber","inputVal","newDialCode","prevDialCode","numericChars","numericVal","normalizedVal","_cap","setCountry","getExtension","_getFullNumber","getNumberType","getValidationError","isValidNumber","originalCountryCode","getCountryData","injectScript","handleSuccess","handleFailure","startedLoadingUtilsScript","iti","_init","aa","execScript","ba","ea","ha","ia","ja","ka","la","ma","oa","ca","na","pa","qa","ra","J","ta","ua","wa","AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","xa","ya","N","U","W","Z","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ha","va","Ua","E164","RFC3966","FIXED_LINE","MOBILE","FIXED_LINE_OR_MOBILE","TOLL_FREE","PREMIUM_RATE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL","UNKNOWN","IS_POSSIBLE","INVALID_COUNTRY_CODE","TOO_SHORT","TOO_LONG","NOT_A_NUMBER","$jQval","validator","data_validation","setValidationValues","ruleName","splitAndTrim","escapeAttributeValue","getModelPrefix","appendModelPrefix","inputElement","replaceAttrValue","parseJSON","removeClass","addClass","appendTo","hide","onErrors","errorList","onSuccess","removeData","onReset","$form","resetForm","validationInfo","onResetProxy","unobtrusive","execInContext","errorClass","errorElement","errorPlacement","invalidHandler","success","attachValidation","parseElement","skipAttach","valInfo","$element","parents","paramValues","$selector","$forms","addBack","adapterName","addBool","addMinMax","minRuleName","maxRuleName","minMaxRuleName","minAttribute","maxAttribute","addSingleVal","addMethod","optional","nonalphamin","extension","fullOtherName","additionalfields","paramName","onsubmit","submitButton","hasClass","cancelSubmit","handle","submitHandler","formSubmitted","currentForm","focusInvalid","command","staticRules","existingRules","isContentEditable","normalizeRule","normalizeRules","classRules","attributeRules","dataRules","remote","expr","pseudos","blank","unchecked","makeArray","pendingClass","validClass","focusCleanup","errorContainer","errorLabelContainer","ignore","ignoreTitle","onfocusin","unhighlight","hideThese","errorsFor","onfocusout","checkable","submitted","onkeyup","which","inArray","invalid","onclick","highlight","findByName","setDefaults","email","dateISO","equalTo","maxlength","minlength","rangelength","autoCreateRanges","labelContainer","errorContext","containers","valueCache","pending","eventType","checkForm","errorMap","triggerHandler","showErrors","prepareForm","currentElements","rs","cleanElement","clean","checkElement","validationTargetFor","prepareElement","testgroup","numberOfInvalids","toHide","errors","successList","grep","defaultShowErrors","hideErrors","removeAttr","objectLength","not","addWrapper","findLastActive","rulesCache","resetInternals","validity","badInput","normalizer","rulesCount","dependencyMismatch","parameters","formatAndAdd","customDataMessage","customMessage","findDefined","defaultMessage","theregex","toToggle","showLabel","validElements","invalidElements","place","errorID","elementID","idOrName","describedBy","insertAfter","escapeCssMeta","describer","getLength","depend","dependTypes","startRequest","stopRequest","old","classRuleSettings","creditcard","addClassRules","classes","normalizeAttributeRule","depends","keepRule","parameter","decimals","supportedTypes","decimalPlaces","toInt","optionDataString","originalMessage","ajax","dataType","pendingRequests","ajaxPrefilter","ajaxSettings","OldCookies","Cookies","api","decode","converter","expires","toUTCString","escape","stringifiedAttributes","cookie","jar","read","getJSON","withConverter","jsSocials","getOrApply","IMG_SRC_REGEX","URL_PARAMS_REGEX","MEASURES","shares","Socials","_$element","_render","shareIn","screenWidth","showCount","smallScreenWidth","largeScreenWidth","resizeTimeout","elementClass","sharesClass","shareClass","shareButtonClass","shareLinkClass","shareLogoClass","shareLabelClass","shareLinkCountClass","shareCountBoxClass","shareCountClass","shareZeroCountClass","_initDefaults","_initShares","_attachWindowResizeCallback","shareConfig","share","_windowResizeHandler","_detachWindowResizeCallback","_resizeTimer","refresh","_clear","_defineOptionsByScreen","_$shares","_renderShares","_screenWidth","_showLabel","_showCount","_renderShare","_createShare","$result","$shareLink","_createShareLink","isInsideCount","$countContainer","_renderShareCount","_getShareStrategy","shareUrl","_getShareUrl","_createShareLogo","_createShareLabel","shareStrategies","_formatShareUrl","logo","$container","$count","_loadCount","deferred","Deferred","countUrl","_getCountUrl","_getCountValue","getCount","_formatNumber","letter","_passOptionToShares","optionName","_normalizeShare","isNumeric","shareOption","methodArgs","methodResult","popup","jQuery","twitter","facebook","share_count","vkontakte","googleplus","linkedin","pinterest","stumbleupon","views","telegram","whatsapp","viber","pocket","messenger","rss","_class","escapeRE","fuzzyLink","fuzzyEmail","fuzzyIP","defaultSchemas","src_auth","src_host_port_strict","src_path","no_http","src_domain","src_domain_root","src_port","src_host_terminator","mailto","src_email_name","src_host_strict","tlds_default","__opts__","tlds","__tlds__","untpl","tpl","src_tlds","onCompile","__tlds_replaced__","src_xn","email_fuzzy","tpl_email_fuzzy","link_fuzzy","tpl_link_fuzzy","link_no_ip_fuzzy","tpl_link_no_ip_fuzzy","host_fuzzy_test","tpl_host_fuzzy_test","aliases","schemaError","__compiled__","__schemas__","compiled","createValidator","slist","schema_test","src_ZPCc","schema_search","schema_at_start","pretest","__index__","__text_cache__","resetScanCache","Match","__last_index__","__schema__","createMatch","LinkifyIt","schemas","definition","ml","tld_pos","testSchemaAt","matchAtStart","keepOld","src_Any","src_Cc","src_Z","src_P","src_ZCc","src_pseudo_letter","src_ip4","src_host","tpl_host_fuzzy","tpl_host_no_ip_fuzzy","tpl_host_fuzzy_strict","tpl_host_port_fuzzy_strict","tpl_host_port_no_ip_fuzzy_strict","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","nativeMax","nativeMin","isObjectLike","isBinary","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","cancel","genTag","reIsHostCtor","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","reIsNative","getNative","nativeCreate","Hash","ListCache","MapCache","assocIndexOf","baseIsNative","isHostObject","toSource","getMapData","__data__","memoize","memoized","Cache","debounce","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","setCacheAdd","setCacheHas","SetCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","iteratee","resIndex","baseTimes","isArguments","isBuffer","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","copyObject","keysIn","arrayEach","assignValue","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","getTag","initCloneArray","initCloneByTag","initCloneObject","cloneableTags","baseClone","bitmask","customizer","isDeep","isFlat","isFull","isFunc","subValue","objectCreate","baseCreate","baseFor","createBaseFor","castPath","toKey","arrayPush","keysFunc","symbolsFunc","getRawTag","symToStringTag","baseGetTag","baseIsEqualDeep","baseIsEqual","equalArrays","equalByTag","equalObjects","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","isMasked","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","isPrototype","nativeKeysIn","isProto","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","assignMergeValue","baseMergeDeep","safeGet","baseMerge","srcIndex","cloneTypedArray","isArrayLikeObject","toPlainObject","mergeFunc","isCommon","isTyped","baseGet","overRest","setToString","nested","constant","baseSetToString","arrayMap","symbolProto","symbolToString","baseToString","trimmedEndIndex","reTrimStart","stringToPath","freeExports","freeModule","Buffer","allocUnsafe","cloneArrayBuffer","dataView","reFlags","symbolValueOf","typedArray","isNew","getSymbols","getSymbolsIn","baseRest","isIterateeCall","assigner","fromRight","customDefaultsMerge","cacheHas","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","mapToArray","setToArray","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","isKeyable","getPrototype","overArg","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","nativeGetSymbols","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","hasFunc","cloneDataView","cloneRegExp","cloneSymbol","reIsUint","isArrayLike","reIsDeepProp","reIsPlainProp","freeProcess","nodeUtil","require","otherArgs","shortOut","nativeNow","lastCalled","stamp","LARGE_ARRAY_SIZE","memoizeCapped","rePropName","reEscapeChar","subString","reWhitespace","mergeWith","defaultsDeep","baseHasIn","hasPath","baseIsArguments","stubFalse","baseIsMap","baseUnary","nodeIsMap","objectCtorString","baseIsSet","nodeIsSet","baseIsTypedArray","nodeIsTypedArray","arrayLikeKeys","baseKeys","baseKeysIn","createAssigner","baseProperty","basePropertyDeep","baseSet","baseTrim","open_tag","close_tag","HTML_TAG_RE","HTML_OPEN_CLOSE_TAG_RE","_hasOwnProperty","isValidEntityCode","surrogate1","surrogate2","UNESCAPE_MD_RE","UNESCAPE_ALL_RE","DIGITAL_ENTITY_TEST_RE","entities","HTML_ESCAPE_TEST_RE","HTML_ESCAPE_REPLACE_RE","HTML_REPLACEMENTS","replaceUnsafeChar","REGEXP_ESCAPE_RE","UNICODE_PUNCT_RE","lib","mdurl","ucmicro","unescapeMd","unescapeAll","escaped","entity","replaceEntityPattern","escapeHtml","arrayReplaceAt","newElements","isSpace","isWhiteSpace","isMdAsciiPunct","isPunctChar","normalizeReference","parseLinkLabel","parseLinkDestination","parseLinkTitle","disableNested","marker","prevPos","labelEnd","posMax","md","skipToken","Renderer","ParserCore","ParserBlock","ParserInline","punycode","zero","commonmark","BAD_PROTO_RE","GOOD_DATA_RE","validateLink","RECODE_HOSTNAME_FOR","normalizeLink","er","normalizeLinkText","toUnicode","defaultChars","MarkdownIt","presetName","core","linkify","presets","enableOnly","rules2","ruler2","ignoreInvalid","chain","missed","disable","env","State","parseInline","inlineMode","renderInline","Ruler","_rules","tokenize","startLine","endLine","getRules","hasEmptyLines","maxNesting","skipEmptyLines","sCount","blkIndent","tight","isEmpty","outTokens","lineMax","Core","_rules2","pushPending","xhtmlOut","breaks","langPrefix","typographer","quotes","default_rules","code_inline","slf","renderAttrs","code_block","fence","highlighted","tmpAttrs","tmpToken","langName","langAttrs","attrIndex","image","renderInlineAsText","renderToken","hardbreak","softbreak","html_block","html_inline","nextToken","needLf","nesting","__rules__","__cache__","__find__","__compile__","chains","altName","at","beforeName","afterName","chainName","adjustTab","lastLineEmpty","nextLine","oldBMarks","oldBSCount","oldIndent","oldParentType","oldSCount","oldTShift","spaceAfterMarker","terminate","terminatorRules","isOutdented","oldLineMax","bMarks","tShift","eMarks","bsCount","parentType","markup","getLines","mem","haveEndMarker","skipChars","skipSpaces","skipSpacesBack","skipCharsBack","cnt","block_names","HTML_SEQUENCES","lineText","skipBulletListMarker","skipOrderedListMarker","contentStart","indentAfterMarker","isOrdered","itemLines","listLines","listTokIdx","markerCharCode","markerValue","oldListIndent","oldTight","posAfterMarker","prevEmptyEnd","isTerminatingParagraph","listIndent","markTightParagraphs","_endLine","destEndPos","destEndLineNo","references","Token","StateBlock","indent_found","ddIndent","keepLastLF","lineIndent","lineStart","getLine","escapedSplit","isEscaped","lastPos","columns","columnCount","aligns","tableLines","tbodyLines","firstCh","secondCh","tok","isLinkClose","currentToken","htmlLinkLevel","fullUrl","urlText","links","blockTokens","NEWLINES_RE","NULL_RE","RARE_RE","SCOPED_ABBR_TEST_RE","SCOPED_ABBR_RE","SCOPED_ABBR","tm","replaceFn","replace_scoped","inlineTokens","inside_autolink","replace_rare","blkIdx","QUOTE_TEST_RE","QUOTE_RE","replaceAt","process_inlines","thisLevel","lastChar","nextChar","isLastPunctChar","isNextPunctChar","isLastWhiteSpace","isNextWhiteSpace","canOpen","canClose","isSingle","openQuote","closeQuote","OUTER","StateCore","EMAIL_RE","AUTOLINK_RE","matchStart","matchEnd","openerLength","closerLength","backticksScanned","backticks","processDelimiters","closerIdx","openerIdx","closer","opener","minOpenerIdx","newMinOpenerIdx","isOddMatch","lastJump","openersBottom","headerIdx","lastTokenIdx","jumps","tokens_meta","postProcess","startDelim","endDelim","isStrong","scanned","scanDelims","can_open","can_close","DIGITAL_RE","NAMED_RE","ESCAPED","origStr","escapedStr","isLetter","linkLevel","labelStart","parseReference","SCHEME_RE","pmax","StateInline","pendingLevel","_prev_delimiters","token_meta","canSplitWord","left_flanking","right_flanking","loneMarkers","isTerminatorChar","attrPush","attrData","attrSet","attrGet","attrJoin","decodeCache","getDecodeCache","seq","b1","b2","b3","b4","componentChars","encodeCache","keepEscaped","nextCode","getEncodeCache","slashes","auth","Url","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","hostlessProtocol","slashedProtocol","slashesDenoteHost","lowerProto","hec","simplePath","atSign","hostEnd","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","qm","defineLocale","monthsShort","weekdaysShort","weekdaysMin","longDateFormat","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","sameElse","relativeTime","hh","dd","yy","dayOfMonthOrdinalParse","dow","doy","word","forms","relativeTimeWithPlural","withoutSuffix","ww","monthsParse","isFormat","longMonthsParse","shortMonthsParse","monthsRegex","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","meridiemParse","meridiem","isLower","maxInt","regexPunycode","stringFromCharCode","mapDomain","ucs2encode","basic","oldi","starWidth","normalFill","ratedFill","numStars","rating","fullStar","halfStar","multiColor","onInit","onSet","starSvg","startColor","endColor","pageX","vendor","RateYo","rateYo","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","regeneratorRuntime","ContinueSentinel","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","isGeneratorFunction","genFun","mark","awrap","__await","defineIteratorMethods","AsyncIterator","innerFn","outerFn","tryLocsList","Context","skipTempReset","sent","_sent","tryEntries","resetTryEntry","rootRecord","completion","rval","dispatchException","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","abrupt","finallyEntry","afterLoc","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","doneResult","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","unwrapped","previousPromise","callInvokeWithMethodAndArg","pushTryEntry","locs","ResizeObserverBoxOptions","resizeObservers","ResizeObserverSize","inlineSize","DOMRectReadOnly","fromRect","isHidden","getBBox","getClientRects","isElement","ownerDocument","scrollRegexp","verticalRegexp","parseDimension","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","cs","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","verticalScrollbarThickness","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","broadcastActiveObservations","shallowestDepth","ro","activeTargets","ot","targetDepth","lastReportedSize","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","queueMicroTask","toggle_1","el_1","watching","observerConfig","subtree","scheduled","Scheduler","schedule","until","elementsHaveResized","updateCount","ResizeObservation","CONTENT_BOX","isReplacedElement","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","ResizeObserverController","firstObservation","unobserve","lastObservation","ResizeObserver","getElementWindow","getElementDocument","cachedScrollbarWidth","cachedDevicePixelRatio","scrollbarWidth","SimpleBar","elWindow","scrollXTicking","scrollX","scrollYTicking","scrollY","isOverflowing","showScrollbar","positionScrollbar","onMouseEnter","onMouseMove","forceVisible","onMouseMoveForAxis","onMouseLeave","onMouseLeaveForAxis","onWindowResize","getScrollbarWidth","hideNativeScrollbar","hideScrollbars","isWithinBounds","scrollbar","classNames","isVisible","onPointerEvent","isWithinTrackXBounds","isWithinTrackYBounds","onDragStart","onTrackClick","drag","draggedAxis","trackSize","sizeAttr","contentSize","contentWrapperEl","scrollSizeAttr","hostSize","elStyles","scrollPos","pageY","offsetAttr","dragOffset","isRtl","getRtlHelpers","isRtlScrollbarInverted","isRtlScrollingInverted","scrollOffsetAttr","onEndDrag","elDocument","dragging","removePreventClickId","preventClick","minScrollbarWidth","offsetSizeAttr","overflowAttr","recalculate","dummyDiv","scrollbarDummyEl","firstElementChild","dummyContainerChild","dummyContainerOffset","getOffset","dummyContainerChildOffset","dummyContainerScrollOffsetAfterScroll","pageXOffset","_proto","initDOM","setAccessibilityAttributes","initListeners","wrapperEl","scrollableNode","contentWrapper","contentEl","contentNode","offsetEl","maskEl","mask","placeholderEl","heightAutoObserverWrapperEl","heightAutoObserverEl","autoHide","ariaLabel","resizeObserverStarted","mutationObserver","isHeightAuto","isWidthAuto","contentElOffsetWidth","contentWrapperElOffsetWidth","elOverflowX","elOverflowY","contentElScrollHeight","contentElScrollWidth","scrollWidth","contentWrapperElOffsetHeight","offsetForXScrollbar","offsetForYScrollbar","getScrollbarSize","toggleTrackVisibility","scrollbarSize","scrollbarRatio","scrollbarMinSize","scrollbarMaxSize","scrollOffset","scrollPourcent","handleOffset","visibility","eventOffset","clickOnTrack","scrollbarOffset","scrolled","scrollSize","scrollTo","_this4$contentWrapper","_this4$contentWrapper2","clickOnTrackSpeed","getContentElement","getScrollElement","unMount","bbox","initDOMLoadedElements","removeObserver","globalObserver","initHtmlApi","handleMutations","doScroll","mutation","addedNodes","addedNode","removedNodes","removedNode","TimeMe","startStopTimes","idleTimeoutMs","currentIdleTimeMs","checkStateRateMs","idle","currentPageName","timeElapsedCallbacks","userLeftCallbacks","userReturnCallbacks","trackTimeOnElement","elementId","startTimer","stopTimer","getTimeOnElementInSeconds","getTimeOnPageInSeconds","pageName","arrayOfTimes","latestStartStopEntry","stopTime","stopAllTimers","pageNames","getTimeOnCurrentPageInSeconds","getTimeOnPageInMilliseconds","getTimeOnCurrentPageInMilliseconds","timeSpentOnPageInSeconds","getTimeOnAllPagesInSeconds","allTimes","timeOnPage","setIdleDurationInSeconds","durationFloat","setCurrentPageName","resetRecordedPageTime","resetAllRecordedPageTimes","resetIdleCountdown","triggerUserHasReturned","callWhenUserLeaves","numberOfTimesToInvoke","callWhenUserReturns","userReturnedCallback","numberTimes","triggerUserHasLeftPage","userHasLeftCallback","callAfterTimeElapsedInSeconds","timeInSeconds","checkState","visibilityChangeEventName","hiddenPropName","listenForVisibilityEvents","mozHidden","msHidden","webkitHidden","setInterval","websocket","websocketHost","setUpWebsocket","websocketOptions","onbeforeunload","sendCurrentTime","appId","sendInitWsRequest","websocketSend","timeOnPageMs","idleTimeoutInSeconds","Any","Cc","Cf","sfc","autoplayTimeout","autoplayHoverPause","autoplayDirection","autoplayInterval","$isServer","pauseAutoplay","startAutoplay","clearInterval","autoplayAdvancePage","restartAutoplay","advancePage","callNow","clickTargetSize","nextLabel","prevLabel","canAdvanceForward","carousel","canAdvanceBackward","triggerPageAdvance","paginationPositionModifierName","paginationPosition","paginationPropertyBasedOnPosition","paginationCount","scrollPerPage","pageCount","slideCount","dotContainerStyle","maxPaginationDotCount","paginationPadding","doublePadding","containerWidth","paginationSize","goToPage","isCurrentDot","currentPage","getDotTitle","getSlides","dotStyle","basicBtnStyle","paginationActiveColor","paginationColor","eachDotsWidth","maxReverse","transformWidth","page","transitionEndNames","onwebkittransitionend","onmoztransitionend","onotransitionend","ontransitionend","getTransitionEnd","Navigation","Pagination","Slide","adjustableHeight","adjustableHeightEasing","centerMode","minSwipeDistance","mouseDrag","touchDrag","navigateTo","navigationClickTargetSize","navigationEnabled","navigationNextLabel","navigationPrevLabel","paginationEnabled","perPage","perPageCustom","resistanceCoef","spacePadding","spacePaddingMaxOffsetFactor","browserWidth","carouselWidth","dragMomentum","dragStartY","dragStartX","isTouch","refreshRate","transitionstart","transitionend","currentHeight","breakpointSlidesPerPage","breakpointArray","breakpoint","maxOffset","currentPerPage","currentOffset","isCenterModeEnabled","slideWidth","isNavigationRequired","transitionStyle","transtion","computeCarouselWidth","onStart","attachMutationObserver","computeCarouselHeight","handleTransitionStart","handleTransitionEnd","goToLastSlide","detachMutationObserver","getBrowserWidth","getNextPage","getPreviousPage","MozMutationObserver","carouselInnerElements","getElementsByClassName","handleNavigation","getCarouselWidth","getCarouselHeight","slideOffset","maxSlideHeight","getSlide","slide","slotNodes","filteredSlots","getSlideCount","advanceType","onDrag","timeStamp","eventPosX","changedTouches","eventPosY","newOffsetX","newOffsetY","nextOffset","lastFullPageOffset","remainderOffset","setCurrentPageInBounds","setPage","activeSlides","isCenter","isAdjustableHeight","onTouchEnd","kindOf","kindOfTest","typeOfTest","isUndefined","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","_global","isContextDefined","isHTMLForm","reduceDescriptors","reducer","reducedDescriptors","ALPHABET","ALPHA_DIGIT","isAsyncFn","isFormData","FormData","isArrayBufferView","isStream","pipe","targetKey","caseless","stripBOM","superConstructor","toFlatObject","sourceObj","destObj","propFilter","forEachEntry","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","AxiosError","captureStackTrace","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","transitional","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","asStrings","accessors","defineAccessor","accessorName","arg1","arg3","buildAccessors","accessor","mapped","headerValue","transformData","isCancel","__CANCEL__","CanceledError","secure","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","urlParsingNode","originURL","resolveURL","requestURL","samplesCount","firstSampleTS","chunkLength","startedAt","bytesCount","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","lengthComputable","progressBytes","estimated","knownAdapters","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","paramsSerializer","onreadystatechange","responseURL","timeoutErrorMessage","withXSRFToken","isURLSameOrigin","xsrfValue","onDownloadProgress","onUploadProgress","upload","parseProtocol","renderReason","isResolvedHandle","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","assertOptions","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","newConfig","getUri","generateHTTPMethod","isForm","CancelToken","resolvePromise","onfulfilled","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","toFormData","Cancel","promises","spread","isAxiosError","formToJSON","getAdapter","_step$value","_slicedToArray","xmlns","Et","$a","wn","bn","Ya","Un","Hn","Za","Wn","$n","Nt","ze","Vn","Ln","En","Le","Pe","cn","pe","Yn","Oe","dn","zn","gt","bt","menuFocused","shiftKeyInMenu","jn","control","setMenuFocused","setShiftKey","vn","Ot","Bt","Dn","nl","xt","Intl","DateTimeFormat","hourCycle","ol","formatToParts","al","ll","rl","mn","Gt","timezoneZ","timezoneHH","timezoneHHMM","yn","An","_unused","cl","il","rn","ul","Kn","Zt","Ie","dateTimePattern","plainTime","YY","YYY","YYYY","YYYYY","DDD","MMDD","Www","WwwD","HH","HHMM","HHMMSS","fl","vl","yl","Cn","xn","pl","Pn","Sn","Xt","hl","gl","Yt","kl","Vt","wl","Ce","Gn","Lt","Nn","Rn","menuAppear","vNext","vPrevious","Pl","toggleOverlay","menu","calendarWrap","calendarDays","openTimePicker","closeTimePicker","incrementValue","decrementValue","openTpOverlay","amPmButton","openYearsOverlay","openMonthsOverlay","nextMonth","prevMonth","Nl","Rl","Il","Bl","times","Ve","ariaLabels","textInputOptions","enterSubmit","tabSubmit","openMenu","rangeSeparator","multiCalendars","previewFormat","transitions","enableSeconds","is24","monthPicker","timePicker","weekPicker","yearPicker","enableTimePicker","$l","hideNavigation","maxDate","minDate","disabledDates","fe","$e","he","disabledWeekDays","allowedDates","ge","ve","yearRange","Ke","xe","dt","Re","ue","ct","hideOffsetDates","classData","checkPartialRangeValue","partialRange","checkRangeEnabled","getZonedDate","getZonedToUtc","Dl","formatLocale","modelAuto","getDefaultPattern","getDefaultStartTime","isValidDate","sanitizeDate","getWeekFromDate","pn","weekStart","matchDate","setDateMonthOrYear","Rt","isValidTime","ignoreTimeValidation","maxTime","minTime","getCalendarDays","sixWeeks","be","validateMonthYearInRange","validateMaxDate","validateMinDate","hideNavigationButtons","monthYear","actionRow","selectionGrid","qt","Tt","Jt","Qt","en","Ne","Ae","Je","preventScroll","buildMatrix","buildMultiLevelMatrix","setTimePickerBackRef","setSelectionGrid","setTimePicker","setTimePickerElements","arrowRight","arrowLeft","arrowUp","arrowDown","clearArrowNav","setMonthPicker","refSets","In","On","Yl","_Ve","internalModelValue","flow","Fe","ae","multiStatic","ne","Fn","multiDates","multiCalendarsSolo","kn","autoApply","multiDatesLimit","He","autoRange","Xe","fixedStart","fixedEnd","le","minRange","maxRange","noDisabledRange","te","ke","de","kt","et","yt","Ht","_callee","_args","$t","Mt","preventMinMaxNavigation","ht","_t","calendars","monthYearSelect","updateTime","disableTimeRangeValidation","we","Ee","getWeekNum","selectDate","updateMonthYear","fromNav","monthChangeOnScroll","getMarker","markers","handleArrow","monthChangeOnArrows","handleSwipe","selectCurrentDate","presetDateRange","Vl","_Ve2","Dt","textInput","utc","modelType","checkBeforeEmit","parseExternalModelValue","formatInputValue","emitModelValue","Ll","_Ve3","handleMonthYearChange","It","El","an","_f$getBoundingClientR","altPosition","inputEl","menuEl","_u2","_u3","autoPosition","_u4","_D$getBoundingClientR2","_f$getBoundingClientR2","openOnTop","menuPosition","setMenuPosition","setInitialPosition","_u","Fl","Ul","lt","Ft","transitionName","showTransition","Qe","closeOnScroll","closeOnAutoApply","teleport","disableMonthYearSelect","menuClassName","dayClass","calendarCellClassName","monthNameFormat","monthYearComponent","timePickerComponent","actionRowComponent","noToday","showNowButton","nowButtonLabel","modeHeight","escClose","spaceConfirm","presetRanges","reverseYears","keepActionRow","arrowNavigation","highlightWeekDays","highlightDisabledDays","teleportCenter","weekNumName","weekNumbers","calendarClassName","noSwipe","dayNames","selectText","cancelText","hideInputIcon","clearable","inputClassName","inlineWithInput","noHoursOverlay","noMinutesOverlay","noSecondsOverlay","hoursGridIncrement","minutesGridIncrement","secondsGridIncrement","hoursIncrement","minutesIncrement","secondsIncrement","onClickOutside","Hl","Wl","zl","jl","Kl","xl","Ue","_objectSpread","isMenuOpen","_Ve4","dp__pointer","dp__disabled","dp__input_readonly","dp__input","dp__input_icon_pad","dp__input_valid","dp__input_invalid","dp__input_focus","dp__input_reg","_f$split2","focusInput","onInput","onTab","onClear","ye","inputmode","oe","onKeypress","Ge","Gl","Zl","Xl","ql","calendarWidth","menuMount","_ref9","_Ve5","dp__action","dp__select","dp__action_disabled","Ye","Te","closePicker","ie","We","Se","De","Jl","Ql","tr","nr","ar","lr","rr","or","sr","mappedDates","specificMode","_ref10","_Ve6","_concat","_l","cmp","dp__calendar_wrap","Cl","dp__marker_dot","dp__marker_line","dp__calendar","dp__calendar_next","screenX","screenY","triggerTransition","qe","ft","dp__active_date","dp__range_start","dp__cell_disabled","onMouseover","_v$getBoundingClientR","onMouseleave","tooltop","ir","tn","_ref12","dp__inner_nav_disabled","ur","cr","dr","fr","wt","multiModelValue","disabledValues","minValue","skipActive","headerRefs","skipButtonRef","_ref13","_Je3","qn","dp__overlay","dp__overlay_col","dp__overlay_cell_active","dp__overlay_cell","dp__overlay_cell_disabled","dp__overlay_cell_active_disabled","dp__overlay_cell_pad","dp__cell_in_between","dp__button","dp__overlay_action","dp__over_action_scroll","dp__button_bottom","dp__overlay_container","dp__container_flex","dp__container_block","focusGrid","overlay","St","Ct","vr","Bn","showSelectionGrid","overlaySlot","_ref14","_Ft","onToggle","Be","_ref15","mr","yr","gr","pr","kr","wr","_ref16","_Ft2","_Ll","_a2","toggleMonthPicker","toggleYearPicker","onActivate","onSetRef","nt","_ref17","Ze","_ref18","Pt","onSelected","_ref19","_ref20","_ref21","br","$r","Dr","Mr","_r","Ar","Tr","closeTimePickerBtn","_ref22","_Je5","_Ft3","dp__time_col","dp__time_col_reg","dp__time_col_reg_with_button","dp__time_col_sec","dp__time_col_sec_with_button","Ml","Sl","openChildCmp","onResetFlow","_ref25","Sr","Cr","Pr","Nr","Rr","_ref26","_Je6","un","_Ve10","_Ft4","toggleTimePicker","onOverlayClosed","Ir","_Ve11","dp__date_hover","dp__range_end","dp__range_between","dp__date_hover_start","dp__date_hover_end","dp__cell_auto_range","dp__cell_auto_range_start","dp__cell_auto_range_end","dp__range_between_week","setHoverDate","clearHoverDate","getDayClassData","_objectSpread2","dp__cell_offset","dp__cell_highlight","dp__cell_highlight_active","dp__today","Or","Br","Yr","Vr","Lr","Er","Fr","_ref27","_jn","_Ve12","monthYearInput","je","_Je7","_Yl","_Ir","Al","vt","Tl","Ut","dp__flex_display","dp__instance_calendar","dp__menu_disabled","dp__menu_readonly","Wt","jt","zt","dp__menu","dp__menu_index","dp__relative","hn","At","dp__menu_content_wrapper","onMount","onUpdateMonthYear","onMonthYearSelect","Xn","Kt","onSelectDate","onHandleSpace","gn","onSetHoverDate","onHandleScroll","onHandleSwipe","onClosePicker","onInvalidSelect","Ur","nn","Wr","Jn","Qn","Hr","jr","_ref29","_jn2","_Ve13","_El","_Vl","dp__main","dp__theme_dark","dp__theme_light","dp__flex_display_with_input","_t$window","_t$event","composedPath","zr","closeMenu","clearValue","updateInternalModelValue","setMonthYear","onOpen","onSetInputDate","onSetEmptyDate","onClose","onAutoApply","onTimeUpdate","onFlowStep","onRecalculatePosition","Zn","Kr","_ref30","_ref31"],"sourceRoot":""}